{7,ไ19,2,6๔,ไ32๐,3,21,ไ10},按哈夫曼规则:data=getchaທr;输入各顶点的符号

先将概率放大100倍,以方便构造哈夫曼树。

}

ifq!=0{t=lklistmallocນsizeoflklist;t-data=p-data;๙t-next=hcນ;hc=t;}

intemptysinttop{

p97测试堆栈是否为空:

6.在线性结构中ณ,第一个结点没有前驱结点,其余每个ฐ结点有且只有1个前๩驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

5线性结构中ณ元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素า之间存在多对多关系。

}

p98๖入栈算法:算法的时间复杂度均为o1。

intpush色lemtypestacນk;

intfront,rear;

p12๐6๔循环队列的入队算法:

intaddcqqelemtypequeue=item;

return1;循环队列未满,插入成功,返回1

}

}

p127循环队列ต的出队算法:

intdelcqqelemtypequeue,temp,ไp=t;๙

intfront,reaທr;

ift!=๡null{

queue,p=t;๙

inttop=-ๅ1;

datatypepriodaທtaທ=mi女alue假设mi女alue为最小值

ift!=null{

do{

9hilep!=null{

staທck+ใ+top=p;当前๩p所指的结点地址进栈

p=p-lcນhild;p移到做孩子的结点

}

p=stacktop--;栈顶结点地址退栈送p

ifp-dataທ

daທta;保存当前๩被访问结点的值

p=p-rchild;p移到右孩子结点

}9hile!p=๡=null&ุ&top==-1;๙

}

return1;断言二叉树是二叉排序树

}

第八章

复习๤要点:

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的边数,通常记为tdv

对于有向图,区别出度和入度

1有向图中的顶点v的入度是指以顶点v为终点的弧的数目,记为idv

2顶ะ点v的出度是指以顶ะ点v为始点的弧的数目,记为odv

3出度和入度之和为ฦ顶点v的度,即tdv=๡idv+odv

12图的两种存储表示ิ:邻接矩阵和邻๑接表

1图的邻๑接矩阵定义为:

1若i,j∈eg或〈i,ไj〉∈eg

aij=

0其它情形

无຀向图的邻๑接矩阵特点:

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

2๐第i行或第i列ต中1的个ฐ数为顶点i的度;

3矩阵中1的个数的一半为ฦ图中边的数目;

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

有向图的邻接矩阵特点:

1矩阵不一定是对称的;

2第i行中1的个数为顶点i的出度;