自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 向量模板类

3.9插入template<typename T>Rank vector<T>::insert(T const & e, Rank r){expand();//检查是否需要扩容。for (Rank i = _size; i > r; i--)//自后向前,所有元素顺次后移一个单元 _elem[i] = _elem[i - 1];_elem[r] = e; _size++;retu

2018-01-02 12:41:26 431

原创 向量模板类

数据结构之向量1.简述数据结构是数据项的结构化集合,其结构性表现为数据项之间的相互联系及作用,也可以理解为定义数据项之间的某种逻辑次序。而根据这种逻辑次序的复杂程度,大致可以将各种逻辑结构大致分为三大类。线性结构半线性结构非线性结构最为基本的线性结构统称为序列,分为向量和列表。 - 在向量中,所有数据项的物理存放位置与逻辑次序完全吻合,此时的逻辑次序也称作秩。 - 在列表中,逻辑上相邻的

2018-01-01 23:00:52 2397

原创 伸展树

伸展树AVL树优点: 是对任何动态操作仅需要O(logn)的时间。空间复杂度也只占O(n)的空间。缺点:· 构造AVL树需要借助高度或平衡因子,为此需要改造元素结构,或是额外封装。 · 插入/删除动态操作引发的旋转,成本高昂。 · 删除节点后引发的旋转(失衡传播)最坏的情况下需要遍历整树的高度。 · 不适合频繁进行动态操作的场合。 · 全树的拓布结构一旦发生插入/删除操作可能发生巨大的改

2017-08-23 16:50:34 319

原创 后序遍历

与先序遍历和中序遍历类似,采用递归的思想可以很快的实现后序遍历。template<typename T,typename VST>void travIn_R(BinNodePosi(T) x,VST& visit){ if(!x) return; travIn_R(x-lc,visit); travIn_R(x-rc,visit); visit(x->data);}

2017-08-20 01:01:51 3257

原创 中序遍历

中序遍历是十分重要的遍历算法。针对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 5454

原创 先序遍历

二叉树不是线性结构,因此没有全局的顺序。而遍历算法将在一个局部给二叉树添加一个次序,从而间接地定义出全局的顺序。先序遍历考察一个二叉树的局部的一个节点v,则v的左子树与右子树(假设它们都存在)规定一个次序,先序遍历下,先访问节点v,然后深入左子树,再深入右子树。根据上述定义,实现递归版的先序遍历算法十分简单。template<typename T,typename VST>void travPre_

2017-08-14 00:16:10 1622 1

原创 学习笔记 AVL树

理想平衡与适度平衡含有n个节点的二叉树高度以[logn]为上界,若树高恰好为[logn]则称为理想平衡树,完全二叉树就是其中之一。适度平衡而实际的二叉树关键码趋近与一侧的较多。在渐进意义下的平衡性才有意义。局部性在AVL树中,兄弟节点的高度相差不过1。而且还有:经过单次动态修改操作后,至多只有O(1)的局部不再符合限制条件。总可在O(logn)时间内,使O(1)处的不满足重新满足限制条件。这点很

2017-08-13 12:35:08 309

原创 学习笔记 二叉搜索树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 224

原创 学习笔记 二叉搜索树(BST)

引入二叉搜索树(BST)结构,以及后续高级搜索树的变种,是为了倾向解决一个问题——查找技术。线性结构:向量结构,支持高效静态访问的典型结构,属于随机访问顺序容器列表结构,支持高效动态操作的典型结构,但是静态操作将花费O(n)的时间,可逆顺序容器半线性结构:二叉树结构,一般不支持查找接口,在一棵二叉树中查找某个节点极端情况也就是树高(退化成一条单链表)二叉搜索树,二叉树一个变种,

2017-08-12 22:58:43 311

原创 学习笔记 二叉树模板类

//对二叉树状态性质的判断//以内联函数的形式给出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 345

原创 算法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 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除