Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.518 questões
Sobre análise de complexidade e algoritmos de ordenação, analise as assertivas a seguir:
I. A notação O (big-O) define um limite superior assintótico: f(n) = O(g(n)) se, e somente se, existem constantes c > 0 e n₀ ≥ 1 tais que 0 ≤ f(n) ≤ c·g(n) para todo n ≥ n₀.
II. O Merge Sort apresenta complexidade Θ(n log n) no pior, no melhor e no caso médio, mantendo esse desempenho independentemente da distribuição de entrada.
III. O algoritmo Quick Sort com estratégia de pivô aleatório (randomized quicksort) possui complexidade Θ(n log n) no pior caso, eliminando completamente a possibilidade de comportamento quadrático.
IV. Se um algoritmo tem complexidade O(n²), então ele também tem complexidade O(n³), pois toda função limitada superiormente por c·n² também é limitada superiormente por c·n³ para n suficientemente grande.
Quais estão corretas?
I.Um algoritmo pode ser entendido como uma sequência organizada de passos destinada a resolver um problema ou executar uma tarefa computacional, podendo ser descrito por diferentes representações, como linguagem natural estruturada, pseudocódigo ou fluxogramas.
II.Fluxogramas utilizam símbolos gráficos padronizados para representar operações, decisões e fluxos de controle, permitindo visualizar a lógica de execução de um processo antes ou durante sua implementação em código.
III.O processo de depuração envolve a análise do comportamento de um programa ou algoritmo com o objetivo de localizar e corrigir falhas lógicas ou erros de implementação que afetam o resultado esperado.
IV.Em algoritmos estruturados, estruturas de decisão e repetição são utilizadas para controlar o fluxo de execução, permitindo que determinadas instruções sejam executadas de acordo com condições previamente avaliadas.
V.A etapa de depuração consiste apenas na tradução direta do algoritmo para uma linguagem de programação específica, sem envolver análise do comportamento do programa durante sua execução.
Com base nas afirmativas apresentadas, assinale a alternativa CORRETA:
Analise as afirmativas a seguir com base em suas propriedades formais de complexidade, estabilidade e uso de memória na implementação tradicional apresentada na literatura clássica.
I. O Insertion Sort possui complexidade de tempo O(n²) no pior caso e pode apresentar complexidade O(n) no melhor caso, quando o vetor já se encontra ordenado.
II. O Merge Sort apresenta complexidade O(n log n) nos casos melhor, médio e pior, é estável e, em sua implementação tradicional, requer espaço adicional proporcional a O(n).
III. O Quick Sort apresenta complexidade média O(n log n) e pior caso O(n²), podendo este ocorrer quando o pivô escolhido produz partições altamente desbalanceadas.
IV. O Selection Sort possui complexidade O(n²) nos casos melhor, médio e pior e, em sua implementação tradicional, não é considerado um algoritmo estável.
Assinale a alternativa CORRETA:
Uma equipe de desenvolvimento está revisando trechos de código de um sistema interno responsável pelo controle de requisições administrativas. Durante a análise técnica, foram discutidos aspectos relacionados à construção de algoritmos, estrutura de decisão, repetição, modularização e análise de complexidade.
Com base em fundamentos de desenvolvimento de sistemas e lógica de programação, analise as assertivas a seguir e assinale V (verdadeiro) ou F (falso):
(__) Um algoritmo pode ser descrito em linguagem natural estruturada, pseudocódigo ou fluxograma, desde que represente uma sequência finita e ordenada de passos para resolução de um problema.
(__) A utilização de estruturas de repetição, como "para" ou "enquanto", elimina a necessidade de estruturas condicionais dentro do mesmo bloco lógico.
(__) A modularização de um sistema tende a favorecer manutenção e reutilização de código, especialmente quando há definição clara de responsabilidades entre funções ou métodos.
(__) Um algoritmo cuja complexidade de tempo é O(n²), quando o número de operações executadas cresce proporcionalmente a n2, necessariamente apresentará desempenho inadequado para qualquer volume de dados.
(__) Na lógica de programação, variáveis são utilizadas para armazenar valores que podem ser modificados durante a execução do algoritmo.
(__) A validação de entradas de dados contribui para reduzir falhas decorrentes de estados inesperados no fluxo de execução.
Assinale a alternativa que possui a sequência correta de V (verdadeiro) e F (falso) de cima para baixo:
1. “O algoritmo __________ percorre repetidamente o vetor, comparando elementos adjacentes e realizando trocas sempre que eles se encontram fora de ordem, até que nenhuma troca adicional seja necessária.”
2. “No método __________, cada novo elemento é inserido na posição adequada dentro da porção já ordenada do vetor, promovendo deslocamentos sucessivos dos elementos maiores.”
3. “O algoritmo __________ caracteriza-se por selecionar, a cada iteração, o menor elemento da região ainda não ordenada e posicioná-lo no início dessa região.”
4. “A técnica conhecida como __________ baseia-se na escolha de um elemento de referência, a partir do qual os demais elementos são reorganizados em dois grupos, menores e maiores, repetindo-se o processo nas subdivisões resultantes.”
5. “O procedimento __________ divide o vetor em partes menores, ordena essas partes separadamente e, em seguida, combina os resultados em uma única sequência ordenada.”
Assinale a alternativa que completa, corretamente, as afirmativas anteriores.
I. O cálculo de rota mais curta em redes complexas utiliza predominantemente o algoritmo de Dijkstra ou suas variações, como o A* (A-star).
II. Em aplicações logísticas, o geoprocessamento elimina completamente a necessidade de dados históricos de tráfego, pois os algoritmos de roteamento utilizam apenas a distância geométrica entre os pontos de origem e destino.
III. A análise de "Isócronas" permite visualizar em um mapa todas as áreas que podem ser alcançadas a partir de um ponto em um determinado intervalo de tempo (ex.: 15 minutos).
A sequência correta é
função buscaBinaria(vetor [], valor) inferior ← 0 superior ← N - 1 enquanto inferior <= superior { comando faltante se vetor[índice] == valor retornar índice senão se vetor[índice] < valor inferior ← índice + 1 senão superior ← índice - 1 } retornar -1
O algoritmo trabalha com valores do tipo inteiro e o vetor tem N elementos ordenados de forma crescente, com o índice do primeiro elemento sendo zero. O algoritmo retorna o valor do índice do vetor que contém o valor pesquisado, ou retorna -1, se o valor não for encontrado no vetor. Qual linha deve substituir o comando faltante no algoritmo para que ele implemente corretamente a busca binária?
Assinale a alternativa que descreve corretamente esses dois conceitos.
Assinale a afirmativa que compara corretamente a eficiência dos algoritmos de Busca Sequencial e Busca Binária neste cenário.