第9章

先将概率放大100倍,以方便构造哈夫曼树。

form=1;๙m

ifq!=0{t=lklistmaທllocsizeoflklist;t-data=p-dataທ;t-next=hcນ;hc=t;}

}

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

returntop==-1;๙

5线性结构中元素า之间存在一对一关系,树形结构中ณ元素之间存在一对多关系,图形结构中ณ元素之间存在多对多关系。

7๕在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

a.head==nullb.head→next==null9๗ext==headd.head!ำ=null

11、一个栈的输入序列为1้23…n,若输出序列ต的第一个元素是n,输出第i1next-next==l__

6、一个栈的输入序列ต是:1,2,3则不可能的栈输出序列是__ຕ312___。

7๕、用s表示入栈操作,x表示出栈操作,若元素入栈的顺序为12๐3๑4,为了得到1342๐出栈顺序,相应的s和x的操作串为_sxssxsxx__。

8、__队列__又称作先进先出表。

9๗、组成串的数据元素只能是__字符___。

10、设有c语言描述的二维数组a10่20่,其每个元素占两ä个字节,第一个元素的存储地址为ฦ100,若按行优先顺序存储,则ท元素าa66存储地址为ฦ__3๑52๐__。没说明,则下标从0开始

四、算法与应用题

1设线性表存放在向量aarrsize的前elenum个ฐ分量中且递增有序,试写一算法将x插入到线性表的适当位置,以保持线性表的有序性并分析其时间复杂度。

#definearrsize10่0่

boolsortin色rtelemtypea,ไintelenum,ไelemtypex

{

inti;

ifelenum=๡=arrsize

{

printf“该数组向量已满”;

returnfal色;

}

i=elenum-1;

9hileaix&&ุi=0

{

ai+1้=ai;

i-ๅ-;

}

ai+ใ1=x;

returntrue;

}

2已知带头结点的动态单链表l中的结点是按整数值递增排列的,试写一算法将值x为ฦ的结点插入到表l中,使l仍然有序。

线性表的单链表存储结构

typedefstru9ode

{elemtypedaທta;

stru9๗ext;

}lnode,linklist;

linklistsortin色rtlinklistl,intx带头结点

{

linklistp,q,s;๙

s=linklistmallo9ode;๙

if!s{printf“动态空间分配不成功”;exit-ๅ1;๙}

s-data=x;๙

q=l;๙

p=l-next;

9hilep!ำ=null&&p-datanext;๙

}

s-ๅnext=๡q-next;

q-next=s;

returnl;