- •1. Ақпараттық іздеудің қарапайым есебі
- •3.Бинарлы ағашты симметриялы ретпен айналу.
- •4.Бинарлы ағашты тура ретпен айналу.
- •5.Бинарлы ағашты кері ретпен айналу.
- •6.Avl ағашта сол жақ және оң жақ бұрылыс операциялары.
- •7. Ықтималды іздеу ағашы.
- •8.Бинарлы іздеу ағашының элементтерін жою.
- •9.Қызыл-қара ағаш және оның ерекшеліктері.
- •Қызыл-қара ағаштың биіктігі
- •Операциялар.
- •Қызыл-қара ағаштың артықшылығы..
- •10.Бинарлы ағаш тұрғызу алгоритмі және олардың арнайы ерекшеліктері.
- •11.Толықтау бинарлы ағаш.
- •12.Бинарлы ағаштың көрсетілуі.
- •13.Іздеу бинарлы ағашынан элементті жою
- •14.O(n log2n) күрделілігімен сұрыптау.
- •15.O(n2) күрделілігімен сұрыптау.
- •16.Бинарлы ағаштармен жасалатын стандарты операциялар.
- •17.Бинарлы ағаштар және оның қолдануы.
- •18.Бинарлы ағашта кесте құру және оның ерекшеліктері.
- •20.Шелл сұрыптауы (Shell_sort) және оның ерекшеліктері.
- •21.Quick_sort сұрыптауы оның ерекшеліктері.
- •22.Пирамидалы сұрыптау алгоритмі (Heap_sort) ж/е оның ерекшелік/і.
- •23.Newman_sort және оның ерекшеліктері.
- •24.Экстремальды қасиет/і бар бинарлы ағаштың арнайы ішкі класс/ы.
- •25.Бинарлы ағаштар қолданыстары және жалпылаулары.
- •26.Квадраттық xештеу.
- •27.Avl ағаштары.
- •28.Стек
- •29.Сызықты хештеу.
- •30.Қос хештеу.
8.Бинарлы іздеу ағашының элементтерін жою.
Бинарлы іздеу ағашының элементтерін жою. Сонымен, бинарлы іздеу ағашынан элементтерді жою үшін, берілген операциялардан кейін пайда болған объект(граф) бинарлы іздеу ағашы болатынын анықтау керек.
Мұнда 3 жағдай қарастырылады. Ең қарапайымынан бастайық. Егер жойылатын элемент, ағаштың түйіні ақырғы төбе болса, онда ол ешқандай қиындықсыз жойыла береді, немесе мұнда ағашқа ешқандай коррекция талап етілмейді, тек жойылатын түйіннің тікелей тегінің сәйкес өрісіне nill жазуынан басқа.
Егер жойылатын түйіннің(мысалы, №8 түйін 13 мәнімен) тек бір тікелей ұрпағы болса, онда ол ұрпақ жойылатын түйіннің орнына көшіріледі. Геометриялық тұрғыдан алғанда мұнда түбірі көшірілетін элемент болатын ішкі ағашта көшіріледі, бірақ ішкі ағаштардың ішінде сілтемелер ешбір өзгеріссіз қалады. Осы ерекшелік бұл операцияны стандарттық кодтаумен жүргізуге өте ыңғайлы болады.
Енді соңғы жағдай қалды, яғни жойылатын элементтін (3 түйін 7 мәнімен) екі тікелей ұрпағы бар болса, бұл жағдайда жойылатын элементтің оң жақ тікелей ұрпақтарының ұрпақтары арасында ең кіші мәнімен түйін – элемент табу керек және оны жойылатын элементтің орнына ауысуы керек.
Тура осылай жойылатын элементтің сол жақ тікелей ұрпақ/ң ұрпақ/ы арасында максималды мәнімен элемент табуға ж/е оны жойылатын элементтің орнына ауыстыруға болады.
Басқа сөзбен айтқанда, егер жойылатын V элементтің, өзі түбірі болатын екі ішкі ағаштары бар болса, онда оның ұрпағы V’ немесе алдыңғы «тегі» V’’ симметриялы ретті айналымда жойылатын элементтік орнын басу керек. Сонымен қатар V-түйінін V’- түйініне ауыстыру кезінде V’-түйінінің оң жақ тікелей ұрпағы V’-түйінінің орнын басады. Сәйкесінше, V’-түйінін V’’- түйініне ауыстырғанда да ұрпақ түйін орнын басады.
Бұл бөлімнің қорытындысына айта кететін бір жайт, бинарлы ағаштарға орындалатын басқа да арнайы операциялар бар. Мысалы: бұл ағаштың ішкі ағаштарына AVL- ағаштарның түйіндерін кірістіру кезінде бұрылу операциясы анықталады.
9.Қызыл-қара ағаш және оның ерекшеліктері.
Қызыл қара ағаш бинарлы іздеу ағашы, онда теңестіру ағаш түйінінің «түсі» негізінде жүзеге асады, ол тек қана екі мән қабылдайды «қызыл» және «қара». Сонымен қатар ағаштың барлық жапырақтары фиктивті болып табылады және оларды мәлімет болмайды, бірақ ол ағашқа қатысты болады әрі қара болып табылады. Жадыны үнемдеу үшін фиктивті жапырақтарды бір ортақ жапырақ етуге болады. Қасиеттері: Қызыл-қара ағаш бинарлы ағаш болып табылады, ондағы әрбір түйінге қосымша атрибут сәйкестендірілген – түс және оған келесі қасиеттер орындалады:
Әр түйін қызыл немесе қара түспен маркерленген
Түбір және ағаштың ақырғы түйіндері(жапырақтар) – қара
Қызыл түйінде аналық түйін – қара
х әр түйіннен шығатын қарапайым жолдар жапырақтарға дейін бірдей мөлшердегі қара түйіндерді қамтиды
Қара түйіннің қара анасы болуы мүмкін
Қызыл-қара ағаштың биіктігі
Теорема.N кілті бар қызыл-қара ағаштың биіктігі 2hb+1 – 1.
Лемма:Қызыл-қара ағашта hb қара биіктігімен ішкі төбелер саны 2hb+1 – 1 кем емес.
Дәлелдеу: Егер жапырақты қарастырсақ, онда ол үшін лемма дұрыс. Ішкі x төбесін қарастырайық. hb(x)=h’ болсын. Онда оның ұрпағы p - қара болса, онда биіктік hb(x)=h’–1, ал егер қызыл болса, онда hb(x)=h’. Осылай, индукцияның жалғасуы барысында, ағашша/да 2h’ – 1 кем емес төбе болады, ал барлық ағашта сәкесінше, 2h’ – 1 + 2h’ – 1 + 1=2h’+1 – 1 кем емес төбе болады.
Егер ағаштың қалыпты биіктігі h болса, онда ағаштың қара биіктігі h/2 – 1 кем болмайды және лемма бойынша ағаштағы ішкі төбелер саны N>=2h/2 – 1
Теңсіздікті логарифмдесек:
Log(N+1)>=h/2 2log(N+1)>=h H<=2log(N+1) [1]
