数据结构(C语言描述).ppt
《数据结构(C语言描述).ppt》由会员分享,可在线阅读,更多相关《数据结构(C语言描述).ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构数据结构(C语言描述)语言描述)计算机系计算机系 刘延芳刘延芳1/6/2023第章第章 程序程序第一章第一章 绪绪 论论l1.1 引引 言言 l1.2 数据结构发展简史及学科地位数据结构发展简史及学科地位l1.3 什么是数据结构什么是数据结构l1.4 基本概念和术语基本概念和术语l1.5 算法概念算法概念、算法的描述算法的描述和和 算法评价算法评价l 练习练习1:38 AM第章第章 程序程序引引 言言l20世纪世纪40年代年代(1946),为了解决弹道轨迹计算问题而产生计算机。早为了解决弹道轨迹计算问题而产生计算机。早期,计算机应用范围局限于科学和工程计算期,计算机应用范围局限于科学和
2、工程计算,处理对象是纯数值性信处理对象是纯数值性信息息,人们称这类问题为人们称这类问题为“数值计算数值计算”。l如今如今,计算机应用远远超出数值计算范围计算机应用远远超出数值计算范围,渗透人类生活的一切领域。渗透人类生活的一切领域。计算机处理对象也从纯数值发展到计算机处理对象也从纯数值发展到非数值性非数值性和具有一定结构的信息。和具有一定结构的信息。l现代计算机科学的观点,把计算机程序处理的一切数值的、非数值信现代计算机科学的观点,把计算机程序处理的一切数值的、非数值信息、乃至程序统称数据(息、乃至程序统称数据(Data),),而计算机只是处理数据的工具。而计算机只是处理数据的工具。l处理对象
3、的转变导致系统和应用程序的规模越来越大,结构也相当复处理对象的转变导致系统和应用程序的规模越来越大,结构也相当复杂,单凭程序员经验和技巧已难以设计效率高、可靠性强的程序。杂,单凭程序员经验和技巧已难以设计效率高、可靠性强的程序。l数据的表示方法和组织形式成为处理数据效率的关键。即研究数据的数据的表示方法和组织形式成为处理数据效率的关键。即研究数据的特性以及数据间存在的关系特性以及数据间存在的关系数据结构(数据结构(Data Structure)本章介绍本章介绍了数据结构这门学科诞生的背景了数据结构这门学科诞生的背景,发展历史以及在计算机发展历史以及在计算机科学中所处的地位科学中所处的地位,重点
4、介绍了数据结构有关的概念和术语重点介绍了数据结构有关的概念和术语,读者学读者学习本章后应能掌握数据习本章后应能掌握数据,数据元素数据元素,逻辑结构逻辑结构,存储结构存储结构,数据处理数据处理,数数据结构据结构,算法设计等基本概念算法设计等基本概念,并了解如何评价一个算法的好坏。并了解如何评价一个算法的好坏。1:38 AM第章第章 程序程序发展简史及学科地位发展简史及学科地位l数据结构随着计算机产生和发展而发展起来的一门较新学科。数据结构随着计算机产生和发展而发展起来的一门较新学科。l1968年年开始设立这门课,由美国教授开创数据结构的最初体系。观点是:开始设立这门课,由美国教授开创数据结构的最
5、初体系。观点是:认为程序设计的实质是对确定的问题选择一种好的结构,加上一种好的认为程序设计的实质是对确定的问题选择一种好的结构,加上一种好的算法。算法。l研究内容:软件设计中常用的基本技术研究内容:软件设计中常用的基本技术l地位:核心课程之一,也是非计算机专业的主修课程之一地位:核心课程之一,也是非计算机专业的主修课程之一l数据结构是介于数学、计算机硬件和软件之间的学科。数据结构是介于数学、计算机硬件和软件之间的学科。1:38 AM第章第章 程序程序什么是数据结构什么是数据结构l用计算机解决一个具体问题的步骤:用计算机解决一个具体问题的步骤:l1.从具体问题中抽象出一个适当的数学模型从具体问题
6、中抽象出一个适当的数学模型l2.设计一个解此数学模型的算法设计一个解此数学模型的算法l3.编出程序、进行测试、调整直至得到最终解答编出程序、进行测试、调整直至得到最终解答l例如:在例如:在(有规律有规律)学生通讯录中,学生通讯录中,1.按照索引查找某一学生按照索引查找某一学生 2.插入和删插入和删除一个学生记录?除一个学生记录?l数据结构直接影响算法的选择和效率。数据结构直接影响算法的选择和效率。l数据结构:数据结构:研究程序设计中计算机研究程序设计中计算机操作对象操作对象及其及其关系和运算关系和运算的一门学科的一门学科1:38 AM第章第章 程序程序基本术语基本术语(1)l1.数据数据:一切
7、能够输入到计算机中并被其处理一切能够输入到计算机中并被其处理的信息的信息(文字文字,表格图像等表格图像等)。l2.数据元素数据元素:也称结点也称结点,记录记录,顶点。是组成数据的基本单位。通常作顶点。是组成数据的基本单位。通常作为一个整体考虑和处理。为一个整体考虑和处理。如图:每一行作为基本单位考虑如图:每一行作为基本单位考虑。l3.字段字段:一个结点中含有若干个字段一个结点中含有若干个字段(也叫数据项也叫数据项).是构成数据的最是构成数据的最小单位。小单位。l4.逻辑结构:逻辑结构:结点与结点间的逻辑关系。结点与结点间的逻辑关系。如图如图:逻辑上是种线性关系逻辑上是种线性关系。l5.存储结构
8、:存储结构:数据在计算机中的存储表示。数据在计算机中的存储表示。如图:表格数据可有多如图:表格数据可有多种存储表示种存储表示(如:数组、文件等如:数组、文件等)l6.数据结构数据结构:组成数据元素之间构造关系。组成数据元素之间构造关系。登录号登录号书号书号书书 名名作者作者出版社出版社价格价格00001TP22高等数学高等数学陈灯陈灯高等教育高等教育56.0000002TP23实用英语实用英语丁萍丁萍电子工业电子工业20.5000003TP24电子商务通电子商务通江涛江涛中央电大中央电大18.801:38 AM第章第章 程序程序数据逻辑结构数据逻辑结构l1.逻辑结构的四种基本结构:逻辑结构的四
9、种基本结构:l(1)集合:集合:结构中的数据元素除了同属于一种类结构中的数据元素除了同属于一种类 型外,别型外,别无其它关系。无其它关系。l(2)线性结构线性结构:结构中的数据元素间存在一对一的关系。:结构中的数据元素间存在一对一的关系。l(3)树形结构树形结构:结构中的数据元素间存在一对多的关系。:结构中的数据元素间存在一对多的关系。l(4)图形或网状结构:图形或网状结构:结构中的数据元素之间存在多对多的结构中的数据元素之间存在多对多的关系。关系。l2.数据的逻辑结构分为线性结构和非线性结构两大类。数据的逻辑结构分为线性结构和非线性结构两大类。l(1)线性结构线性结构:包括数组、链表、包括数
10、组、链表、栈、队列、优先级队列等栈、队列、优先级队列等;l(2)非线性结构非线性结构:包括树、图等包括树、图等.1:38 AM第章第章 程序程序存存 储储 结结 构构常见存储结构:常见存储结构:l(1)顺序存储结构:顺序存储结构:特点是借助于数据元素的相对存储位置特点是借助于数据元素的相对存储位置来表示数据元素之间的逻辑结构来表示数据元素之间的逻辑结构.l即逻辑上相邻即逻辑上相邻,物理上也相邻物理上也相邻.l(2)链式存储结构:链式存储结构:特点是借助于指示数据元素地址的指针特点是借助于指示数据元素地址的指针表示数据元素之间的逻辑结构。表示数据元素之间的逻辑结构。l(3)索引存储结构索引存储结
11、构:l(4)散列存储结构散列存储结构:1:38 AM第章第章 程序程序基本术语基本术语(2)l一般:一般:把数据的逻辑结构统称为数据结构把数据的逻辑结构统称为数据结构,把数据的物理结构统称为存,把数据的物理结构统称为存储结构。储结构。l说明:说明:一个算法的设计取决于选定的数据(逻辑)结构一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现,而算法的实现依赖于采用的存储结构。我们的重点是算法的设计。依赖于采用的存储结构。我们的重点是算法的设计。数据数据 数据元素数据元素 字段字段数据结构数据结构分解分解描述描述l逻辑结构逻辑结构:结点与结点间的逻辑关系。不依赖于具体形式结点与结点间的逻辑关
12、系。不依赖于具体形式l存储结构:存储结构:数据在计算机中的存储表示。数据在计算机中的存储表示。l运算:运算:是最终目的是最终目的1:38 AM第章第章 程序程序基本术语基本术语(3)l7.数据处理:数据处理:对数据进行查找、插入、删除、合并、排序统计及简单计对数据进行查找、插入、删除、合并、排序统计及简单计算等操作过程。算等操作过程。l8.数据类型:数据类型:指程序设计语言中各变量可取的数据种类。指程序设计语言中各变量可取的数据种类。l即是一个即是一个值的集合值的集合和定义在此值集上的和定义在此值集上的一组操作一组操作总称总称l按按“数据类型数据类型”性质分类性质分类:l(1)原子类型:其值是
13、不可分解的原子类型:其值是不可分解的.(整整,实实,字字,枚枚,指指,空类型空类型)l(2)结构类型:其值按某种结构组成结构类型:其值按某种结构组成(由若干成分由若干成分),如:数组,如:数组例如:例如:C语言中,整型变量语言中,整型变量其值集:其值集:在某个区间上整数在某个区间上整数 操作:操作:加加,减减,乘乘,除除,求模等运算求模等运算1:38 AM第章第章 程序程序算法的概念算法的概念l1.算法算法解决某一类问题的求解方法解决某一类问题的求解方法 执行特定计算的有穷过程(即指令的有限序列执行特定计算的有穷过程(即指令的有限序列)l2.算法的特点:算法的特点:l(1)动态有穷动态有穷:即
14、有限性即有限性;经过有限步骤后,算法一定要终止。经过有限步骤后,算法一定要终止。l(2)确定性确定性:指令无二义性指令无二义性.在任何条件下在任何条件下,算法只有一条惟一的执行路算法只有一条惟一的执行路径。径。l(3)输入输入:有:有0N个个 (4)输出输出:有:有1N个个l(5)可行性可行性:每条指令都充分基本每条指令都充分基本,即每条指令均可用有限次的计算机即每条指令均可用有限次的计算机指令来实现。指令来实现。l3.算法与程序比较算法与程序比较l(1)程序是算法在计算机程序设计语言中的具体实现程序是算法在计算机程序设计语言中的具体实现。通常定义一个。通常定义一个算法必须提供足够细节算法必须
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言 描述
限制150内