Você está na página 1de 3

Curso de Tecnologia em Sistemas de Computação

Disciplina: Estrutura de Dados e Algoritmos


APX1 - Segundo Semestre de 2020

Nome -
Assinatura -

Observações:

1. Use caneta para preencher o seu nome e assinar nas folhas de questões
e nas folhas de respostas.

2. A prova pode ser feita à mão ou digitada.

3. Todas as respostas devem ser transcritas nas folhas de respostas. As


respostas nas folhas de questões não serão corrigidas.

4. A entrega da prova deve ser feita da mesma forma adotada para entrega
das ADs.

1
1. (2,0) Escreva as seguintes funções em notação O:
n2 − 5; n3 − 2 log n; 2nn + 2n ; n! + 10n ; 81

2. Considere as seguintes estruturas de dados:

- Lista sequencial não ordenada


- Lista sequencial ordenada (crescentemente)
- Lista encadeada não ordenada
- Lista encadeada ordenada (crescentemente)

Para cada operação a seguir, diga qual (ou quais) das estruturas acima
é (são) a(s) mais eficiente(s) para aquela operação. Justifique.

(a) (1,0) Remoção do menor elemento (desconsiderando o tempo da


busca)
(b) (1,0) Inserção de um elemento qualquer (desconsiderando o tempo
da busca)
(c) (1,0) Busca de um elemento qualquer

3. (2,5) Dado um vetor contendo os números 74, 23, 83, 8, 2, 41, 19, nesta
ordem, desenhe todas as trocas de elementos que o método de ordenação
por seleção efetua. Exemplo: se as trocas fossem “2 por 74”, “8 por
23”etc., você desenharia a seguinte sequência de vetores:

2, 23, 83, 8, 74, 41, 19


2, 8, 83, 23, 74, 41, 19
etc.

4. (2,5) O algoritmo a seguir remove todas as ocorrências de nós contendo


a informação x da lista simplesmente encadeada L. (Obviamente, a
lista L pode conter nós com informação repetida.) Complete o algo-
ritmo com os comandos que faltam, para que a lista resultante tenha o
encadeamento correto.

2
procedimento remover(L, x)
ant := L
pont := ant ↑ .prox
enquanto pont 6= λ faça
se pont ↑ .inf o = x então
ant ↑ .prox := pont ↑ .prox
desocupar(pont)

——————————
senão

——————————
pont := pont ↑ .prox

Você também pode gostar