Escolar Documentos
Profissional Documentos
Cultura Documentos
2 Lista de Exercícios
2 Lista de Exercícios
2ª LISTA DE EXERCÍCIOS
b) Indique no código onde e como ele deveria ser alterado para que a função calcule
também o número de comparações realizadas.
2. Indique quais das seguintes afirmações estão corretas em relação à busca sequencial:
4. Complete o código abaixo para que dentro do método busca seja realizada uma busca
sequencial no arranjo v[ ] passado como parâmetro:
5. Desenhar um arranjo com 10 números aleatórios entre 1 e 50.
b) Redesenhar este arranjo várias vezes indicando onde estaria o elemento a[i] em cada
passo de uma busca sequencial
c) Redesenhar este arranjo várias vezes indicando onde estariam os elementos a[i], a[esq]
e a[dir] em cada passo de uma busca binária
a) Seleção
b) Inserção
9. Responda:
( ) Seleção
( ) QuickSort e MergeSort são igualmente rápidos
( ) Inserção
( ) MergeSort
( ) QuickSort
14. "É um método que utiliza uma técnica de dividir para conquistar. É um algoritmo
onde a cada passo, se divide o arranjo em dois subarranjos menores até que tenhamos vários
arranjos de tamanho 1. Então, iniciamos uma repetição onde, dois subarranjos são fundidos
em um subarranjo maior ordenado até que tenhamos o arranjo original ordenado."
Essa frase se refere a qual tipo de ordenação?
( ) MergeSort
( ) Ordenação por seleção
( ) QuickSort
( ) Ordenação por inserção
Caso Custo
Melhor caso O(n log n)
Caso médio O(n log n)
Pior caso O(n²)
( ) O deque precisa deslocar os elementos para que seja possível remover elementos do
início
( ) A inserção de um elemento no início da sequência possui custo O(1)
( ) A inserção de um elemento no meio da sequência possui custo O(n)
20. Explique qual será a saída na tela para os trechos de código abaixo e quais serão os
elementos do container ao fim do processo.
list<char> col;
for (char c='a'; c<= 'z '; c++) {
col.push_back(c);
}
while (!col.empty()) {
cout << col.front() << ' ';
col.pop_front();
}
23. Qual a diferença entre as estruturas associativas do tipo set* ( set, unordered set,
multiset e unordered multiset) e estruturas associativas do tipo map*( map,unordered map,
multimap e unordered multimap)? Existe alguma diferença entre elas em relação a suas
ordens de complexidade em notação O ? Seria possível utilizar um set para representar um
map?
24. Explique qual seria a saída na tela para os trechos de código abaixo e quais serão os
elementos do container ao fim do processo.
25. Considerando a relação A= 1; B= 2; C= 3;... converta as dez primeiras letras de seu
nome em um vetor de números.
A B C D EFG H I J K L M N O P Q R S T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
26. Desenhe passo a passo como seria a representação interna estruturas abixo. Suponha
que conteiners baseados em arranjos comecem com capacidade para 4 elementos:
27. Desenhe passo a passo como seria a representação interna das estruturas abaixo.
Suponha uma árvore não balanceada para o set e tabelas hash de tamanho 5 para o o
unordered_set.
set<int> c; unordered_set<int> c;
c.insert(4); c.insert(4);
c.insert(6); c.insert(6);
c.insert(2); c.insert(2);
c.insert(7); c.insert(7);
c.insert(5); c.insert(5);
c.erase(2); c.erase(2);