数据结构-绪论(一)

欢迎浏览我的博客:https://Mr00wang.github.io
学习笔记 数据结构-绪论(一)

下一篇
数据结构-绪论(二)包括了数据结构的算法基本概念,着重讲了时间复杂度和空间复杂度。有具体的例子。

本专栏C/C++数据结构,详细教程,有图解,有详细代码,王道学习笔记。
Let’s go!‍♂️

数据结构

绪论(一)

思维导图

数据结构-绪论(一)_第1张图片

1.1 基本概念

  1. 数据 (Data) 是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计算中用到的整数和实数,文本

    编辑中用到的字符串,多媒体程序处理的图形、 图像、声音及动画等通过特殊编码定义后的数据。

  2. 数据元素(DataElement)是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。 在有些情况下,数据元素也称为元素、记录

    等。数据元素用于完整地描述一个对象,如一名学生记录,树中棋盘的一个格局(状态),以及图中的一个顶点等。

  3. 数据项 (Data Item) 是组成数据元素的、有独立含义的、不可分割的最小单位。例如,学生基本信息表中的学号、姓名、性别等都是数据

    项。 是性质相同的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N={O, 士1’ 士2,…}, 字母字符数据对象是集合C=

    {‘A’,‘B’, …,‘Z’,‘a’,‘b’, …, ‘z’}, 学生基本信息表也可以是一个数据对象。由此可以看出,不论数据元素集合是无限集(如 整数集),或是有限

    集(如字母字符集),还是由多个数据项组成的复合数据元素(如学生表) 的集合,只要集合内元素的性质均相同,都可称之为一个数据对

    象。

1.2 数据结构

  1. 数据结构 (Data Structure) 是相互之间存在一种或多种特定关系的数据元素的集合。
  2. 线性结构 包括线性表、栈和队列、字符串、数组、 广义表
  3. 非线性结构 包括树和二叉树、 有向图和无向图

数据结构-绪论(一)_第2张图片

1.2.1 逻辑结构

线性结构

结构中的数据元素之间只存在一对一的关系

数据结构-绪论(一)_第3张图片

树形结构

结构中的数据元素之间只存在一对多的关系

数据结构-绪论(一)_第4张图片

图状结构

结构中的数据元素之间只存在多对多的关系

数据结构-绪论(一)_第5张图片

1.2.2 存储结构

顺序存储

顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

数据结构-绪论(一)_第6张图片

链式存储

链式存储。 逻辑上相邻的元素在物理位置上可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。

数据结构-绪论(一)_第7张图片

索引存储

索引存储。在存储元素信息的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)

数据结构-绪论(一)_第8张图片

散列存储

散列存储。根据元素的关键字直接计算出该元素的存储地址,又称哈希(Hash)存储

总结

绪论部分只需要理解两点:

1、若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的。

2、数据的存储结构会影响存储空间分配的方便程度。

3、数据的存储结构会影响对数据运算的速度。

1.2.3 数据计算

施加在数据上的运算包括运算的定义和实现。 运算的定义是针对逻辑结构的,指出运算的功能;

运算的实现是针对存储结构的,指出运算的具体操作步骤。

常用的数据计算:增删改查排

1.2.4 数据、抽象数据类型

数据结构-绪论(一)_第9张图片

友情跳转-数据结构-绪论(二)
数据结构-绪论(二)

你可能感兴趣的:(C/C++数据结构,数据结构,c语言,c++,算法)