标签:问题 height .net sem 第四周 ISE 元素 代码托管 ima
11.1?概述:
满树(full tree) : n元树的所有叶子都位于同一层且每个结点只有一片叶子或正好具有n个孩子。
缺陷 : 浪费存储空间;其会为不完全树的无元素位置分配多余的空间。
该策略允许连续分配数组位置而不用考虑该树的完整性。
从根结点开始,访问节点的左孩子,然后是该结点,再然后是剩余任何结点。
从根结点开始,访问结点的孩子,然后是该结点。
从根结点开始,访问每一层的所有结点,一次一层。
操作 | 说明 |
---|---|
getRoot | 返回指向二叉树根的引用 |
isEmpty | 判定该树是否为空 |
size | 判定树中的元素数目 |
contains | 判定指定目标是否在树中 |
find | 如果找到指定元素,则返回指向其引用 |
toString | 返回树的字符串表示 |
iteratorInOrder | 为树的中序遍历返回一个迭代器 |
iteratorPreOrder | 为树的前序遍历返回一个迭代器 |
iteratorPostOrder | 为树的后序遍历返回一个迭代器 |
iteratorLevelOrder | 为树的层序遍历返回一个迭代器 |
11.5?实现二叉查找树:AVL树
11.6?实现二叉查找树:红黑树
问题1:如何删除某一指定结点的子树。
刚开始的代码是:
public LinkedBinaryTree removeRightsubtree(){
LinkedBinaryTree Rightsubtree = new LinkedBinaryTree();
Rightsubtree.root = root;
root.right = null;
return Rightsubtree;
}
public LinkedBinaryTree removeRightsubtree(BinaryTreeNode node){
LinkedBinaryTree Rightsubtree = new LinkedBinaryTree();
Rightsubtree.node = node;
node.right = null;
return Rightsubtree;
}
public LinkedBinaryTree removeRightsubtree(T Element){
LinkedBinaryTree Rightsubtree = new LinkedBinaryTree();
BinaryTreeNode node = new BinaryTreeNode(Element);
Rightsubtree.node = node;
node.right = null;
return Rightsubtree;
}
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 3000行 | 15篇 | 300小时 |
第一周 | 0/0 | 1/1 | 12/12 |
第二周 | 935/935 | 1/2 | 24/36 |
第三周 | 849/1784 | 1/3 | 34/70 |
第四周 | 3600/5384 | 1/5 | 50/120 |
第五周 | 2254/7638 | 1/7 | 50/170 |
第六周 | 2809/10447 | 1/9 | 45/215 |
标签:问题 height .net sem 第四周 ISE 元素 代码托管 ima
原文地址:https://www.cnblogs.com/Tangcaiming/p/9898523.html