使用 JavaScript 编写的平衡二叉树,可以快速的插入,删除和查找数据。
npm install js-avl-tree
请查看example
/**
* 二叉平衡树
* @param {Function} compartor 关键字的比较器
* @param {Boolean} ifMerge 是否将插入的数据合并到节点
*/
function AVLTree(compartor, ifMerge)
/**
* 插入节点
* @param {[type]} key 节点的key
* @param {[type]} data 节点的数据
* @return {Boolean} 是否将插入的数据合并到节点
*/
function AVLNode(key, data, ifMerge)
/**
* 插入节点
* @param {[type]} key 节点的key
* @param {[type]} data 节点的数据
* @return {Boolean} 插入是否成功
*/
_proto.insert = function(key, data)
/**
* 删除节点
* @param {[type]} key 需要删除的节点的key
* @param {Boolean} ifAll 是否删除所有符合的结点(默认只删除第一个查找到的结果)
* @return {Array|AVLNode} 被删除后的点
*/
_proto.delete = function(key, ifAll)
/**
* 查找节点
* @param {[type]} key 需要查找的节点的key
* @param {Boolean} ifAll 是否返回所有结果(默认只返回第一个查找到的结果)
* @return {Array|AVLNode} 查找结果
*/
_proto.search = function(key, ifAll)
欢迎给出一些意见和优化,期待你的 Pull Request