Eksamen spørsmål om å sette inn en tom binært søketre

stemmer
4

Jeg har problemer med å tolke et visst spørsmål om å sette inn elementer til et binært søketre. Jeg er kjent med forhåndsbestilling, Postorder, og inorder gjennomløping, men jeg er ukjent med følgende spørsmål:

Anta at vi setter elementene 3, 5, 6, 1, 2, 4, 7 i den nevnte rekkefølge i en i utgangspunktet tom binært søk treet.

Hvis jeg bare gitt et sett med tall som er satt inn i den rekkefølgen, hvordan skal jeg gjøre det i et binært søketre? Vil tre være roten? Og jeg ville bare balansere de andre tallene til riktig treet av meg selv? Ville ikke det være mange tolkninger i så fall? Er det en viss konvensjon som er fulgt?

Takk.

Publisert på 26/06/2011 klokken 12:20
kilden bruker
På andre språk...                            


3 svar

stemmer
2

Uten ytterligere informasjon om regler om hvordan treet skal være balansert, ville jeg anta at det henviser til en "naiv" ubalansert treet.

Så dette:

         3
  /-----/ \-----\
 1               5
  \--\       /--/ \--\
      2     4         6
                       \-\
                          7
Svarte 26/06/2011 kl. 12:26
kilden bruker

stemmer
1

Ja, 3 vil være roten, fordi etter den første innføring hele treet har bare ett element. Holde den samme logikken, hvis (antall, venstre, høyre) representerer en node får du:

  1. (3 ,,)

  2. (3 ,, (5 ,,))

  3. (3 ,, (5 ,, (6 ,,)))

  4. (3, (1 ,,), (5 ,, (6 ,,)))

  5. (3, (1, 2), (5 ,, (6 ,,)))

  6. (3, (1, 2), (5, (4 ,,), (6 ,,)))

  7. (3, (1, 2), (5, (4 ,,), (6,, 7)))

Svarte 26/06/2011 kl. 12:26
kilden bruker

stemmer
4

Når du legger til et element i treet, er det eksisterende treet ikke bestilles. Det nye elementet er bare lagt til en bladnode. Dette betyr at når du først legge til 3, vil tre bli rotnoden av resultatet. Når du legger til 5, vil det være på høyre side av tre, etc. Dette resulterer i følgende tre:

   3
 /   \
1     5
 \   / \
  2 4   6
         \
          7
Svarte 26/06/2011 kl. 12:29
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more