数据结构
文章平均质量分 83
zhouzhou135
这个作者很懒,什么都没留下…
展开
-
数据结构绪论
预览:数据结构与算法的问题什么是计算?评判DSA优劣的参照(直尺)?度量DSA性能的尺度(刻度)?DSA性能度量的方法?DSA的设计和优化?X1:理论模型和实际性能的区别X2:DSA的极限(下界)1、大O记号:常系数可以忽略,低次项也可以忽略;几种记号的区别2、循环、级数:可以用算数的方法描述,也可以用图形的方法描述for(inti=0;ifor(int原创 2015-06-01 17:25:10 · 428 阅读 · 0 评论 -
算法的时间复杂度
在计算算法复杂度时一般只用到大O符号,Landau符号体系中的小o符号、Θ符号等等比较不常用。这f (n) = Ο(g (n)) 表示存在一个常数C,使得在当n趋于正无穷时总有 f (n) ≤ C * g(n)。 例如,O(2n^2+n +1) = O (3n^2+n+3) = O (7n^2 + n) = O ( n^2 ) ,一般都只用O(n^2)表示就可以了。注意到大O符号里隐藏原创 2015-06-08 10:26:15 · 1686 阅读 · 0 评论 -
无序向量Vector
向量vector1、AbstractData Type(ADT)抽象数据类型:数据模型上定义的一种操作。Data structure数据结构:基于某种特定语言,实现ADT的一整套算法。向量是数组的抽象和泛化,有一组元素按线性顺序封装而成。ADT操作接口: 2、vector模板类(1)基于复制的构造templatevoidVector::copyFrom(T* con原创 2015-06-09 19:06:26 · 1741 阅读 · 0 评论 -
列表List
列表List是采用动态存储策略的典型结构,相邻节点彼此互称为前驱predecessor或后继successor。两个哨兵header,tailer1、无序列表(1)查找的实现find( ):在节点p的n个前驱中,找到等于e的最后者templatePosi(T)List::find(Tconst&e,intn,Posi(T)p)const{ while(0<n--)原创 2015-06-09 20:11:48 · 487 阅读 · 0 评论 -
有序向量Vector
逆序对是指相邻元素之间前者大于后者,即逆序对。templateint Vector::disorder() const{ int n=0; for(int i=1;i n+=(_elem[i-1]>_elem[i]); return n; 当且仅当n=0的时候,为有序向量}(1)唯一化,uniquify( )原创 2015-06-09 19:48:05 · 3016 阅读 · 0 评论 -
栈stack与队列queue
栈与队列1、栈(a)栈接口与实现栈结构stack:访问最末端的一个元素,通常将其旋转90度,开放的那端是顶部,另一端是底部。基本操作实例:注意的是c++中pop()返回类型是void而不是元素值,主要原因是安全问题(会出现异常)和效率问题(返回数值需要实例化)。实现:栈既然是序列的特例,故可直接基于向量或列表派生template class Stack:p原创 2015-06-10 19:21:49 · 629 阅读 · 0 评论 -
树的表示
1、树tree结构是半线性结构,也是特殊的图。ri称为r的孩子child,ri之间互称为兄弟sibling,r为其父亲parent,d=degree(r)为r的度degree。任何树中所含边数=所有点的度数之和=n-1,一棵树的总体规模如果可以度量为边数+顶点数,那么规模也是和边数或者顶点数同阶,衡量相关复杂度时,可以n作为参照。V中的k+1个节点,通过E中的K条边依次相联原创 2015-06-11 20:52:09 · 858 阅读 · 0 评论 -
树的遍历
(d1)先序遍历,(学会利用之前学的算法和理论),按照某种次序访问各节点,每个节点被访问恰好一次。先序(V,L,R),中序(L,V,R),后序(L,R,V),层次(自上而下,先左后右)。Ø 递归实现:template void traverse(BinNodePosi(T) x,VST &visit){ if(!x) return; visit(x->data);原创 2015-06-11 21:04:49 · 504 阅读 · 0 评论 -
二叉树前序、中序、后序遍历相互求法
转自:http://www.cr173.com/html/18891_1.html今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历转载 2015-07-04 13:11:42 · 322 阅读 · 0 评论