func-package

函数库, 面向复杂业务场景的 js 类库

binaryTree

二叉树

binaryTree.insert(param):  param 是 需要插入的元素
binaryTree.find(param):  param 是 需要寻找的元素,返回值为所找到的节点
binaryTree.removeNode(param):  param 需要删除的元素
binaryTree.getRoot():  获取二叉树的根节点
binaryTree.getMinNode():  获取二叉树 某个节点的最小值
binaryTree.getMaxNode():  获取二叉树 某个节点的最小值
binaryTree.preOrderTraversal(binaryTree.getRoot()):  需要传入进行遍历的节点, 遍历结束之后, 可以通过 binaryTree.getRoot().preOrder 获取先序遍历的结果集
binaryTree.centerOrderTraversal(binaryTree.getRoot()): 需要传入进行遍历的节点, 遍历结束之后, 可以通过 binaryTree.getRoot().centerOrder 获取中序遍历的结果集
binaryTree.postOrderTraversal(binaryTree.getRoot()): 需要传入进行遍历的节点, 遍历结束之后, 可以通过 binaryTree.getRoot().postOrder 获取后序遍历的结果集

Demo:

import { binaryTree } from 'func-package';
binaryTree.insert(1);
binaryTree.insert(2);
binaryTree.insert(0);
// binaryTree.insert(4);
// binaryTree.insert(-1);
const res = binaryTree.find(2);
console.log('find: ', res)
binaryTree.removeNode(2)
console.log('getRoot: ', binaryTree.getRoot())
console.log('getMinNode: ', binaryTree.getMinNode())
console.log('getMaxNode: ', binaryTree.getMaxNode())
binaryTree.preOrderTraversal(binaryTree.getRoot())
binaryTree.centerOrderTraversal(binaryTree.getRoot())
binaryTree.postOrderTraversal(binaryTree.getRoot())
console.log(`preOrder: `, binaryTree.getRoot().preOrder)
console.log(`centerOrder: `, binaryTree.getRoot().centerOrder)
console.log(`postOrder: `, binaryTree.getRoot().postOrder)