- 1、本文档共580页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构教案2
void BFS (ALGraph G, int k) { int v ,w; LinkNode *p ; Queue Q ; Q.front=Q.rear=0 ; /* 建立空队列并初始化 */ for (w=0 ; wG.vexnum ; w++) Visited[w]=FALSE ; /* 访问标志初始化 */ Visit[k]; Visited[k]=TRUE ; /* 置访问标志 */ Q.elem[++Q.rear]=k ; /* k入对 */ while (Q.front!=Q.rear) { v=Q.elem[++Q.front] ; p=G.AdjList[v].firstarc ; while (p!=NULL) { if (!Visited[p-adjvex]) { Visit(p-adjvex) ; Visited[p-adjvex]=TRUE ; Q.elem[++Q.rear]=p-adjvex ; } p=p-nextarc ; } } /* end while */ } 3. 算法实现 先给出一趟希尔排序的算法,类似直接插入排序。 void shell_pass(Sqlist *L, int d) /* 对顺序表L进行一趟希尔排序, 增量为d */ { int j, k ; for (j=d+1; j=L-length; j++) { L-R[0]=L-R[j] ; /* 设置监视哨兵 */ k=j-d ; while (k0LT(L-R[0].key, L-R[k].key) ) { L-R[k+d]=L-R[k] ; k=k-d ; } L-R[k+j]=L-R[0] ; } } 然后在根据增量数组dk进行希尔排序。 void shell_sort(Sqlist *L, int dk[], int t) /* 按增量序列dk[0 … t-1],对顺序表L进行希尔排序 */ { int m ; for (m=0; m=t; m++) shll_pass(L, dk[m]) ; } 希尔排序的分析比较复杂,涉及一些数学上的问题,其时间是所取的“增量”序列的函数。 希尔排序特点 子序列的构成不是简单的“逐段分割”,而是将相隔某个增量的记录组成一个子序列。 希尔排序可提高排序速度,原因是: ◆ 分组后n值减小,n2更小,而T(n)=O(n2),所以T(n)从总体上看是减小了; ◆ 关键字较小的记录跳跃式前移,在进行最后一趟增量为1的插入排序时,序列已基本有序。 增量序列取法 ◆ 无除1以外的公因子; ◆ 最后一个增量值必须为1。 3 哈希查找分析 从哈希查找过程可见:尽管散列表在关键字与记录的存储地址之间建立了直接映象,但由于“冲突”,查找过程仍是一个给定值与关键字进行比较的过程,评价哈希查找效率仍要用ASL。 哈希查找时关键字与给定值比较的次数取决于: ◆ 哈希函数; ◆ 处理冲突的方法; ◆ 哈希表的填满因子? 。填满因子?的定义是: 表中填入的记录数 哈希表长度 ?= 各种散列函数所构造的散列表的ASL如下: ⑴ 线性探测法的平均查找长度是: 1 2 ) 1- ? 1 ?(1+ Snl成功≈ 1 2 (1- ?)2 1 ) ?(1+ Snl失败≈ ⑵ 二次探测、伪随机探测、再哈希法的平均查找长度是: 1 1-? Snl失败≈ ?㏑(1-?) 1 ? Snl成功≈ - ⑶ 用链地址法解决冲突的平均查找长度是: Snl失败≈ ?+e-? ? 2 1+ Snl成功≈ 习 题 九 ⑴ 对于一个有n个元素的线性表,若采用顺序查找方法时的平均查找长度是什么?若结点是有序的,则采用折半查找法是的平均查找长度是什么? ⑵ 设查找表采用单链表存储,请分别写出对该表进行顺序查找的静态查找和动态查找的算法。 ⑶ 设二叉排序树中的关键字互不相同:则 ①
您可能关注的文档
最近下载
- 栏杆工程施工组织设计(技术标).doc
- 2024北京一零一中初二(下)期中物理及答案.docx
- 跨学科实践活动09+探究土壤酸碱性对植物生长的影响(教学课件)-2024-2025学年九年级化学跨学科实践活动教学课件+设计(人教版2024).pptx VIP
- 2024年山东省滨州市中考化学试题附解析答案.pptx VIP
- 违反中央八项规定精神清单80条PPT深入贯彻中央八项规定精神.pptx VIP
- 外研社新一代大学英语(基础篇)综合教程B2U4 iExplore 2.pptx VIP
- 3-哈利波特与阿兹卡班的囚徒 中英对白剧本.pdf VIP
- 2024年社区工作者考试必背1000题题库及答案.docx VIP
- 计算小达人3年级数学下册人教版.pptx
- 初始过程能力研究计划.xls VIP
文档评论(0)