Sobes.tech
Junior — Middle

Ҷиҳати сохторҳои додаҳо, фарқиятҳои асосӣ байни дарахти бинарӣ ва дарахти баробар чӣҳоянд?

sobes.tech AI

Ҷавоб аз AI

Ҳуқуқий фарқлар иккилик дарахт ва мувозанатли дарахт орасида:

  • Иккилик дарахт: ҳар бир узвнинг энг кўпи икки фарзанди (чап ва ўнг) бўлган маълумотлар тузилмаси.
  • Мувозанатли дарахт: махсус турдаги иккилик дарахт бўлиб, у балансни сақлайди ва қуйи дарахтларнинг тахминан бир хил баландлигига эришишга ёрдам беради. Бу излаш, қўшиш ва ўчириш операцияларининг самарадорлигини таъминлайди.

Балансни сақлаш зарур, чунки дарахт листга ўхшаш ҳолга келганда ва операциялар секинлашганда (O(n)) юз беради.

Мувозанатли дарахтлар мисоллари:

  • AVL дарахт
  • Қизил-қарий дарахт

Go тилида соддалаштирилган мисол:

// Иккилик дарахтнинг узви
type Node struct {
    Value int
    Left  *Node
    Right *Node
}

// Мувозанатли дарахтда, қўшишдан кейин айналар амалга оширилади,
// баланс сақланиши учун (бу ерда кўрсатилмаган).

Шунинг учун, мувозанатли дарахт — бу самарадорликни сақлаш учун қўшимча хусусиятларга эга иккилик дарахт.