Você está na página 1de 1

ALGORÍTMOS E ESTRUTURAS DE DADOS

LISTA DE EXERCÍCIOS I

1. Crie um programa que permita somar os elementos de um vetor de 20 múmeros


inteiros informados pelo usuário, utilizando recursisvidade.
2. Crie um programa que receba um número inteiro positivo N e calcule o somatório
dos números de 1 a N, utilizando recursisvidade.
3. Crie um programa que receba do usuário a quantidade de discos a ser movido na
Torre de Hanói e, ao final, imprima os movimentos realizados entre os pinos para
moveer todos os discos até o último pino. Todas as regras de movimentação devem
ser respeitadas.
a. Só é possível mover um disco de cada vez
b. Um disco maior não pode ficar sobre um disco menor
4. Crie um programa que possua uma função recursiva que receba uma palavra sem
letras repetidas e imprima todos os anagramas possíveis com esta palavra. Para gerar
os anagramas, realize permutação entre as letras.
5. Crie um programa que possua uma função para calcular o resultado de Nn utilizando
multiplicações sucessivas. Após criar o programa, calcule a complexidade do pior
caso do programa gerado utilizando notação O.
6. Dois algoritmos A e B possuem complexidade 200n2 e 5n3 respectivamente. Qual dos
algoritmos tem o melhor tempo de execução? Justifique a sua resposta.
7. Escreva um programa que receba uma string e informe se esta string é um
palíndromo. Um palíndromo é uma string que é lida da mesma maneira da esquerda
para a direita e da direita para a esquerda. Após criar o programa, calcule a
complexidade do pior caso do programa gerado utilizando notação O.
8. Escreva um programa que possua uma função recursiva para calcular a multiplicação
entre dois números naturais informados pelo usuário.
9. Escreva todos os passos para ordenar a lista abaixo usando cada um dos algoritmos.
a. BubleSort
b. QuickSort
c. MergeSort
d. SelectionSort
Lista = [33,8,4,1,12,5,22]
10. Crie ujm programa que gerencie a fila de reservas de datashow da secretaria
acadêmica. O profissional da secretaria deve ter as opções de adicionar o nome de um
professor da fila, remover um professor da fila para ele uilizar o datashow, imprimir a
fila e encerrar o atendimento do dia (esta opção encerra o programa). Cada opção do
menu deve ser implementada em uma função específica.
11. Crie ujm programa que gerencie a pilha de documentos da secretaria acadêmica. O
profissional da secretaria deve ter as opções de adicionar um documento à pilha,
remover um documento da pilha, imprimir a pílha e encerrar o programa. Cada opção
do menu deve ser implementada em uma função específica.
12. Crie um pograma que permita ao usuário adicionar os nomes de seus convidados em
uma lista. O programa deve oferecer as opções de adicionar um nome, remover um
nome da lista, imprimir a lista de convidados e encerrar o programa. Cada opção do
menu deve ser implementada em uma função específica. Toda vez que um nome for
inserido na lista na posição que o usuário indicar e os elementos devem ser
deslocados para acomodar o novo elemento. O mesmo cuidado deve ser feito durante
a remoção.