数据结构与算法学习之路------线性结构
2020-07-01 21:19
120 查看
数据结构与算法学习之路------线性结构
数据结构又分为线性结构和非线性结构,线性结构为最常用的数据结构。
-
线性结构的特点是数据元素之间存在一对一的线性关系。
-
线性结构又有两种不同的存储结构:顺序存储结构和链式存储结构
-
顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的。例如:数组
-
链式存储的线性表称为链表,链表中的存储元素不一定是连续的。元素结点中存放数据元素以及相邻元素的地址信息。例如:链表
-
线性结构常见的有:数组、队列、链表和栈。
队列
- 队列是一个有序列表,可以用数组或链表来实现。
- 遵循先进先出原则(先存入队列的数据要先取出,后存入的要后取出)
数组
- 数组是有序的元素序列,组成数组的各个变量称为数组分量,也称为数组的元素。
- 区分数组的各个元素的编号称为数组下标,数组的下标是从0开始的。
- 数组的各个元素是相同类型的,有序的。
链表
- 链表在物理存储上是非连续,非顺序的存储结构。而逻辑顺序通过链表指针链接的次序实现的。
- 链表中的每一个元素称为结点,而链表就是由一系列结点组成的,结点在运行时可以动态生成。
- 链表的每个结点包括两部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
栈
- 栈遵循先进后出原则(先存入栈的数据后取出,后存入的可以先取出)
- 栈只能在栈顶操作,设置一个栈顶指针,指针随着数据的入栈和出栈而改变。
这里总结的简单,主要是为了记住一些简单数据结构的思想。现在并没有画图,也没有用实际代码举例子,在以后的文章中会详细介绍。
相关文章推荐
- 数据结构与算法学习之路:直接插入排序
- 别样数据结构与算法学习(一)线性表
- 数据结构与算法学习之路:二分查找的非递归和递归算法
- 【数据结构与算法学习笔记】PART3 线性结构(除向量外,数组、栈、队列、链表)
- 数据结构与算法学习笔记02_1(线性表)
- 数据结构与算法学习之路:迷宫问题——回溯思想找出所有路径
- 数据结构与算法学习之路:LIS——最长递增序列的动态规划算法和二分思想算法
- 转:C#数据结构和算法学习系列十二----散列HashTable类
- 转:C#数据结构和算法学习系列十----正则表达式
- JAVA 数据结构与算法学习笔记一(转载)
- 数据结构与算法学习笔记——链表部分实现(数组形式)
- 【算法学习笔记】12.数据结构基础 图的初步1
- 数据结构和算法学习(5)-链表
- 在emacs中用gdb调试学习算法与数据结构基础(1)_猜价格游戏
- [数据结构算法学习] 单向链表
- c/c++常用算法(1) -- 数据结构(线性表的顺序存储)
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- 算法学习之路之一 —— swap的不同类型数据实现交换
- 数据结构算法代码实现——线性表的链式表示与实现(单链表)(三 )
- 数据结构与算法学习笔记——二叉树遍历(一)(递归、迭代)