Objective-C AVLTree 实现
MEGATree *tree = [[MEGATree alloc] init];
//insert key-value pairs - log(n) time
[tree push:@"someKey" value:someValue];
//perform lookups - log(n) time
id value = [tree get:@"someKey"];
//check for items - log(n) time
if([tree contains:@"someKey"]) NSLog(@"FOUND");
//equivalent check [tree get:@"someKey"] != nil
//remove items - log(n) time
[tree remove:@"someKey"];
//sort data - n time
NSArray *sortedData = [tree orderedArray];
platform :ios, '7.0'
pod "MEGATree", "~> 1.0"
在计算机科学中,AVL树(Georgy Adelson-Velsky 和 Evgenii Mikhailovich Landis 的树,以其发明者的名字命名)是一种自平衡二叉搜索树。它是第一个此类数据结构。更多内容请参阅 “维基百科”!
MEGATree, AVLTree, Objective-C, 平衡二叉搜索树, BST
AVLTree 这个名字被采用了(╯°□°)╯︵ ┻━┻)。正如 AVLTree 一样,MEGATree 也以它的原始创建者 Evgenii Mikhailovich 和 Georgy Adelson 命名。