按的浪ฐ费;而链式存储结构式在需要空间时才动态地申请存储空间,不会造成存储空间不必要的开销。从这一点来说,链式存储结构比顺序存储结构要节省存储空间。

书中算法:

p25线性表的顺ิ序存储结构的类型描述如下:

#definemaxsize1000假定分配的空间大小为10่00

elemtypea;

inttop;栈顶指针ฤ变量

p9๗7测试堆栈是否为空:

intemptysinttop{

returntop==-1;

}

p98测试堆栈是否为满:

intfullsinttop{

returntop==m-ๅ1;

}

p9๗8入栈算法:算法的时间复杂度均为o1้。

intpush色lemtypestacນk;๙

intfront,rear;

p12๐6循环队列的入队算法:๘

intaddcqqelemtypequeue=๡item;

return1;循环队列未满,插入成功,返回1

}

}

p12๐7循环队列的出队算法:

intdelcqqelemtypequeue,temp,p=t;

intfront,rear;๙

ift!ำ=null{

queue,p=t;๙

inttop=๡-1;๙

dataທtypepriodata=mi女alue假设mi女alue为ฦ最小值

ift!ำ=null{

do{

9hilep!=null{

stack++top=p;当前p所指的结点地址进栈

p=๡p-lchild;p移到做孩子的结点

}

p=stacktop--;栈顶结点地址退栈送p

ifp-data

data;保存当前被访问结点的值

p=p-rchild;๙p移到右孩子结点

}9hile!p==null&&top==-1้;

}

return1;断言二叉树是二叉排序树

}

第八章

复习要点:

1图:图g是由顶点集v非空集和边的集合e顶ะ点之间的关系组成的一种数据结构,形式化:g=v,e。

2无向图:若图g中每一条边都是没有方向的,则称g为无຀向图

3有向图:若图g中每一条边都具有方向,则称g为ฦ有向图

1例表示ิ从顶点x向顶点y的边,x为始点,y为ฦ终点。有向边也称为ฦ弧,表示为一条弧,ไx为弧尾,y为弧头。

4完全无向图:具有n个顶点,nn-12条边的图。

5๓完全有向图:具有n个顶点,nn-1条弧的有向图。

6完全图:完全无向图和完全有向图都称为。

7稠密图:一个图接近于完全图。

8稀疏图:边或弧的数目很少的图。

9权:与边有关的数据信息被称为权

10网:每条边上都带权的图称为网络,简称网

11度:顶点的度是指依附于某顶点v的边数,通常记为tdv

对于有向图,区别出度和入度

1有向图中的顶点v的入度是指以顶点v为终点的弧的数目,记为idv

2顶点v的出度是指以顶点v为始点的弧的数目,记为odv

3出度和入度之和为顶点v的度,即tdv=idv+odv

12图的两种存储表示:邻接矩阵和邻接表

1้图的邻接矩阵定义为:

1若i,j∈eg或〈i,j〉∈eg

aທij=

0่其它情形

无向图的邻接矩阵特点:

1矩阵是对称的,可压缩存储上下三角;

2第i行或第i列中1的个数为顶ะ点i的度;

3矩阵中1的个数的一半为图中ณ边的数目;

4很容易判断顶点i和顶点j之间是否有边相连看矩阵中i行j列ต值是否为1。