目录
1、数据结构的定义是什么?
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
2、数据结构是怎么起源的?
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关的问题的学科。
1968年,Donald E. Knuth教授在其所写的《计算机程序设计艺术》这本书中,对数据的逻辑结构和存储结构(物理结构)及其操作进行了系统的阐释,这之后数据结构开始组哟为一门独立课程开始进行教授。
70年代初,出现了大型程序,软件也开始相对独立, 结构程序设计成为程序设计方法学的主要内容,人们越来越重视“数据结构”,认为程序设计的实质是对确定问题选择一种好的结构,加上设计一种好的算法。可见,数据结构在程序设计当中占据了重要的地位。
3、数据结构中我们必须要掌握哪些概念和术语?
3.1、 数据
数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别的,并输入给计算机处理的符合集合。
如:数值类型(整型、实型),非数值类型(字符、声音、图像、视频等)
也就是说,我们说的数据其实就是符号,而这些符号需要具备两个前提:
- 可以输入到计算机中
- 能被计算机程序处理
3.2、数据元素
数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
比如:马、牛、羊、鸡、猪、狗等动物就属于畜禽类的数据元素。
3.3、数据项
数据项:一个数据元素可以由若干个数据项组成,是数据不可分割的最小单位。
比如:畜禽类的动物都具有:眼、耳、鼻、嘴、腿这些数据项,如人具有,姓名、性别、年龄、身份、邮箱、电话号码这些数据项。
与Java中定义一个实体对象的属性是一个道理。
3.4、数据对象
数据对象是性质相同的数据元素的集合,是数据的子集。
什么是性质相同?
是指数据元素具有相同数量和类型的数据项,比如畜禽类中的动物都具有眼、耳、嘴、鼻这些相同的数据项。
既然数据对象是数据的子集,在实际应用中,我们都将数据对象称之为数据。
4、数据结构到底有那些结构?
按照全局观点,我们把数据结构分为:逻辑结构和物理结构(存储结构)。
其中,光有全局观点还不够,我们还要继续细化为更具体的知识点。
4.1、逻辑结构
逻辑结构是指数据对象中数据元素之间的相互关系。
逻辑结构主要分为四种:
4.1.1、集合结构
集合结构是指数据对象中的数据元素除了同属于一个集合外,它们之间没有其他关系。各个数据元素是平等的。类似于数学中的集合。
4.1.2、线性结构
线性结构:线性结构中的数据元素之间是一对一的关系。
4.1.3、树形结构
树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。
4.1.4、图形结构
图形结构:图形结构的数据元素是多对对的关系。
4.2、物理结构
物理结构也叫做存储结构。
物理结构是指数据的逻辑结构在计算机中的存储形式。
存储形式对应着存储器,存储器包含,如硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。
数据的存储结构应正确反映数据元素之间的逻辑关系,这才是最为关键的,如何存储数据元素之间的逻辑关系,是现实物理结构的重点和难点。
4.2.1、顺序存储结构
顺序存储结构:是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
举个实例:排队占位,大家都排好顺序,每个人占用一小段空间,大家谁也别插谁的队。
4.2.2、链式存储结构
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,这样通过地址就可以找到相关联数据元素的位置。
5、抽象数据类型
数据类型:是指一组性质相同的值的集合上的一些操作的总称。
例如:
原子类型,是不可以再分解的基本类型,包含整型、实型、字符型等;
结构类型:由若干个类型组合而成,是可以再分解的,例如,整型数组是由若干整型数据组成的。
抽象数据类型:是指一个数学模型及定义在该模型上的一组操作。
抽象的意义在于数据类型的数学抽象特性。
原创不易,求个关注。
微信公众号: 一粒尘埃的漫旅
里面有很多想对大家说的话,就像和朋友聊聊天。
写代码,做设计,聊生活,聊工作,聊职场。
我见到的世界是什么样子的?
搜索关注我吧。