Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Lista de programação e algoritmos, Exercícios de Algoritmos e Programação

Lista de exercícios de programação e algoritmos

Tipologia: Exercícios

2023

Compartilhado em 08/09/2024

Fer_ddd
Fer_ddd 🇧🇷

3 documentos

1 / 1

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Lista de exercícios 1
Complexidade de Algoritmos e Algoritmos de Ordenação
1. Faça uma função que recebe como entrada uma matriz contendo duas colunas, a função retorna duas
listas, uma possuindo os valores na primeira coluna e outra possuindo os valores da segunda coluna.
2. Faça uma função que recebe como entrada uma matriz contendo duas colunas, a primeira coluna possui o
nome de um conjunto de pessoas e a segunda coluna a respectiva idade. A função retorna uma nova matriz
na qual as linhas estão ordenadas de acordo com as idades das pessoas. Proibido utilizar as funções sorted
e sort do Python! Você deve utilizar a lógica do algoritmo insertion sort na solução.
3. Faça uma função que recebe como entrada uma lista e retorna uma nova lista contendo a soma acumulada
dos valores dessa lista, ou seja, o elemento i da lista de saída é dado pela soma dos elementos 0 a i da lista
de entrada. Por exemplo, para a lista [5, 2, 4, 1 ,3, 2, 4] a lista retornada é [5, 7, 11, 12, 15, 17, 21]. A sua
função deve ter complexidade O(n).
4. Faça uma função que recebe como entrada duas listas de valores inteiros. A função verifica se as duas listas
possuem exatamente os mesmos elementos. Por exemplo, as listas [2, 6, 4, 8, 10, 3] e [10, 3, 2, 4, 6, 8]
possuem os mesmos elementos. Sua função deve ter complexidade de no máximo O(nlog(n)).
5. Em Python, podemos comparar dois caracteres para verificar a ordem que eles aparecem no alfabeto. Por
exemplo, ‘a’<’d’ retorna True. Faça uma função que recebe como entrada duas strings e retorna essas duas
strings ordenadas em ordem alfabética. Considere que as strings possuem somente letras do alfabeto
minúsculas e não possuem espaços. Adicionalmente, considere que duas strings com caracteres iguais
serão ordenadas em ordem crescente de tamanho. Por exemplo, “casa” é inserido antes de “casar”. Você
não pode utilizar funções prontas de ordenação do Python, e apenas caracteres individuais das strings
podem ser comparados (não a string toda).
* Dica: a string pode ser representada por uma lista na qual cada elemento é um caractere da string.
6. Faça uma função que recebe como entrada uma matriz contendo um número qualquer de colunas e um
índice c indicando uma coluna específica dessa matriz. A função retorna uma nova matriz na qual as linhas
estão ordenadas em ordem crescente da coluna c. Proibido utilizar as funções sorted e sort do Python!
Você deve utilizar a lógica do algoritmo insertion sort na solução.

Pré-visualização parcial do texto

Baixe Lista de programação e algoritmos e outras Exercícios em PDF para Algoritmos e Programação, somente na Docsity!

Lista de exercícios 1 Complexidade de Algoritmos e Algoritmos de Ordenação

  1. Faça uma função que recebe como entrada uma matriz contendo duas colunas, a função retorna duas listas, uma possuindo os valores na primeira coluna e outra possuindo os valores da segunda coluna.
  2. Faça uma função que recebe como entrada uma matriz contendo duas colunas, a primeira coluna possui o nome de um conjunto de pessoas e a segunda coluna a respectiva idade. A função retorna uma nova matriz na qual as linhas estão ordenadas de acordo com as idades das pessoas. Proibido utilizar as funções sorted e sort do Python! Você deve utilizar a lógica do algoritmo insertion sort na solução.
  3. Faça uma função que recebe como entrada uma lista e retorna uma nova lista contendo a soma acumulada dos valores dessa lista, ou seja, o elemento i da lista de saída é dado pela soma dos elementos 0 a i da lista de entrada. Por exemplo, para a lista [5, 2, 4, 1 ,3, 2, 4] a lista retornada é [5, 7, 11, 12, 15, 17, 21]. A sua função deve ter complexidade O(n).
  4. Faça uma função que recebe como entrada duas listas de valores inteiros. A função verifica se as duas listas possuem exatamente os mesmos elementos. Por exemplo, as listas [2, 6, 4, 8, 10, 3] e [10, 3, 2, 4, 6, 8] possuem os mesmos elementos. Sua função deve ter complexidade de no máximo O(nlog(n)).
  5. Em Python, podemos comparar dois caracteres para verificar a ordem que eles aparecem no alfabeto. Por exemplo, ‘a’<’d’ retorna True. Faça uma função que recebe como entrada duas strings e retorna essas duas strings ordenadas em ordem alfabética. Considere que as strings possuem somente letras do alfabeto minúsculas e não possuem espaços. Adicionalmente, considere que duas strings com caracteres iguais serão ordenadas em ordem crescente de tamanho. Por exemplo, “casa” é inserido antes de “casar”. Você não pode utilizar funções prontas de ordenação do Python, e apenas caracteres individuais das strings podem ser comparados (não a string toda).
  • Dica: a string pode ser representada por uma lista na qual cada elemento é um caractere da string.
  1. Faça uma função que recebe como entrada uma matriz contendo um número qualquer de colunas e um índice c indicando uma coluna específica dessa matriz. A função retorna uma nova matriz na qual as linhas estão ordenadas em ordem crescente da coluna c. Proibido utilizar as funções sorted e sort do Python! Você deve utilizar a lógica do algoritmo insertion sort na solução.