数据结构(C语言)作业.ppt
《数据结构(C语言)作业.ppt》由会员分享,可在线阅读,更多相关《数据结构(C语言)作业.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章作业:第二章作业:1.指出以下算法中的错误和低效(即费时)之处,并将指出以下算法中的错误和低效(即费时)之处,并将它改为一个既正确又高效的算法。它改为一个既正确又高效的算法。Proc DeleteK(VAR a:sqlist;i,k:integer);从顺序存储结构的线性表从顺序存储结构的线性表a中删除自第中删除自第i个元素起的个元素起的K个元素个元素 If (ia.last)then error(Argument invalid)else for count:=1 to k do 【for j:=a.last downto i+1 do a.elemj-1:=a.elemj;a.las
2、t:=a.last-1】ENDP;deleteK2.设顺序表设顺序表Va中的数据元素递增有序。试写一算法,将中的数据元素递增有序。试写一算法,将X插入到插入到顺序表的适当位置上,以保持该表的有序性。顺序表的适当位置上,以保持该表的有序性。3.用单链表实现用单链表实现Locate(L,x)函数。(可参考函数。(可参考P26算法算法2.5)4.上机题:设单链表上机题:设单链表Va中的数据元素递增有序。试编中的数据元素递增有序。试编 写程序,将数据写程序,将数据X插入单链表插入单链表Va,要求插,要求插 入后保持该表的有序性。入后保持该表的有序性。5.写出双向链表删除第写出双向链表删除第i个结点的算
3、法。个结点的算法。6.写出求双向循环链表长度的算法。(注:头结点写出求双向循环链表长度的算法。(注:头结点不算)不算)第三章作业:第三章作业:1.上机题:编写程序,判别表达式中(、)是否配对出现。上机题:编写程序,判别表达式中(、)是否配对出现。2.写出下列程序段的输出结果(栈的元素类型为:写出下列程序段的输出结果(栈的元素类型为:char).var s:stack;x,y:char;begin x:=c;y:=k;push(s,x);push(s,a);push(s,y);x:=pop(s);push(s,t);push(s,x);x:=pop(s);push(s,s);while not
4、empty(s)do【y:=pop(s);write(y)】;writeln(x);end;第四章作业第四章作业:1.用用4.1.2提供的提供的7种串的基本操作来实现种串的基本操作来实现insert(s,pos,t)和和 delete(s,pos,len)操作操作.2.上机题:编写程序,完成静态存储串时的上机题:编写程序,完成静态存储串时的insert(s,pos,t)或或delete(s,pos,len)操作。操作。3.课堂练习:执行以下程序段,写出运行结果。课堂练习:执行以下程序段,写出运行结果。proc p;creat(s,this is a book);replace(s,substr
5、(s,3,7),ese are);creat(t,concat(s,s);creat(u,xyxyxyxyxyxy);creat(v,substr(u,6,3);creat(w,w);writeln(t,v,replace(u,v,w)endp;p第五章作业:第五章作业:1.假设有二维数组假设有二维数组a:array1.6,0.7 of elemtp;每个数据元每个数据元 素占素占6个字节个字节,存储器按字节编址。存储器按字节编址。a的基地址为的基地址为1000,则:则:(1)数组数组a的体积;的体积;(2)数组数组a的最后一个元素的第一个字节的地址;的最后一个元素的第一个字节的地址;(3)按
6、行存储时,按行存储时,a2,4的第一个字节的地址;的第一个字节的地址;(4)按列存储时,按列存储时,a5,7的第一个字节的地址;的第一个字节的地址;第六章作业:第六章作业:1.一棵度为一棵度为2的树与一棵二叉树有何区别?的树与一棵二叉树有何区别?2.试分别画出具有试分别画出具有3个结点的树和个结点的树和3个结点的二叉树的所有个结点的二叉树的所有 不同形态。不同形态。3.已知一棵度为已知一棵度为k的树中有的树中有n1个度为个度为1的结点,的结点,n2个度为个度为2 的结点,的结点,nk个度为个度为k的结点,问该树中有多少个的结点,问该树中有多少个 叶子结点。叶子结点。4.对题对题2所得的所得的3
7、个结点的二叉树的个结点的二叉树的5种不同形态,分别写种不同形态,分别写 出先序、中序、后序的遍历序列。出先序、中序、后序的遍历序列。5.一棵含有一棵含有n个结点的个结点的k叉树,可能达到的最大深度和最小叉树,可能达到的最大深度和最小 深度各为多少?深度各为多少?6.上机题:按先序次序建立以下二叉树,然后分行输出它上机题:按先序次序建立以下二叉树,然后分行输出它 的先序、中序、后序序列。的先序、中序、后序序列。ABFCJM7.写出下列各树的先根序列写出下列各树的先根序列,后根序列后根序列,并且画出对应的二并且画出对应的二叉树叉树.AABCABCABCDEFG HIJK8.画出第画出第7题的森林相
8、应的二叉树题的森林相应的二叉树.9.画出和下列已知序列对应的树画出和下列已知序列对应的树T:树的先根次序访问序列为树的先根次序访问序列为:GFKDAIEBCHJ,而且而且 树的后根次序访问序列为树的后根次序访问序列为:DIAEKFCJHBG。10.画出和下列二叉树相应的森林画出和下列二叉树相应的森林:AABCABCABDCHEKFGJMI11.假设用于通讯的电文仅由假设用于通讯的电文仅由8个字母组成个字母组成,字母在电文中出字母在电文中出 现的频率分别为现的频率分别为0.07、0.19、0.02、0.06、0.32、0.03、0.21、0.10。试为这。试为这8种字母设计哈夫曼编码。种字母设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言 作业
限制150内