Zkouška otázka o vkládání do prázdného binárního vyhledávacího stromu

hlasů
4

Mám potíže s tlumočnickou určitou otázku o vkládání prvků do binárního vyhledávacího stromu. Jsem obeznámen s předobjednání, postorder a nezbytného traversals, ale nejsem obeznámen s následující otázkou:

Předpokládejme, že vložíme prvky 3, 5, 6, 1, 2, 4, 7, v tomto pořadí do nejprve prázdného binárního vyhledávacího stromu.

Jsem-li uvedeny pouze sadu čísel, které jsou vloženy v tomto pořadí, jak mám dělat to do binárního vyhledávacího stromu? By 3 být kořen? A já bych prostě vyvážit další čísla do správného podstromu sám? Nebude existovat mnoho výkladů v tomto případě? Je tu určitá konvence, která je následována?

Dík.

Položena 26/06/2011 v 13:20
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
2

Bez jakékoliv další informace týkající se pravidel o tom, jak je strom má být dáno, musel bych se domnívat, že je to s odkazem na „naivní“ nevyvážené stromu.

Takže tohle:

         3
  /-----/ \-----\
 1               5
  \--\       /--/ \--\
      2     4         6
                       \-\
                          7
Odpovězeno 26/06/2011 v 13:26
zdroj uživatelem

hlasů
1

Ano, 3 bude kořen, protože po prvním vložení celý strom má jen jeden prvek. Udržet stejnou logiku, if (číslo, vlevo, vpravo) představuje uzel, získáte:

  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)))

Odpovězeno 26/06/2011 v 13:26
zdroj uživatelem

hlasů
4

Když přidáte položku do stromu, existující strom není přiobjednáno. Nová položka je přidána do uzlu listu. To znamená, že při prvním přidání 3, 3 bude kořen výsledku. Přidáte-5, bude na pravé straně 3, atd To vede k následujícím stromem:

   3
 /   \
1     5
 \   / \
  2 4   6
         \
          7
Odpovězeno 26/06/2011 v 13:29
zdroj uživatelem

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