[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
AVL tree component.
Source position: avl_tree.pp line 89
type TAVLTree = class |
||
public |
||
constructor Create(); |
|
Create a new instance of TAVLTree. |
constructor CreateObjectCompare(); |
|
Create an instance of the tree with extended compare method. |
destructor Destroy; override; |
|
Destroy the TAVLTree instance. |
property OnCompare: TListSortCompare; [rw] |
|
Compare function used when comparing nodes. |
property OnObjectCompare: TObjectSortCompare; [rw] |
|
Compare handler. |
property NodeClass: TAVLTreeNodeClass; [rw] |
|
Node class to create. |
procedure SetNodeManager(); |
|
Set the node instance manager to use. |
function NewNode; virtual; |
|
Create a new tree node. |
procedure DisposeNode(); virtual; |
|
Dispose of a node outside of the tree. |
procedure Add(); |
|
Add a new node to the tree. |
function AddAscendingSequence(); |
|
|
procedure Delete(); |
|
Delete a node from the tree. |
function Remove(); |
|
Remove a data item from the list. |
function RemovePointer(); |
|
Remove a pointer item from the list. |
procedure MoveDataLeftMost(); |
|
Move data to the nearest left element. |
procedure MoveDataRightMost(); |
|
Move data to the nearest right element. |
procedure Clear; |
|
Clears the tree. |
procedure FreeAndClear; |
|
Clears the tree and frees nodes. |
procedure FreeAndDelete(); virtual; |
|
Delete a node from the tree and destroy it. |
function Equals(); override; |
|
Check if two trees are equal. |
function IsEqual(); |
|
Check whether 2 tree instances are equal. |
procedure Assign(); virtual; |
|
Assign another tree. |
property Root: TAVLTreeNode; [r] |
|
Root node of the tree. |
|
Number of nodes in the tree. |
|
function Compare(); |
|
Compare 2 nodes. |
function Find(); |
|
Find a data item in the tree. |
function FindKey(); |
|
Find a data item in the tree using alternate compare mechanism. |
function FindNearestKey(); |
|
Find nearest key for a data pointer. |
function FindSuccessor(); |
|
Find successor to node. |
function FindPrecessor(); |
|
|
function FindLowest; |
|
Find the lowest (leftmost) node in the tree. |
function FindHighest; |
|
Find the highest (rightmost) node in the tree. |
function FindNearest(); |
|
Find the node closest to the data in the tree. |
function FindPointer(); |
|
Search for a data pointer. |
function FindLeftMost(); |
|
Find the node most left to a specified data node. |
function FindRightMost(); |
|
Find the node most right to a specified node. |
function FindLeftMostKey(); |
|
Find the node most left to a specified key node. |
function FindRightMostKey(); |
|
Find the node most right to a specified key node. |
function FindLeftMostSameKey(); |
|
Find the node most left to a specified node with the same data. |
function FindRightMostSameKey(); |
|
Find the node most right of a specified node with the same data. |
function GetEnumerator; |
|
Get an enumerator for the tree. |
function GetEnumeratorHighToLow; |
|
Return an enumerator that enumerates the tree in reversed order. |
procedure ConsistencyCheck; virtual; |
|
Check the consistency of the tree. |
procedure WriteReportToStream(); |
|
Write the contents of the tree consistency check to the stream. |
function NodeToReportStr(); virtual; |
|
Create a textual dump of the tree. |
function ReportAsString; |
|
Return the tree report as a string. |
end; |
|
AVL tree component. |
|
| | ||
TObject |
TAVLTree maintains a balanced AVL tree. The tree consists of TAVLTreeNode nodes, each of which has a Data pointer associated with it. The TAVLTree component offers methods to balance and search the tree.
By default, the list is searched with a simple pointer comparison algorithm, but a custom search mechanism can be specified in the OnCompare property.
|
Represents a node in the tree. |