作业及答案解说.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构作业及答案 (C语言版) 目 录 1、第2章 线性表 2、第3章 栈和队列 3、第6章 树和森林 4、第7章 图 5、第8章 集合与查找 6、第9章 索引与散列 第2章 线性表作业及答案1-1 1、已知有一个单链表L,设计一个算法,通过一趟遍历,在L中确定值最大的结点,返回指向该结点的指针。(注:遍历是指从头至尾访问单链表中的每一个结点且指访问一次) 第2章 线性表作业及答案1-2 2、设计一个算法,在非递减有序的单链表L中删除值相同的多余结点 第3章 栈和队列作业及答案2-1 假设以数组Q[m]存放循环队列中的元素,同时设置一个标志tag==0和tag==1来区别当队头指针front和队尾指针rear相等时,队列的状态是“空”还是“满”。试编写与此结构相应的入队(EnQueue)和出队(DeQueue)算法。要求先写明结构,再写算法 第3章 栈和队列作业及答案2-2 第6章 树和森林作业及答案4-1 1、编写递归算法,统计二叉树中度为2的结点个数 第6章 树和森林作业及答案4-2 2、给定权值集合{ 15, 3, 14, 2, 6, 9, 16, 17 },构造相应的Huffman树,并计算它的带权路径长度(要求画出Huffman树的构造过程) 第6章 树和森林作业及答案4-3 第6章 树和森林作业及答案4-4 第7章 图作业及答案5-1 1、用数学归纳法证明有n个顶点的完全无向图有n(n-1)/2条边 第7章 图作业及答案5-2 2、对于如图所示的有向图,试画出从顶点①出发进行深度优先搜索得到的深度优先生成树 第8章 集合与查找作业及答案6-1 将关键字{ DEC, FEB, NOV, OCT, JUL, SEP, AUG, APR, MAR, MAY, JUN, JAN }依次插入到一棵初始为空的AVL树中,画出每插入一个关键字后的AVL树,需要平衡时标明平衡旋转的类型和结果(注:按字典顺序比较) 第8章 集合与查找作业及答案6-2 第8章 集合与查找作业及答案6-3 第8章 集合与查找作业及答案6-4 第9章 索引与散列作业及答案7-1 给定关键字序列{ 11, 78, 10, 1, 3, 2, 4, 21 },分别用顺序查找、折半查找、二叉排序树、平衡二叉树、散列表(用线性探查法和链地址法)实现查找,画出它们对应的存储结构(顺序查找的顺序表,折半查找的二叉判定树,二叉排序树、平衡二叉树以及两种散列表),并求出每一种查找在等概率下查找成功时的ASL。其中,散列表为HT[11],散列函数为H(key)=key%11 第9章 索引与散列作业及答案7-2 可以得到顺序查找的平均查找长度为:ASL=(1+2+3+4+5+6+7+8)/8=(8+1)/2=4.5 (2) 先按关键字排序,折半查找的判定树如图所示, 第9章 索引与散列作业及答案7-3 (3) 二叉排序树和平衡二叉树如图所示, 第9章 索引与散列作业及答案7-4 (4) 线性探查法解决冲突的散列表如图所示, 第9章 索引与散列作业及答案7-5 The End LNode *Max(LinkList head) { if (head?next==NULL) return NULL; //空表 LNode *pmax=head?next; //pmax从第一个结点开始 LNode *p=head?next?next; //p从第二个结点开始 while (p!=NULL) { if (p?data pmax?data) pmax=p; p=p?next; } return pmax; } 【解答】设LNode为单链表结点结构,LinkList为LNode*,head为单链表的头指针 void delete_duplicate(LinkList head) { LNode *p=head?next; LNode *temp=NULL; while (p!=NULL p?next!=NULL) { if (p?data == p?next?data) { temp=p?next; p?next=temp?next; delete temp; } else p=p?next; } } 【解答】设LNode为单链表结点结构,LinkList为LNode*,head为单链表的头指针 #define MAXQSIZE 100 typedef struct { ElemType *base; int front, rear, tag; } SqQueue; int IsEmpty(SqQueue Q) {

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档