- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法 教师:范昊 email:fanhao.0325@126.com Office: 文理大楼609东 教学目的 掌握常用的基本数据结构的ADT(Abstract Data Type)及其应用 学会合理地组织数据, 有效地表示数据, 有效地处理数据 基本掌握算法的设计分析技术 提高程序设计的质量 教 材 主教材: ??王红梅、胡明等《数据结构(C++版)》,清华大学出版社。 教学参考书 1、数据结构,严蔚敏、吴伟民,清华大学出版社,1997年4月第一版 2、数据结构与算法,张铭等,高等教育出版社,2004年 3、殷人昆,《数据结构——用面向对象方法与C++描述》,清华大学出版社,1999。 4、张乃孝,裘宗燕,《数据结构——C++与面向对象的途径》,高等教育出版社,2001。 5、等等 注意事项 1.重点内容参照2009年全国硕士研究生入学统一考试。 2.巩固C/C++,注意课后复习和思考。 3.借阅其他参考书,不要借作者太多和太厚的。 4.认真完成作业,即使做不出来写出你的想法,哪里出现问题。 5.上机带C++教材,很多内容需要查阅,比如模板等。 第一章 绪论 1.1 数据结构的兴起和发展 1.2 数据结构的研究对象 1.3 数据结构的基本概念 1.4 算法与算法分析 1.5 算法的效率度量 1.1 数据结构的起源 1946年美国第一台电子计算机问世,那时候它用来计算弹道轨迹,也就是用来进行数值计算。早期的计算机一直都是用来进行数值计算的,比如数学中的求解方程组,计算微积分等。 随着时代的进步与发展,单纯的数值计算不能再满足人们的要求,计算机也发展到可以进行非数值计算,比如图像处理,视频音频处理等等。 1968 年克努思教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。 70 年代初,数据结构作为一门独立的课程开始进入大学课堂。 数据结构发展的三个阶段 无结构阶段。 40~60 年代,计算机的应用主要针对科学计算,程序设计技术以机器语言 / 汇编语言为主,程序处理的数据是纯粹的数值,数据之间的关系主要是数学公式或数学模型。 ⑵ 结构化阶段。 60~80 年代,计算机开始广泛应用于非数值处理领域,数据表示成为程序设计的重要问题。图灵奖获得者沃思给出了一个著名的公式: 数据结构 + 算法 = 程序。 从这个公式可以看到,数据结构和算法是构成程序的两个重要的组成部分,一个软件系统通常是以一个或几个关键数据结构为核心而组织的。 结构化程序设计的缺点 由于软件系统的实现依赖于关键数据结构,如果这些关键数据结构的一个或几个有所改变,则涉及到整个系统,甚至导致整个系统彻底崩溃。 ⑶ 面向对象阶段。 面向对象技术(首先是面向对象程序设计)始于 80 年代初,是目前最流行的程序设计技术。 在面向对象技术中,问题世界的相关实体被视为一个对象,对象由属性和方法构成,属性用以描述实体的状态或特征,方法用以改变实体的状态或描述实体的行为。一组具有相同属性和方法的对象的集合抽象为类,每个具体的对象都是类的一个实例。 由于对象(类)将 密切相关的属性(数据)和方法(操作)定义为一个整体,从而实现了封装和信息隐藏。使用类时,无需了解其内部的实现细节,一旦数据(结构)修改了,只需修改类内部的局部代码,软件系统的其余部分无需修改。 1.2 数据结构的研究对象 (data structure) 用计算机求解问题一般包含两个步骤: ⑴ 抽象出问题的模型; ⑵ 求该模型的解。 对于数值问题抽象出的模型通常是数学方程,例如 图形的面积与周长等 预报人口增长情况的模型 更多的非数值问题是难以用数学方程来描述的。下面请看三个例子。 1.2 数据结构的研究对象 (data structure) 例1:学生信息表 数据结构是一门研究非数值问题中计算机的操作对象(结点)以及它们之间关系和操作等的学科。 学习《数据结构》就是弄清楚这些操作对象的特点,在计算机中的表示方式以及各个操作的具体实现手段。 1.3 数据结构的基本概念 数据(Data):是对客观事物的符号表示,在计算机科学中是指能输入到计算机并被计算机程序处理的符号的总称。 数据一般可分为数值数据、文本数据、图形图像数据和音响数据等。 数据元素(Data Element):是数据的基本单位,也可以称为结点,在计算机程序中通常作为一个整体进行考虑。 数据元素一般由若干数据项(Data Item)组成,数据项是构成数据元素最小的、不可分割的单位。 例1:学生信息表 结点的类型 基本数据类型 整数类型(integer) 实数类型
您可能关注的文档
最近下载
- 我爱这土地公开课一等奖市赛课一等奖课件.pptx VIP
- 2025社区工作者招聘考试综合基础知识试题(附答案).docx VIP
- 基于Javaweb的图书管理系统的设计与实现.docx VIP
- 医院危重孕产妇新生儿急救应急演练脚本.docx VIP
- 小学科学新教科版二年级上册1.6.“小房子”展示会教案(2025秋版).doc VIP
- 网络安全等级保护-重大风险隐患项描述实践指南(【2025】测评报告新增).docx VIP
- 社区工作者综合能力考试基础知识试题及答案.docx VIP
- 2025年秋新人教版数学三年级上册整册教案.pdf
- 抗菌药物临床应用分级管理目录(2023年版).doc VIP
- 急性左心衰护理课件ppt.pptx
文档评论(0)