前言
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
程序设计 = 数据结构 + 算法
基本概念
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合,数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。
数据具备以下特征:
- 可以输入到计算机中。
- 能被计算机程序处理
数据对象:是性质相同的数据元素的集合,是数据的子集。实际情况下把数据对象简称为数据。
性质相同:指数据元素具有相同数量和类型的数据项,比如人都有姓名、生日、性别等相同的数据项。
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。
举个例子:在人类中,人即是数据元素
数据项:数据项是数据不可分割的最小单位,一个数据元素可以由若干个数据项组成。
举个例子:在人(数据元素)中有若干个器官(数据项)
数据 ven 图 | 用人类和类人猿比喻 | 数据的层级关系 |
---|---|---|
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
按照观点的不同,把数据结构分为逻辑结构和物理结构。
逻辑结构
集合结构 | 线性结构 | 树形结构 | 图形结构 |
---|---|---|---|
数据元素除了同属于一个集合外,无其他关系 | 数据元素之间是一对一的关系 | 数据元素之间存在一种一对多的层次关系 | 数据元素是多对多的关系 |
用示意图表示数据的逻辑结构时,要注意两点:
- 将每一个数据元素看做一个结点 ,用圈圈表示。
- 元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示。
物理结构:是指数据的逻辑结构在计算机中的存储形式。
数据元素的存储结构形式有两种:顺序结构和链式存储
顺序存储结构 | 链式存储结构 |
---|---|
把数据元素存放在地址连续的存储单元里,数据间的逻辑关系和物理关系一致 | 把数据元素存放在任意的存储单元里,这组存储单元可以连续,也可以不连续 |
逻辑结构面向问题,而物理结构是面向计算机,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中
最后
以上内容为 大话数据结构 – 程杰 第一章数据和结构的学习笔记。
虽然和成为Java工程师有一段距离,但是没关系,我是一个一旦确立目标就很有干劲的人,一定能成功!
如果有跟我一起学习的同学可以帮我指正那就更好了,欢迎加入我的交流群 916352394。