Под фърмуера на замяна дърво разбира от определена норма на празни указатели към синовете на указатели към следващите възли, съответстващи байпас.
Тъй като дърво, след като поле зашиване наляво и надясно може да се характеризира или структурни връзки или "нишка", е необходимо те да бъдат разграничени за това описание трябва да бъде въведен в характеристиките на дървовидна структура на левия и десния стрелките (фалшиво и истина).
Така упоили дървета по-бързо да се откажат и не изискват допълнителна памет (комин), но се нуждаят от допълнително памет за съхраняване на знамената на нишки, а също и сложни операции и позволяват отстраняване на дървото на елемент.
Зашити Паскал двоично дърво може да се опише по следния начин:
където LF и RF - посочи дали показалеца на връзка към елемента или конец. Ако RF LF или FALSE, на куп е нишка.
Преди създаването на възел майка дърво има следната форма: където пунктираната стрелка определя отношението на нишката. Дърво зашити към левия клон.
В програма пример 6.14 дава функцията (Inson) за определяне син (приемник) на върха.
(* ------ функция, намирането на наследник на връх X ---- *)
(* -------- под смесен байпас ------------ *)
Funtion Inson (х: TreePtr): TreePtr;
В програма пример 6.15 дава функцията (ср) за определяне на бащата (предшественик) дава връх.
(* ---------- Функция издаване възел предшественик ------ *)
(* ------- под smesh1annym байпас ------------ *)
Функция Inp (х: TreePtr): TreePtr;
ако не (х ^ .lf) след излизане;
докато Inp ^ .rf направи Inp: = Inp ^ .right; <связка не нить>
В програма Пример 6.16 дава функция, която реализира записите на алгоритъм от своя страна зашити дърво (leftIn). Този алгоритъм вмъква връх P като лявото поддърво на даден възел X, ако X не е връх на лявата-дървото. В противен случай се добавя нов възел между горната и горната X X ^ .left. Тази операция се поддържа правилното дървовидна структура, съответстваща EEPROM смесен прекосява.
(* - р Box вляво от X или между х и лявата му връх - *)
Процедура LeftIn (х, р: TreePtr);
р ^ .left: = х ^ .left; р ^ .lf: = х ^ .lf; х ^ .left: = р;
х ^ .lf: = вярно; р ^ .right: = х; р ^ .rf: = FALSE;
(* -------- Поставете отново връзка с предшественика -------- *)
започне р: = TreePtr (Inp (п)); р ^ .right: = р; р ^ .rf: = FALSE;
Помислете например за фърмуера на дърво е показано на фигура 6.20. когато преминаващи надолу.
Машина представяне на дървото в долната схема на фърмуера е показано в ris.6.28.
Фиг. 6.28. Машини последователно представяне на оригиналния дърво, показано на фигура 6.20 в байпас фърмуер надолу
Трейс надолу байпас на фърмуера, вижте tabl.6.3.
Вземем примера на едно и също дърво в смесен фърмуер байпас. Машина оглед дърво със смесено схема на фърмуера се показва в ris.6.28.
Свързани статии