Questões de Algoritmos de Busca (Algoritmos e Estrutura de Dados)

Limpar Busca

Considere o código de uma árvore implementado na linguagem Javascript, descrito a seguir:

class TreeNode {         constructor(value) {                 this.value = value;                 this.children = [];         }         addChild(child) {                 this.children.push(child); } } class Tree {         constructor(value) {                 this.root = new TreeNode(value); }
        compute(value) {                 if (!this.root) return null;                 const queue = [this.root];                 while (queue.length > 0) {                         const current = queue.shift();                         if (current.value === value) {                         return current;                         }                         for (const child of current.children) {                         queue.push(child);                         }                 }                 return null;         } }

O método compute do código é conhecido pelo acrônimo em inglês:

  • A DFS - Depth-First Search.
  • B BFS - Breadth-First Search.
  • C DAS - Directed Acyclic Search.
  • D MST - Minimum Spanning Tree.
  • E MBM - Maximum Bipartite Matching.

O analista Jon está ministrando um treinamento sobre algoritmos de busca e, durante a explicação sobre a busca binária em uma lista ordenada de n elementos, ele discute a eficiência desse algoritmo.
A complexidade de tempo correta que Jon deve apresentar para a busca binária é a de:

  • A O(n);
  • B O(n log n);
  • C O(log n);
  • D O(n^2);
  • E O(1).

Considerando uma tabela Hash com uma boa função de Hash e carga balanceada, qual é a complexidade de tempo médio para a operação de busca?

  • A O(1).
  • B O(n).
  • C O(log n).
  • D O(n log n).

Relacione os algoritmos de otimização utilizados em assimilação de dados variacional com suas respectivas características correspondentes.

1. Método de Newton
2. Broyden-Fletcher-Goldfarb-Shanno (BFGS)
3. Gradiente Conjugado
( ) Determina pontos cada vez mais próximos das soluções dos problemas de otimização mudando a direção de busca a cada iteração.
( ) Requer o cálculo das expressões fechadas dos gradientes e matrizes Hessianas a cada iteração.
( ) Utiliza aproximações de matrizes Hessianas e suas inversas para reduzir a carga computacional a cada iteração.

Assinale a opção que indica a relação correta, segundo a ordem apresentada.

  • A 3 – 1 – 2.
  • B 1 – 2 – 3.
  • C 2 – 1 – 3.
  • D 3 – 2 – 1.
  • E 2 – 3 – 1.

Acerca de estrutura de dados e algoritmos, julgue o item a seguir.


Os algoritmos de Dijkstra e de Bellman-Ford resolvem o problema de caminhos mais curtos de única origem. Enquanto este aceita arestas de pesos negativos, aquele aceita somente arestas não negativas.

  • Certo
  • Errado