/** * 定义二叉树的结构 */ declare class TreeNode { data: T; left: TreeNode | undefined; right: TreeNode | undefined; count: number; preOrder: Array; centerOrder: Array; postOrder: Array; constructor(data: T, left: TreeNode | undefined, right: TreeNode | undefined); } /** * 定义二叉树的操作 */ declare class BinaryTree { root: TreeNode | undefined; constructor(); insert(data: T): void; /** * 根据元素值 寻找 节点 * @param data */ find(data: T): TreeNode | undefined; /** * 获取根节点 */ getRoot(): TreeNode | undefined; /** * 删除节点 */ removeNode(data: T): void; _removeNode(curNode: TreeNode | undefined, data: T): TreeNode | undefined; /** * 获取最大节点 * @param curNode */ getMaxNode(node?: TreeNode): TreeNode; /** * 获取最小节点 * @param curNode */ getMinNode(node?: TreeNode): TreeNode; /** * 先序遍历,遍历结束之后,可以通过 bt.getRoot().preOrder 获取遍历以后的元素数组 * @param root */ preOrderTraversal(root: TreeNode | undefined): undefined; /** * 中序遍历,遍历结束之后,可以通过 bt.getRoot().centerOrder 获取遍历以后的元素数组 * @param root */ centerOrderTraversal(root: TreeNode | undefined): undefined; /** * 后序遍序遍历,遍历结束之后,可以通过 bt.getRoot().postOrder 获取遍历以后的元素数组 * @param root */ postOrderTraversal(root: TreeNode | undefined): undefined; } declare const _default: BinaryTree; export default _default;