学习笔记
xxlucas
这个作者很懒,什么都没留下…
展开
-
算法4 自我练习
算法4 Chapter 11.1.3 编写一个程序,从命令行得到三个整数参数。如果它们都相等则打印equal,否则打印not equalpublic class isequal{ public static void main(String[] args){ int a = Integer.parseInt(arg[0]); int b = In原创 2017-07-12 23:29:39 · 332 阅读 · 0 评论 -
中序遍历
中序遍历是十分重要的遍历算法。针对BST而言,中序遍历给定了一个次序,将二叉树变成了一种线性结构,而且正好是升序排列(在BST中,语义规范不存在关键值相同的节点)。仿照先序遍历的递归版template<typename T,typename VST>void travIn_R(BinNodePosi(T) x,VST& visit){ if(!x) return; travIn_原创 2017-08-16 11:55:41 · 5425 阅读 · 0 评论 -
学习笔记 二叉搜索树2
由于在BST模板类,插入与删除算法都是virtual,需要重写。template<typename T>BinNodePosi(T) BST<T>::insert(const T& e){ BinNodePosi(T) &x = Search(e); if(x) return x; else{ x = new BinNode<T>(e,_hot);原创 2017-08-13 10:52:03 · 222 阅读 · 0 评论 -
学习笔记 AVL树
理想平衡与适度平衡含有n个节点的二叉树高度以[logn]为上界,若树高恰好为[logn]则称为理想平衡树,完全二叉树就是其中之一。适度平衡而实际的二叉树关键码趋近与一侧的较多。在渐进意义下的平衡性才有意义。局部性在AVL树中,兄弟节点的高度相差不过1。而且还有:经过单次动态修改操作后,至多只有O(1)的局部不再符合限制条件。总可在O(logn)时间内,使O(1)处的不满足重新满足限制条件。这点很原创 2017-08-13 12:35:08 · 304 阅读 · 0 评论 -
学习笔记 二叉搜索树(BST)
引入二叉搜索树(BST)结构,以及后续高级搜索树的变种,是为了倾向解决一个问题——查找技术。线性结构:向量结构,支持高效静态访问的典型结构,属于随机访问顺序容器列表结构,支持高效动态操作的典型结构,但是静态操作将花费O(n)的时间,可逆顺序容器半线性结构:二叉树结构,一般不支持查找接口,在一棵二叉树中查找某个节点极端情况也就是树高(退化成一条单链表)二叉搜索树,二叉树一个变种,原创 2017-08-12 22:58:43 · 307 阅读 · 0 评论 -
学习笔记 二叉树模板类
//对二叉树状态性质的判断//以内联函数的形式给出templatetypename T>inline int stature(T* cur) {/*当前节点的高度*/ //cur ? cur->height : -1; if (cur) return cur->height; else return -1;}templatetypename T>inline bo原创 2017-08-12 21:42:29 · 343 阅读 · 0 评论