数据结构基本概念
来源:互联网 发布:武汉茶港大院 知乎 编辑:程序博客网 时间:2024/06/18 15:26
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
数据可以是数值的,如整型,实型……。也可以是非数值的,如声音,图像视频等。
简而言之,数据其实就是符号(1,可以被输入到计算机。2,能被计算机程序处理。)
数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。数据元素顾名思义就是一组数据的元素,单个的个体。一个大类,分为许多的小元素类,如人类的数据元素就是人,水果类的元素有火龙果,芒果,葡萄等等好多类,而这些有共同特性的元素就组成了数据。
数据项:一个数据元素可以由若干个数据项组成。
用户定义一个系统,根据系统的需要,将数据元素再细分。
如人类的数据元素是人,在人这个元素中,每个人的年龄,出生年月,又是不一样的,又可以再继续划分。外貌项,可以根据眼睛,鼻子,嘴巴,眉毛等等来区分每一个人。身份项,可以根据年龄,性别,职位,联系方式来区分。
数据项是数据不可分割的最小单位。
但是由于数据项划分的比较细,所以一般不用数据项,因为我们在实际问题中,没有必要将一个数据划分的十分细小,这样反而不利于我们去解决问题。实际问题中,数据元素才是数据结构中建立数据模型的着眼点。例如我们在看电影的时候,关系的是每一个人物之间的关系和情节的发展,而不是重点关注每个人物的性别年龄身份,家庭地址的不重要的信息。
数据对象:是性质相同的数据元素的集合,是数据的子集。
性质相同:指数据元素具有相同数量和类型的数据项。例如学生数据元素,每一个学生都有学号,班级,年龄,姓名这些共同的信息。
其实这几个名词都是包含的意思。而数据最重要的是数据结构,那么什么是数据的结构的,是不是和分子结构之类的结构是同样的意思呢?
在现实生活中,每个人是一个独立的个体,而人和人之间又有联系,比如亲戚关系,姐弟关系,同事关系,上下属关系,夫妻关系等等,我们将这些关系称为结构,如同一个个图网,每个人都可以由某些关系(结构)画出不同的关系(结构)图。那么数据结构是什么意思呢?
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
在计算机中,每一个元素与元素之间也是有联系的,他们并不是毫无关系的独立个体,数据元素之间存在的一种或多种特定关系,也就是数据的组织形式。在编写代码是,一定要注重研究待处理对象的特性及各处理对象之间存在的关系。
结构:分为逻辑结构和物理结构
逻辑结构:是指数据对象中数据元素之间的相互关系。(这是最后要研究的重点),逻辑结构分为四种:
1.集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有任何其他的关系,每个元素都是平等的,没有任何的牵制,就相当于大家生活在一起,都是这个地方的额住户,但是彼此之间都不认识,也没有任何别的来往交流。
2.线性结构:线性结构中的数据元素是一一对应的关系。呈现线性的直链。可以折叠,但是不能中断。
3.树形结构:树形结构中的数据元素之间存在一对多的关系。(层次概念,阶级关系)
4.图形结构:图形结构的数据元素是多对多的关系。每一个元素可以和同属这个集合中的任意一个其他元素有关系。
逻辑结构是针对具体问题的,在实际问题分析时根据实物而做出的结构图。
物理结构(存储结构):是指数据的逻辑结构在计算机中的存储形式。
物理结构比较抽象化,他的重点在于数据的存储结构应正确反映数据元素之间的逻辑关系(如何将数据元素存储在计算机的存储器中)。如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点。简单理解,物理结构是存储逻辑结构的方式。
物理结构分为:
1.顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
有顺序,不能有空缺,根据所建立的空间安排每一个元素的位置。
2.链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可与是连续的,也可以是不连续的。一般情况下,用户的需求肯定不可能只是想要一个存储的不能更改的空间,他肯定希望能删除,能增加,在删除与增加的时候,前后又自动对齐,所以简单的顺序存储结构肯定是不能满足客户的需求。所以现实中解决问题时,都是使用的链式存储结构。在创建时,需要一个指针,这样只要找到了指针,就找到了这个元素,而元素本身就不需要任何的限制,只要保证在找的时候,指针是有效的。
小结:
数据类型:指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
在C语言中,按照取值的不同,数据类型可以分为两类:
1.原子类型:是不可以再分解的基本类型(整型,实型,字符型等。)
2:结构类型:由若干个类型组合而成,是可再分解的。(整型组,字符型组。类似于集合的概念。)
抽象数据类型(Abstract Data Type, ADT):指一个数字模型及定义在该模型上的一组操作。用户自己也可以定义一个抽象数据类型。
抽象数据类型的标准格式:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
……
操作n
……
endADT
抽象数据类型其实就是将一类问题的普遍本质提取出来,将问题抽象化为数学模型才是解决实际问题的关键。而抽象数据类型就是学习如何将问题建立为数学模型。一个抽象数据类型定义了:一个数据对象,数据对象中各个数据元素之间的关系及对数据元素的操作。
数据结构中,建模很重要,当拿到一个实际问题的时候,利用数学知识,将其抽象为数学问题是一个很漫长的思想过程。数据结构可能是计算机里边最复杂最难懂的一个学科,他重在思想,将一个个实际问题要抽象为计算机可以计算的问题,这需要很好的逻辑思维能力及抽象思维。而对于我一个计算机新手而言,刚刚开始的这几个名词定义,我都理解了好长时间,看来以后得日子恐怕不好过的,数据结构对于大多数人而言,都是比较有难度的,希望在今后的学习中,我能学到更多的新知识。
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构--基本概念
- 数据结构基本概念
- 数据结构基本概念
- 【数据结构】基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构------基本概念
- 数据结构基本概念
- 数据结构基本概念
- Retrofit——下载
- 服务篇三---svn服务
- OpenGL游戏引擎实现与OpenGL/DirectX 图形学
- ZCL 规范
- 曲线拟合
- 数据结构基本概念
- Flex 布局整理【全】
- interview20170815
- 【并查集】并查集实现原理以及应用
- Mysql入门经典.pdf下载
- A DP Problem (字符串处理+模拟)
- Android 开发之从掉洞到填坑之路
- ComponentRef
- 关于APP接收开机广播延迟问题的