Número de caminhos de pesquisa possíveis ao pesquisar no BST


12

Tenho a seguinte pergunta, mas não tenho resposta para isso. Eu apreciaria se meu método está correto:

Q. Ao procurar o valor da chave 60 em uma árvore de pesquisa binária, os nós que contêm os valores da chave 10, 20, 40, 50, 70, 80, 90 são percorridos, não necessariamente na ordem especificada. Quantas ordens diferentes são possíveis em que esses valores-chave podem ocorrer no caminho de pesquisa a partir do nó raiz que contém o valor 60?

(A) 35 (B) 64 (C) 128 (D) 5040

A partir da pergunta, entendo que todos os nós dados precisam ser incluídos na travessia e, finalmente, precisamos alcançar a chave, 60. Por exemplo, uma dessas combinações seria:

10, 20, 40, 50, 90, 80, 70, 60.

Como temos que atravessar todos os nós mencionados acima, temos que começar com 10 ou 90. Se começarmos com 20, não alcançaremos 10 (desde 60> 20 e percorreremos a subárvore direita de 20)

Da mesma forma, não podemos começar com 80, porque não conseguiremos atingir 90, pois 80> 60, percorreremos a subárvore esquerda de 80 e, portanto, não atingiremos 90.

Vamos pegar 10. Os nós restantes são 20, 40, 50, 70, 80, 90. O próximo nó pode ser 20 ou 90. Não podemos usar outros nós pelo mesmo motivo mencionado anteriormente.

Se considerarmos da mesma forma, em cada nível, teremos duas opções. Como existem 7 nós, duas opções para o primeiro 6 e nenhuma opção para o último. Portanto, existem totalmente

permutações = 2 6 =22222212664

  1. É esta a resposta correta?

  2. Se não, qual é a melhor abordagem?

  3. Eu gostaria de generalizar. Se nós forem fornecidos, o total possível de caminhos de pesquisa seria2 n - 1n2n-1

Respostas:


14

Se olhar para a chave 60 chegamos a um número inferior a 60, que vá para a direita (onde os números maiores são) e nós nunca se encontram números menos de K . Esse argumento pode ser repetido, portanto os números 10, 20, 40, 50 devem ocorrer ao longo da pesquisa nessa ordem.KK

Se olhar para a chave 60 chegamos a um número maior do que 60, vamos leftt (onde os números menores são) e nós nunca números se encontram maior do que K . Portanto, os números 90, 80, 70 devem ocorrer ao longo da pesquisa nessa ordem.KK

As sequências 10, 20, 30, 40, 50 e 90, 80, 70 podem ser embaralhadas juntas, desde que suas subsequências permaneçam intactas. Assim, podemos ter 10, 20, 40, 50, 90, 80, 70, mas também 10, 20, 90, 30, 40, 80, 70, 50.

(73)

xy(x+yy)

PS (editado). Graças a Gilles, que observou que 30 não está em questão.


2624

@avi Não, eles não precisam estar juntos, apenas nessa ordem: 10, 20, 90, 30, 40, 80, 70, 50 estão OK.
Hendrik Jan

1
@avi: Tente pensar assim: Grande e Pequeno. Agora você tem 8 spots, com 5 Small e 3 Big. Como você os preenche? 8 escolha 3. O que corresponde a 56, e presumo que Hendrik também recebeu.
Aryabhata

2
@HendrikJan Não havia 30 na pergunta original, havia apenas 7 valores. E 7, escolha 3 é (A).
Gilles 'SO- stop be evil' '

1
xy

1

Converteremos Movimentos em Texto. Dado que durante a pesquisa, atravessamos esses nós

insira a descrição da imagem aqui

como pode ser visto, os vermelhos são maiores que 60 e os azuis são menores que 60.

{S,S,S,S,eu,eu,eu}

7!4!×3!=35
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.