12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ool member(T a, tree const&t){if (t.empty()) return false;if (a == t.RootTree()) return true;return member(a, t.LeftTree()) || member(a, t.RightTree());}Това решение е неефективно, тъй като ако елементът не се съдържа вдървото се налага обхождане на дървото с пълно изчерпване. Операциитевключване и изключване на връх не се реализират добре за обикновенитедървета. По-удобно за редица цели е използването на т. нар. двоичнонаредени дървета или двоични справочници.16. 2 Двоично наредено дървоПредполагаме, че за елементите от тип Т е установена наредба.Дефиниция: Празното двоично дърво е двоично наредено дърво.Непразно двоично дърво, върховете на лявото поддърво на което са помалкиот корена, върховете на дясното поддърво са по-големи от коренаи лявото, и дясното поддърво са двоично наредени дървета, се наричадвоично наредено дърво от тип T.Нека t е двоично наредено дърво от тип Т. Включването на елементаa от тип Т в t се осъществява по следния начин:- ако t е празното двоично дърво, новото двоично наредено дърво ес корен елемента a и празни ляво и дясно поддървета.- ако t не е празно и a е по-малко от корена му, елементът a севключва в лявото поддърво на t,- ако t не е празно и a е не по-малко от корена му, елементът a севключва в дясното поддърво на t.Пример: Ако в двоично нареденото дърво с корен 5 и празниподдървета се включи 3, ще се получи:53Ако към полученото двоично наредено дърво се включи 4, ще се получи:205

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!