刺客信条4抵达丛林出口:C++的题目..小弟跪求解答...麻烦个位高手了

来源:百度文库 编辑:高考问答 时间:2024/05/08 03:54:02
一、题目:二分查找与分块查找算法的比较
二、目的与要求:
1.目的:
培养学生综合利用C++语言进行程序设计的能力,主要是培养学生对模块化设计思想的理解,合理划分函数功能及参数设计。
2.基本要求:
a)用模块化设计思想来完成程序的设计
b)在VC中调试完成
3.创新要求:
用函数完成。
4.写出设计说明书,书写设计报告的要求
设计报告中包含以下几个方面:
1、设计题目
2、根据算法画出模块图和程序流程图
3、列出程序清单,并加以必要的注释
4、写出调试程序的方法
5、指出所设计问题的不足和改进方案
三、设计方法和基本原理:
1.问题描述:
二分查找:
二分查找要求线性表中的结点必须按关键字值得递增或递减的顺序排列。它首先用要查找的关键字k与中间位置的节点的关键字进行比较,这个中间结点把线性表分成了两个子表,若比较结果相等,则查找完成;若不相等,再根据k与该中间结点关键字的比较大小的确定下一步查找哪个子表。就这样递归进行下去,直到找到满足条件的节点或者该线性表中没有这样的点。

分块查找:
分块查找又称为索引顺序查找,其性能介于顺序查找和二分查找之间。分块查找把线性表分成若干块,每一块中的元素存储顺序是任意的,但是块与块之间必须按关键字大小有序排列。
即前一块中的最大关键字小于后一块中的最小关键字值。另外还需要建立一个索引表,索引表的一项对应线性表中的一块。索引项由键域和链域组成。键域存放相应块的最大关键字,链域存放指向本块的第一个结点的指针。索引表按关键字值递增顺序排列。
分块查找的函数分两步进行,首先确定待查找的节点属于哪一块。然后在块内查找要查的点。由于索引表是递增有序的,采用二分查找时,块内个数较少。采用顺序查找,不会对执行速度有太大影响。
要求:分别实现二分查找与分块查找算法的比较,并进行定性分析,定性分析,包括平均查找长度等。
2.问题的解决方案:
程序中输入要排序的数据,所有功能都用函数完成。
四、主要技术问题的描述:
注意,数据可用数组存储。

程序倒是不难,就是这个

“4.写出设计说明书,书写设计报告的要求
设计报告中包含以下几个方面:
1、设计题目
2、根据算法画出模块图和程序流程图
3、列出程序清单,并加以必要的注释
4、写出调试程序的方法
5、指出所设计问题的不足和改进方案

太麻烦了。
其实C++对C完全兼容,也可以用C写啊。

二分查找:俗称 折半查找。递归函数很简单的。

分块查找又称为索引顺序查找,麻烦的地方在线性表的建立。
呵呵,程序应该是不难吧。就是设计报告难写。
我要期末考试了,故现在不能给你详细的程序解答。放假后应该有时间写吧。
就到这里了啊。
祝你好运啊!