数据结构习题课课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构习题课课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题 课件
- 资源描述:
-
1、1作者:王丽萍2在线性表中最常用的操作是存取第i个元素及其前驱的值,采用顺序表存储方式最省时间。某线性表中最常用的操作是存取序号为i的元素和在最后进行插入和删除运算,则采用顺序表存储方式时间性能最好。在链表中最常用的操作是删除表中最后一个结点和在最后一个结点之后插入元素,则采用_D_最节省时间。A.A.带头指针的单向循环链表 B.双向链表 C.带尾指针的单向循环链表 D.带头指针的双向循环链表 3在线性表中最常用的操作是存取第i个元素及其前驱的值,可采用_ABCD_存储方式。A.顺序表 B.单向链表 C.双向循环链表 D.单向循环链表假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存
2、储结构,请编写算法,将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表的(即A表和B表的)结点空间存储表C。4void merge(Linklist A,Linklist B,Linklist C)Linklist pa,pb,p;pa=A-next;pb=B-next;C=A;C-next=NULL;free(B);5while(pa&pb)if(pa-data data)p=pa;pa=pa-next;p-next=C-next;C-next=p;6elsep=pb;pb=pb-next;p-next=C-next;C-next=p;7if(!pa)while(pb)p=
3、pb;pb=pb-next;p-next=C-next;C-next=p;8else if(!pb)while(pa)p=pa;pa=pa-next;p-next=C-next;C-next=p;9建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每个结点的data域存放一个二进制位,并在此链表上实现对二进制数加1的运算。(假设链表L为从低位到高位)void AddOne(Linklist L)Linklist p=L-next;while(p-next&p-data=1)p-data=0;p=p-next;10if(p-next)p-data=1;elseif(p-data=0)p-
4、data=1;elsep-data=0;Linklist q=(Linklist)malloc(sizeof(Node);11q-data=1;q-next=NULL;p-next=q;return;12设队列中有A、B、C、D、E这5个元素,其中队首元素为A。如果对这个队列重复执行下列4操作:(1)输出队首元素;(2)把队首元素值插入到队尾;(3)删除队首元素;(4)再次删除队首元素。直到队列成为空队列为止,是否可能得到输出队列:A、C、E、C、C 13试利用栈编写计算下列递归函数的非递归形式的算法。0,m=0,n 0,m=0,n 0 0 g(m,n)=g(m,n)=g(m-1,2n)+n,
5、m 0,n g(m-1,2n)+n,m 0,n 0 0(程序)14画出与下列已知序列对应的树T:树的先根次序访问序列为CFKDAIEBCHJ 树的后根次序访问序列为DIAEKFCJHBG(P177)树与二叉树的转换关系:树中的任意一个结点都对应于二叉树中的一个结点。树中某结点的第一个孩子在二叉树中是相应结点的左孩子,树中某结点的右兄弟结点在二叉树中是相应结点的右孩子。树的后根遍历序列 =二叉树的中序遍历序列15根据先序序列和中序序列确定二叉树将二叉树转化为树:二叉树中每个结点都对应于树中每个结点;二叉树中某结点的左孩子为树中该结点的第一个孩子;二叉树中某节点的右孩子为树中该结点的右兄弟。16假
6、设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10构造哈夫曼树的算法步骤:(P184)找最小树:在森林F中选择两棵结点权值最小的二叉树,作为一棵新二叉树的左右子树,标记新二叉树的根结点权值为其左、右子树的根结点权值之和;删除与加入:从F中删除被选中的那两棵二叉树,同时把新构成的二叉树加入到森林F中。17(1)0.07,0.19,(1)0.07,0.19,0.020.02,0.06,0.32,0.06,0.32,0.030.03,0.21,0.10,0.21,0.10 0.020.030.0518(2 2
7、)0.07,0.19,0.07,0.19,0.060.06,0.32,0.21,0.10,0.32,0.21,0.10,0.050.05 0.020.030.050.060.1119(3 3)0.070.07,0.19,0.32,0.21,0.19,0.32,0.21,0.100.10,0.110.11 0.020.030.050.060.110.070.170.1020(4 4)0.19,0.32,0.21,0.19,0.32,0.21,0.110.11,0.170.17 0.020.030.050.060.110.070.170.100.2821(5 5)0.190.19,0.32,0.3
展开阅读全文