LisaacTM Platform

AVL_TREE_NODE


Auxiliary class to implement AVL_SET.
This a classic implementation of an AVL tree (balanced tree first designed by Adelson-Velskii and Landis (hence A.V.L.), 1960)
Inherit/Insert Summary
parent_avl_constants No developed.
 
Slot Summary
out_in_tagged_out_memory
left
right
item
balance
Balance factor; either balanced (the tree is balanced), imbalanced_left (the left branch is the longer) or imbalanced_right (the right branch is the longer)
count
height
map_in
has
Is element e in the tree?
fast_has
Is element e in the tree?
at
Is element e in the tree?
set_item
set_left
set_right
set_balance
 
Rotations:
rotate_right
Proceeds to some reorganisation and returns the upper node.
rotate_left
Proceeds to some reorganisation and returns the upper node.
 

Inherit/Insert Detail

parent_avl_constants

.../base/collection/low_level/avl_tree_node.li line #15

Section:
Insert

Profile:
- SelfSELFparent_avl_constants : AVL_CONSTANTS

Detail slot

out_in_tagged_out_memory

.../base/collection/low_level/avl_tree_node.li line #19

Section:
Public

Profile:
- SelfSELFout_in_tagged_out_memory 

left

.../base/collection/low_level/avl_tree_node.li line #40

Section:
Public

Profile:
+ SelfSELFleft : AVL_TREE_NODEV)

right

.../base/collection/low_level/avl_tree_node.li line #42

Section:
Public

Profile:
+ SelfSELFright : AVL_TREE_NODEV)

item

.../base/collection/low_level/avl_tree_node.li line #44

Section:
Public

Profile:
+ SelfSELFitem : V

balance

.../base/collection/low_level/avl_tree_node.li line #46

Section:
Public

Profile:
+ SelfSELFbalance : INTEGER

Description:
Balance factor; either balanced (the tree is balanced), imbalanced_left (the left branch is the longer) or imbalanced_right (the right branch is the longer)

count

.../base/collection/low_level/avl_tree_node.li line #51

Section:
Public

Profile:
- SelfSELFcount : INTEGER

height

.../base/collection/low_level/avl_tree_node.li line #64

Section:
Public

Profile:
- SelfSELFheight : INTEGER

map_in

.../base/collection/low_level/avl_tree_node.li line #76

Section:
Public

Profile:
- SelfSELFmap_in   map : COLLECTIONAVL_TREE_NODEV))

has

.../base/collection/low_level/avl_tree_node.li line #93

Section:
Public

Profile:
- SelfSELFhas   e : VBOOLEAN

Description:
Is element e in the tree?

fast_has

.../base/collection/low_level/avl_tree_node.li line #108

Section:
Public

Profile:
- SelfSELFfast_has   e : VBOOLEAN

Description:
Is element e in the tree?

at

.../base/collection/low_level/avl_tree_node.li line #126

Section:
Public

Profile:
- SelfSELFat   e : VAVL_TREE_NODEV)

Description:
Is element e in the tree?

set_item

.../base/collection/low_level/avl_tree_node.li line #144

Section:
Public

Profile:
- SelfSELFset_item   i : V

set_left

.../base/collection/low_level/avl_tree_node.li line #157

Section:
Public

Profile:
- SelfSELFset_left   l : AVL_TREE_NODEV)

set_right

.../base/collection/low_level/avl_tree_node.li line #169

Section:
Public

Profile:
- SelfSELFset_right   r : AVL_TREE_NODEV)

set_balance

.../base/collection/low_level/avl_tree_node.li line #180

Section:
Public

Profile:
- SelfSELFset_balance   b : INTEGER

Rotations:

rotate_right

.../base/collection/low_level/avl_tree_node.li line #194

Section:
AVL_TREE, AVL_DICTIONARY, AVL_SET

Profile:
- SelfSELFrotate_right : AVL_TREE_NODEV)

Description:
Proceeds to some reorganisation and returns the upper node.

rotate_left

.../base/collection/low_level/avl_tree_node.li line #209

Section:
AVL_TREE, AVL_DICTIONARY, AVL_SET

Profile:
- SelfSELFrotate_left : AVL_TREE_NODEV)

Description:
Proceeds to some reorganisation and returns the upper node.