Você está na página 1de 1

Universidade Estadual do Ceará

Estruturas de Dados I
Prof. Marcos Negreiros
Semestre: 2022/I - II NPC – 07/12/2022 (Prova INDIVIDUAL – Digital ou Escrita)
Tempo máximo de Prova: 2h

Nota :_________________

Aluno(a):_________________________________- Matrícula:___________________

Parte IV: Programação Direta e Recursiva (3 ptos)

1. Escreva um algoritmo recursivo que permita construir uma régua com divisões de 0,25cm, 0,5cm, 0,75cm e
1,00cm. A régua deve possuir tamanho de 10cm. Qual é o tipo desta recursividade? (1 pto)

2. Escreva um algoritmo recursivo e outro não recursivo que resolva o problema de Lucas (“problema de
inversão de posição dos pinos enfileirados de mesma cor”), para um dado n1, onde n é o número de pinos
de mesma cor, e n*. (2 ptos)

Parte V: Pilhas e Filas (3 ptos)

1. [CALCULADORA POLONEZA] Implemente uma calculadora pós-fixada (notação Poloneza) usando


pilhas. Considere as operações de soma, subtração, multiplicação, divisão e potenciação com parênteses.
Mostre o seu funcionamento para a expressão: (5*6)/2+(45*4-(18*3)^2)/3. (1 pto)

2. Por quê Pilhas e Filas têm que ser implementadas como vetores estáticos? Se não for, qual a alternativa e
qual o preço que se paga por isto? (1 pto)

3. Apresente uma implementação em pseudo-código universal dos métodos de inserção e deleção de uma fila
circular de tamanho 50. Considere também a estrutura básica de dados da Fila (1 pto)

Parte VI : Listas (4 ptos)

4. Considera uma estrutura de dados de um vetor dinâmico de listas duplamente encadeadas circulares
dinâmicas
a. Qual sua estrutura básica de dados? (0.5 pto)
b. Como você faria um diagrama esquemático da estrutura e dos seus métodos em um CAD? (0.5 pto)
c. Quais as vantagens e desvantagens desta representação? (0.5 pto)
d. Qual o custo em memória para esta representação? (0.5 pto)

5. Considerando que se deseja usar o método radix-sort sobre um conjunto de dados em um arquivo texto no
formato alfanumérico, cujo único campo tem tamanho máximo desconhecido, descreva em pseudo-código
universal um procedimento radix que devolve um conjunto S ordenado. Gere também um exemplo
apresentando as três primeiras iterações com a sequência de dados S=(37, 41, 44, 59, 37, 26, 131, 145, 56,
54, 513, 31, -12, -21, 28, 82). (1 pto)

6. Da questão anterior,
a. Quê tipo de estrutura de lista você utilizou no método acima? (Apresente a estrutura de dados básica
completa utilizada.) (0.25 pto)
b. Quanto de memória você gastou para resolver a ordenação de S? (0.25 pto)
c. Supondo que sua estrutura ordenasse os elementos do conjunto de entrada em cada célula do radix,
qual o resultado disto? (0.25 pto)
d. Supondo que sua estrutura incluísse os elementos um a um ao final de cada célula do radix em cada
iteração radix, qual seria o resultado do processo? (0.25 pto)

Boa Prova!

Você também pode gostar