- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 10
第一章 绪论
计算机科学是一门研究数据表示和数据处理的科学。数据是计算机化的信息,它是计算机可以直接处理的最基本和最重要的对象。无论是进行科学计算或数据处理、过程控制以及对文件的存储和检索及数据库技术等计算机应用领域中,都是对数据进行加工处理的过程。因此,要设计出一个结构好效率高的程序,必须研究数据的特性及数据间的相互关系及其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。
1.1 数据结构的概念
数据结构是计算机科学与技术专业的专业基础课,是十分重要的核心课程。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的。要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。打好“数据结构”这门课程的扎实基础,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的。
1.1.1 为什么要学习数据结构
在计算机发展的初期,人们使用计算机的目的主要是处理数值计算问题。当我们使用计算机来解决一个具体问题时,一般需要经过下列几个步骤:首先要从该具体问题抽象出一个适当的数学模型,然后设计或选择一个解此数学模型的算法,最后编出程序进行调试、测试,直至得到最终的解答。例如,求解梁架结构中应力的数学模型的线性方程组,该方程组可以使用迭代算法来求解。
由于当时所涉及的运算对象是简单的整型、实型或布尔类型数据,所以程序设计者的主要精力是集中于程序设计的技巧上,而无须重视数据结构。随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。据统计,当今处理非数值计算性问题占用了90%以上的机器时间。这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。因此,解决这类问题的关键不再是数学分析和计算方法,而是要设计出合适的数据结构,才能有效地解决问题。下面所列举的就是属于这一类的具体问题。
学生信息检索系统。当我们需要查找某个学生的有关情况的时候;或者想查询某个专业或年级的学生的有关情况的时候,只要我们建立了相关的数据结构,按照某种算法编写了相关程序,就可以实现计算机自动检索。由此,可以在学生信息检索系统中建立一张按学号顺序排列的学生信息表和分别按姓名、专业、年级顺序排列的索引表,如图1.1所示。由这四张表构成的文件便是学生信息检索的数学模型,计算机的主要操作便是按照某个特定要求(如给定姓名)对学生信息文件进行查询。
诸如此类的还有电话自动查号系统、考试查分系统、仓库库存管理系统等。在这类文档管理的数学模型中,计算机处理的对象之间通常存在着的是一种简单的线性关系,这类数学模型可称为线性的数据结构。
学号
学号
姓名
性别
专 业
年 级
980001
吴承志
男
计算机科学与技术
98级
980002
李淑芳
女
信息与计算科学
98级
990301
刘 丽
女
数学与应用数学
99级
990302
张会友
男
信息与计算科学
99级
990303
石宝国
男
计算机科学与技术
99级
000801
何文颖
女
计算机科学与技术
2000级
000802
赵胜利
男
数学与应用数学
2000级
000803
崔文靖
男
信息与计算科学
2000级
010601
刘 丽
女
计算机科学与技术
2001级
010602
魏永鸣
男
数学与应用数学
2001级
崔文靖
8
何文颖
6
李淑芳
2
刘 丽
3,9
石宝国
5
魏永鸣
10
吴承志
1
赵胜利
7
张会有
4
计算机科学与技术
1,5,6,9
信息与计算科学
2,4,8
数学与应用数学
3,7,10
2000级
6,7,8
2001级
9,10
98级
1,2,3
99级
4,5
(a)学生信息表
(b)姓名索引表
(c)专业索引表
(d)年级索引表
图 1.1 学生信息查询系统中的数据结构
八皇后问题。在八皇后问题中,处理过程不是根据某种确定的计算法则,而是利用试探和回溯的探索技术求解。为了求得合理布局,在计算机中要存储布局的当前状态。从最初的布局状态开始,一步步地进行试探,每试探一步形成一个新的状态,整个试探过程形成了一棵隐含的状态树。如图1.2所示(为了描述方便,将八皇后问题简化为四皇后问题)。回溯法求解过程实质上就是一个遍历状态树的过程。在这个问题中所出现的树也是一种数据结构,它可以应用在许多非数值计算的问题中。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
图1.2 四皇后问题中隐含的状态树
您可能关注的文档
最近下载
- (正式版)DB2306∕T 192-2024 《大庆市海绵城市规划设计导则》.pdf VIP
- 信用卡培训课件.ppt VIP
- 2022年石家庄市深泽县医院医护人员招聘考试试题及答案解析.docx VIP
- 建筑施工企业资金风险因素分析与对策探讨.pdf VIP
- 《机械设计基础》第五版10章连接.ppt VIP
- 整体式履带行走机构驱动轮设计及CAE分析.doc VIP
- 2025年广东省华南师范大学附属中学 初三物理自主招生试题 .pdf VIP
- 全国失信被执行人名单查询网查询【官网入口】.doc VIP
- 2021年石家庄市深泽县人民医院医护人员招聘试题及答案解析.docx VIP
- 松下NPM贴片机高级培训教材.pdf VIP
原创力文档


文档评论(0)