- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011计算机考研必备——数据结构课程设计题集(通用版)
数据结构课程设计题集
1.Skip List的实现及分析 2
2. B-Trees的实现及分析 3
3. AVL Tree的实现及分析 4
4.N-ary Trie的实现和分析 4
5.Red-Black Tree的实现和分析 5
6.Binomial heaps的实现和分析 6
7.遗传算法的模拟 7
8.基于细胞自动机(Cellular Automata)实现Gossip模型的模拟与分析 9
9.基于细胞自动机(Cellular Automata)实现tribute 模型的模拟与分析 10
10. 蚁群算法在旅行商问题中的应用 11
11. 汽车租借公司的管理 12
12. 学生成绩管理系统 13
13. 长整数的代数计算 13
14. 迷宫的生成与路由 14
15.文档集合上的查询 14
16. 应用堆实现一个优先队列 15
17. 应用小大根交替堆实现双端优先队列 15
18. 模拟文件目录系统 17
19. 一个基于XML的网站生成器 18
20.简单矢量图形的几何变换 19
21. 模拟一个海洋生物系统 20
22.实现简单数字图像处理 21
23.媒体流调度问题 22
24.DES的实现 22
25. 设计一个动画语言的解释执行器 25
26. 指令调度算法 26
27. 模拟Sensor network的工作 27
28. 模拟贝叶斯网 28
29. 模拟车间流水线的工作 29
30. 教学计划编制问题 30
31. 集合的等价划分 30
32. 哈夫曼编码与译码 31
33. 小型文本编辑器的设计 31
34. 设置信号放大器问题 31
35.后缀树的构造 32
36.后缀数组的构造 33
37.多项式链式存储结构及其代数运算 33
38.“随机漫步”问题 34
39.骑士巡游问题 35
40.稀疏矩阵的完全链表表示及其运算 36
1.Skip List的实现及分析
(1) 问题描述
Skip List作为有序链表结构的一种扩展,如下图所示,其中a是普通的单链表;而b是在次基础上加上第二层(level 2)的额外指针,这些额外的指针指向间隔为2的下一个结点,skip list因此得名;类似的c是加上level 3后的skip list;d是加上level 4后的skip list。
图4-1 Skip List的基本结构示意图
Skip List上查找的基本思想是先从最高的Level层上查找,找到key所在的范围后,再从较低的层次继续重复查找操作,直到Level 1。
Skip List上的插入操作如下图所示。
图4-2 Skip List上插入操作的示意图
Skip List上的删除操作只需直接删除元素即可(包括指针的修整)。
构造并实现Skip List的ADT,同时实现双向Skip List的ADT及循环Skip List的ADT。
(2) 课程设计目的
认识并应用Skip List数据结构,并体会线性结构的变形。
(3) 基本要求
① ADT中应包括初始化、查找、插入、删除等基本操作。
② 分析各基本操作的时间复杂性。
③ 针对一个实例实现Skip List的动态演示(图形演示)。
2. B-Trees的实现及分析
(1) 问题描述
B-Trees是一类满足特殊条件的M路查找树。首先说明M路查找树,M路查找树是二元查找树的一般化,其结构如下图所示的3路查找树:M路查找树中的任一结点至多存放M-1个数据,并至多拥有M棵子树;每个结点中的数据按升序排列V1 V2 ... Vk (k = M-1),每个数据Vi都存在一棵左子树和一棵右子树,如果左子树不空的话,该子树中所有结点的值都小于Vi,如果右子树不空的话,该子树中所有结点的值都大于Vi。
图4-3 3-路查找树的结构示意图
B-Trees是满足如下两个条件的M路查找树:
① 所有叶结点的高度相同。
② 除根之外的所有结点都至少是半满的,即该结点包含M/2或更多的值。
下图是一个B-树的实例。
图4-4 3-路B-树的结构示意图
(2) 课程设计目的
认识并分析B-树。
(3) 基本要求
实现在B-树上的查找,并分析其时间复杂性。
实现B-树的ADT,包括其上的基本操作:结点的加入和删除。
要求B-树结构中的M=3或5,实现其中的一种即可。
实现基本操作的演示。
(4) 实现提示
主要考虑结点的分裂和和并。
3. AVL Tree的实现及分析
(1) 问题描述
AVL(Adelson-Velskii and Landis)树是一株平衡的二元查找树。一株平衡的二元树就是指对其每一个结点,其左子树和右子树的高度之差不超过1。下图就是一个AVL树的实例。
图4-5 AVL树的结构示意图
(2) 课程设计目的
认识AVL Tree数据结构。
原创力文档


文档评论(0)