- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据查找1.doc
计算机工程系
C++程序设计
课程设计报告
设计题目: 数据查找
系 别: 计算机工程系
专 业: 计算机科学与技术
班 级: 计算机1062
学生姓名: 袁 娜 学 号: 1061301205
起止日期: 2007年6月25日~2007年6月30日
指导教师: 徐 成 杰
摘要:
数据查找知识是计算机应用中的确重要部分,作为大学生来说,掌握数据查找技术是十分重要的。这次主要是掌握这部分知识,并且能在今后的工作、学习、生活中会应用。数据查找可分为顺序查找、二分查找、索引查找、散列查找等。顺序查找方法既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构。二分查找则要求线性表是有序表。使用索引能够快速的定位查找范围,使得可以将数据分块的读入内存查找。散列方法它主要是用于快速查找,不以关键字的比较为基本操作,而是直接采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字。
关键词:数据查找,顺序查找,二分查找,索引查找,散列查找
目 录
1课题综述 1
1.1 预期目标 1
1.2 面对的问题 1
1.3 需解决的关键技术 1
1.4 涉及的知识基础 1
2课题内容 3
2.1 查找的背景介绍 3
2.2 查找的基本概念 3
2.3 顺序查找 3
2.4 二分查找 5
2.5 索引查找 6
2.6 散列查找 8
3代码编写 10
3.1 顺序查找 10
3.2 二分查找 10
3.3 索引查找 11
3.4 散列查找 12
4程序调试 14
4.1 常见错误分析: 14
4.2 问题解决方法 14
5运行结果与测试 15
6结论 17
总 结 18
致 谢 19
参考文献 20
1课题综述
当今世界,计算机技术越来越广泛地在各个领域得到应用,作为大学生而言,掌握计算机基本技术显得尤为重要。本次课程设计课题——数据查找作为基本操作之一,通过使用顺序查找、二分查找、索引查找、散列查找四种算法实现程序运行,获得所需查找信息,比较它们的优、缺点和改进方法,提高实用性和计算机处理效率。
1.1 预期目标
通过四种算法的编辑、调试和运行,基本实现程序运行,并对C++知识有较为牢固地掌握。在有余力的情况下,可以尝试新的方法编辑查找程序算法。
1.2 面对的问题
这学期初接触C++语言,这次也是第一次使用C++语言来编辑代码,由于没有较牢靠的基础,在使用知识点时从理论到实践操作都遇到了很大障碍,不知道如何翻译成编辑语句;而且索引和散列查找是两个全新的概念,需要从书中或上网查资料,因此花了很多时间。再者,就是运行时若出现一个小错误也会使整个程序无法运行。
1.3 需解决的关键技术
牢固的C++理论知识功底,以及清晰地思维。如调用四个函数实现四种方法的查找,尤其在后两种算法中,需要运用到指针和结构体的知识点,务必理解每一环节的含义。顺序查找和二分查找是基础,索引查找和散列查找是知识的延伸和拓展,需要独立思考和勇于发现问题,积极同老师和同学探讨。
1.4 涉及的知识基础
if-else语句执行过程:当给定的条件满足时,执行一个语句;当条件不满足时,执行另一个语句。
switch语句执行过程:首先计算“表达式”的值,然后,其结果值依次与每一个常量表达式的值进行匹配(常量表达式的值的类型必须与“表达式”的值的类型相同)。如果匹配成功,则执行该常量表达式后的语句系列。当遇到break时,则立即结束switch语句的执行,否则,顺序执行到花括号中的最后一条语句。default情形是可选的,如果没有常量表达式的值与“表达式”的值匹配,则执行default后的语句系列。注意:表达式的值的类型必须是字符型或整型。
while语句执行过程:首先计算“表达式”(称之为循环条件)的值,如果其结果值非0,则执行“语句”(称之为循环体)。这个过程重复进行,称之为循环,直至“表达式”的值为0时,才结束循环。
for语句执行过程:首先计算循环初值,且仅计算一次。每一次循环之前计算循环条件,如果其结果非0,则执行循环体,并计算循环增量。否则,循环终止。
数组概念:在C++中,数组是一种集合数据类型,它由许多元素组成,每一个元素都有相同的数据类型,在内存中占用相同大小的存储单元,且在内存中连续存放。每一个数组有一个名字,数组中的每一个元素有一个序号(或称下标)表示元素在数组中的位置,正是通过下标来识别数组中的每一个元素。
结构与数组不同,是不同数据类型的数据集合。结构中的不同类型的数据都是有关联的,它
文档评论(0)