Ed
há 10 horas
Vamos analisar o vetor [40, 25, 35, 10, 15, 20, 30] para verificar se ele representa um heap máximo. Regras do heap máximo: - Cada nó pai deve ser maior ou igual aos seus filhos. - O heap é representado em vetor, onde para o índice i: - Filho esquerdo está em 2i + 1 - Filho direito está em 2i + 2 Vamos verificar para cada nó pai: Índice 0 (valor 40): - Filho esquerdo: índice 1 (25) - Filho direito: índice 2 (35) 40 ≥ 25 e 40 ≥ 35 → ok Índice 1 (valor 25): - Filho esquerdo: índice 3 (10) - Filho direito: índice 4 (15) 25 ≥ 10 e 25 ≥ 15 → ok Índice 2 (valor 35): - Filho esquerdo: índice 5 (20) - Filho direito: índice 6 (30) 35 ≥ 20 e 35 ≥ 30 → ok Índices 3, 4, 5, 6 são folhas, não precisam verificar filhos. Como todos os nós pais são maiores ou iguais aos seus filhos, o vetor representa um heap máximo. Portanto, a alternativa correta é: a) O vetor representa um heap máximo, pois cada nó pai é maior ou igual aos seus filhos.