没有合适的资源?快使用搜索试试~ 我知道了~
数据结构》抽象数据类型模板库及常用算法的面向对象C++实现毕业论文.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 103 浏览量
2023-08-10
09:54:49
上传
评论
收藏 411KB DOCX 举报
温馨提示
试读
37页
数据结构》抽象数据类型模板库及常用算法的面向对象C++实现毕业论文.docx
资源推荐
资源详情
资源评论
《数据结构》抽象数据类型模板库及常用
算法的面向对象 C++实现
[摘 要] 《数据结构》是一门综合性较强的计算机软件、程序设计理论和技术相
结合的重要基础课程。它主要讨论抽象数据关系和算法在计算机中的表示与实现,涉及
到的数据在计算机中的表示、组织和处理,以及相应结构上的算法设计和算法性能上的
分析技术。为解决《数据结构》课程中 ADT(抽象数据类型)定义和 C++标准模板库的操
作名称不一致问题,方便学习和使用,开发了一个严格按照《数据结构》定义的类型模
板库,并实现了常用排序算法。该类库具有操作便捷、可读性好、易于维护等特点;对
于深化对数据结构算法的理解,提高计算机程序设计水平具有很好的促进作用;而且具
有一定的实用价值,能有效地改善数据结构算法教学的质量和效率,对于其他类似系统
也有很大的借鉴意义。
[关键词] 数据结构;面向对象;排序;模板
Implementation of Data Structure ADT
and Commonly-used Algorithm by C++
Abstract: The data structure is a more integrated important foundation course, in which
computer software, program design theory and technology combined, it mainly discusses
about the realization and implementation of data relations and the algorithm, the organization
and processing of involves data by computer, and the analysis technique of algorithm design
and the performance of the algorithm. In order to solve the difference between ADT `s
(abstract data type) definitions in the "Data Structure" course and the operation name of the
C++ standard template library, easy to learn and use, we develop a type template library
which is strictly following the definition of "Data Structures". At the same time, it also
realizes the commonly-used sorting algorithm. The library is more convenient to operate and
easy to read and maintain. It plays a positive role in deepening the understanding of the
algorithm in data structure and improving the level of computer programming. In a way, it
also has the practical value in improving the teaching quality of data structure algorithm
effectively, which will be a reference for other similar systems.
Key words: Data structure ; Object-oriented ; sort ; Template library
目 录
1. 引言........................................................................................................................................1
1.1 什么是数据结构...........................................................................................................1
1.2 系统开发的意义...........................................................................................................1
1.3 系统开发现状...............................................................................................................2
1.4 系统开发的内容和目标...............................................................................................2
2. 系统开发的相关知识软件的架构平台分析........................................................................3
2.1 C++语言概述 ................................................................................................................3
2.2 面向对象.......................................................................................................................3
2.2.1 面向过程和面向对象.........................................................................................3
2.2.2 面向对象的特征.................................................................................................5
2.3 抽象数据类型...............................................................................................................5
2.4 算法...............................................................................................................................6
2.4.1 算法的特征.........................................................................................................6
2.4.2 算法的评价.........................................................................................................7
2.4.3 算法设计与分析的基本方法.............................................................................7
2.5 系统开发工具和平台...................................................................................................9
3. 系统的详细设计..................................................................................................................10
3.1 系统结构.....................................................................................................................10
3.1.1 系统模块图设计...............................................................................................10
3.1.2 系统功能各模块简单介绍...............................................................................10
3.2 系统详细设计.............................................................................................................11
3.2.1 顺序表模板库的设计.......................................................................................11
3.2.2 单链表模板库的设计.......................................................................................13
3.2.3 栈模板库的设计...............................................................................................16
3.2.4 队列模板库的设计...........................................................................................17
3.2.5 二叉树模板库的设计.......................................................................................19
3.2.6 直接插入排序算法的设计...............................................................................21
3.2.7 冒泡排序算法的设计.......................................................................................22
3.2.8 简单选择排序算法的设计...............................................................................23
3.2.9 快速排序算法的设计.......................................................................................24
3.2.10 堆排序算法的设计.........................................................................................25
4. 系统发布和测试..................................................................................................................26
4.1 类库的发布.................................................................................................................26
4.1.1 类库的导入.......................................................................................................26
4.1.2 类库的使用.......................................................................................................27
4.2 类库的测试.................................................................................................................27
4.2.1 测试环境...........................................................................................................27
4.2.2 测试的目的.......................................................................................................27
4.2.3 测试的步骤.......................................................................................................28
4.2.4 测试的主要内容...............................................................................................28
4.2.5 类库的部分测试结果.......................................................................................28
结束语.......................................................................................................................................30
参考文献...................................................................................................................................32
致谢...........................................................................................................................................33
1
1. 引言
计算机科学是一门研究数据表示和数据处理的科学。数据是计算机化的信息,它是
计算机可以直接处理的最基本和最重要的对象。无论是进行科学计算或数据处理、过程
控制以及对文件的存储和检索及数据库技术应用等,都是对数据进行加工处理的过程。
因此,要设计出一个结构好效率高的程序,必须研究数据的特性及数据间的相互关系及
其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。
1.1 什么是数据结构
《数据结构》是一门综合性较强的计算机软件、程序设计理论和技术相结合的重要
基础课程。它主要讨论抽象数据关系和算法在计算机中的表示与实现,涉及到的数据在
计算机中的表示、组织和处理,以及相应结构上的算法设计和算法性能上的分析技术。
它所包含的知识与提倡的技术方法,无论对大家进一步学习计算机领域里的其他课程,
还是对今后从事理论研究、应用开发及技术管理工作都起着重要的作用。
它同时也是一门研究非数值计算的程序设计问题的学科,它的概念、原理和方法在
程序设计软件开发的过程中也具有极其重要的指导意义,可以帮助人们解决社会生产活
动中的很多问题,是门实践性很强的课程。它主要研究数据的逻辑结构、存储结构和算
法。算法是程序设计的灵魂,学习算法可以锻炼抽象的逻辑思维能力,间接地提高程序员
解决问题的能力、遇到新问题的思考能力及抽象思维的能力,不是说所有的具体问题都
能在现实中找到答案,但也尝试类比经典的问题试图找到最优的解而不是近似的解。尤
其是学了这门课程中图的最短路径、最小生成树、哈夫曼树等内容后,大家对于现实世
界中的问题,会从中抽象出一个适当的数学模型,该数学模型在计算机内部用相应的数
据结构来表示,然后设计一个解此数学模型的算法,再进行编程调试,最后获得问题的解
答。它的内容也具有很强的可伸缩性。既有新的数据结构、新的算法以及新的理论不断
出现,而且数据结构和算法也可以针对不同的问题进行调整,同一个问题还可以用不同
的数据结构和算法来解决,具有极其广泛的适用性。例如用邻接表表示图可以用广度优
先遍历也可以采用深度优先遍历。而用广度优先遍历时,常用队列来实现算法;用深度优
先遍历时,又常用栈来实现算法。数据结构实际上就是程序里对数据的表达方式,给大家
一种处理数据处理逻辑思想上的一套思想
[1]
。
1.2 系统开发的意义
计算机科学与技术飞速的发展大大推动了社会经济和科技的发展,并改变了人类生
活和工作方式。计算机技术已成为现代化发展的重要支柱和标志,并逐步渗透到人类生
活中的各个领域。随着计算机硬件的发展,对计算机软件的发展也提出了越来越高的要
求,而软件的核心是算法,算法实际上是对加工数据过程的描述、是解决问题的方法与策
剩余36页未读,继续阅读
资源评论
豆包程序员
- 粉丝: 2725
- 资源: 3504
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功