第一章数据结构概念重点.ppt

《数据结构》 前言 课程简介: 《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。是计算机专业的主干课、专业基础课。本课程系统地介绍线性表、栈、队列、字符串、数组、广义表、树、二叉树、图、查找表等几种数据结构的基本概念、存储、操作及其典型应用的例子。 它的教学要求是:学会从问题入手,分析研究计算机加工的数据结构的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储机构及其相应的操作算法,并初步掌握时间和空间分析技术。另一方面,本课程的学习过程也是进行复杂程序设计的训练过程,要求学生会书写符合软件工程规范的文件,编写的程序代码应结构清晰、正确易读,能上机调试并排除错误。 前言 教学时间: 17周(56学时理论,12学时实验) 教学方式:课堂教学、课外练习和上机实习 参考书: 严蔚敏、吴伟民编《数据结构题集C语言版》,北京:清华大学出版社,1999 Aho A V, Hopcroft J E, Ullman J D,    《Data Structures and Algorithms》    Wesley Publishing Company, Inc., 1983 年 考核方式: 平时+实践/上机: 30%; 理论考试: 70%。 第一章 绪论 教学安排 教学内容: (1)数据、数据元素、数据对象、数据结构、存储结构和数据类型等概念; (2)数据的逻辑结构; (3)数据的存储结构; (4)抽象数据类型的定义、表示和实现方法; (5)算法及算法分析。 教学安排 学习要求: (1)熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。分清哪些是逻辑结构的性质,哪些是存储结构的性质。 (2)了解抽象数据类型的定义、表示和实现方法。? (3)理解算法五个要素的确切含义:①动态有穷性(能执行结束);②确定性(对于相同的输入执行相同的路径);③有输入;④有输出;⑤可行性(用以描述算法的操作都是足够基本的)。 (4)掌握计算语句频度和估算算法时间复杂度的方法。 1.1 什么是数据结构 数据问题: 例如:数值计算的程序设计问题 “鸡兔同笼”问题------二元一次方程组 结构静力分析计算 ------ 线性代数方程组 全球天气预报 ------ 环流模式方程 1.1 什么是数据结构 计算机解决具体问题的步骤 (1)分析实际问题,从中抽象出一个适当的数学模型。 (2)设计或选择一个解此数学模型的算法。 (3)编程、调试、测试,修改直至得到最终的解答。 数据结构:问题的数学模型(实际问题中元素的数学抽象 ) 算法:处理问题的策略(建立和解决数学模型的方法) 程序设计: 为计算机处理问题编制一组指令集(核心问题是算法和数据结构) 程序=算法+数据结构 1.1 什么是数据结构 数据问题: 例如:非数值计算的程序设计问题 例1:学生信息检索系统。 1.1 什么是数据结构 1.1 什么是数据结构 例1:学生信息检索系统。 数学模型:四张表构成的文件及其之间的“线性”关系 算法:按照某个特定要求(如给定姓名)对学生信息文件进行查询。 1.1 什么是数据结构 数据问题: 例如:非数值计算的程序设计问题 例2:计算机对弈(井字棋)。 1.1 什么是数据结构 1.1 什么是数据结构 例2:计算机对弈(井字棋)。 数学模型:若干个棋盘格局及其之间“树”的层次关系 算法:对弈的规则和策略 1.1 什么是数据结构 数据问题: 例如:非数值计算的程序设计问题 例3:教学计划编排问题。 1.1 什么是数据结构 例3:教学计划编排问题。 数学模型:若干门课程及其之间“图”的网络关系 算法:有些课程之间有先修和后续的关系,有些课程可以任意安排次序。 1.1 什么是数据结构 概括: 数据结构描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。 描述这类非数值计算问题的数学模型不再是数学方程,而是诸如表、树、图之类的数据结构。 数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作等等的学科。 1.2 基本概念和术语 数据与数据结构 ????????????????????????? 数据:是对客观事物的符号表示,能被输入到计算机中被程序处理的符号的总称。 数据元素(也称为结点或记录): 数据的基本单位。可由几个数据项组成。 数据项:数据不可分割的最小单位。 数据对象:性质相同的数据元素的集合。是数据的一个子集. 例:整数的数据对象是{…-3,-2,-1,0,1,2,3,…} 英文字母字符的数据对象是{‘A’,’B’,’C’,’D’,’E’,…} 1.2 基本概念和术语 数据与数

文档评论(0)

1亿VIP精品文档

相关文档