Logo Passei Direto
Buscar
Considere as características e operações dos heaps binários. Qual das afirmações a seguir representa corretamente um aspecto fundamental da estrutura de dados heap e de sua aplicação no Heap Sort em Python? a. O heap binário exige ponteiros explícitos para os filhos, tornando o acesso mais lento, embora preserve a propriedade de dominância. b. O Heap Sort é um algoritmo estável, pois sempre preserva a ordem relativa de elementos equivalentes ao realizar as operações de descida. c. O heap binário permite inserir elementos em tempo linear, pois cada operação de subida requer percorrer toda a estrutura. d. O heap binário, armazenado em vetor, mantém o menor ou maior elemento sempre acessível na raiz, e o Heap Sort utiliza essa propriedade para ordenar vetores in-place com complexidade O(n log n). e. A conversão de uma lista comum em heap pelo método heapify consome tempo exponencial, tornando o uso do heap impraticável para grandes conjuntos.
User badge image
Rubens Campos

ontem

Respostas

User badge image

Ed Verified user icon

ontem

Vamos analisar cada uma das alternativas para identificar a que representa corretamente um aspecto fundamental dos heaps binários e sua aplicação no Heap Sort: a) O heap binário exige ponteiros explícitos para os filhos, tornando o acesso mais lento, embora preserve a propriedade de dominância. - Isso não é verdade, pois os heaps binários geralmente são implementados usando um vetor, onde o acesso aos filhos é feito através de cálculos de índice, o que é eficiente. b) O Heap Sort é um algoritmo estável, pois sempre preserva a ordem relativa de elementos equivalentes ao realizar as operações de descida. - Na verdade, o Heap Sort não é um algoritmo estável, pois pode alterar a ordem relativa de elementos iguais. c) O heap binário permite inserir elementos em tempo linear, pois cada operação de subida requer percorrer toda a estrutura. - Isso está incorreto, pois a inserção em um heap binário é feita em tempo logarítmico, O(log n), não linear. d) O heap binário, armazenado em vetor, mantém o menor ou maior elemento sempre acessível na raiz, e o Heap Sort utiliza essa propriedade para ordenar vetores in-place com complexidade O(n log n). - Esta afirmação está correta. O heap binário permite acessar rapidamente o menor ou maior elemento (dependendo se é um min-heap ou max-heap) e o Heap Sort utiliza essa propriedade para ordenar os elementos. e) A conversão de uma lista comum em heap pelo método heapify consome tempo exponencial, tornando o uso do heap impraticável para grandes conjuntos. - Isso é falso, pois a operação de heapify tem complexidade O(n), o que é eficiente. Portanto, a alternativa correta é: d) O heap binário, armazenado em vetor, mantém o menor ou maior elemento sempre acessível na raiz, e o Heap Sort utiliza essa propriedade para ordenar vetores in-place com complexidade O(n log n).

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina