立即学习:https://edu.csdn.net/course/play/7883/161177?utm_source=blogtoedu
数据结构基础--1.1线性表
1、定义:线性表是n个元素的有限序列,通常记为(a1,a2,...,an)。
2、特点:
存在惟一的表头和表尾;
除了表头外,表中的每一个元素均只有惟一的直接前驱;
除了表尾外,表中的每一个元素均只有惟一的直接后驱。
3、存储结构:顺序存储,链式存储。
4、顺序存储:是用一组地址连续的存储单元一次存储线性表中的数据元素,从而使得逻辑关系相邻的两个元素在物理外置上也相邻。
优点:可以随机存取表中的元素
缺点:插入和删除操作需要移动大量的元素。
5、链式存储:是指用结点来存储数据元素,结点的空间可以是连续的,也可以是不连续的。因此存储数据元素的同时必须存储元素直接的逻辑关系。
优点:插入和删除操作不需要移动元素,操作方便。
缺点:增加了存储空间开销,不能随机访问任一结点。
6、其他链表结构:双向链表,循环链表,静态链表。
栈:(先进后出的线性表)
1、定义:栈是只能通过一端来实现数据存储和检索的一种线性表。
进行插入和删除操作的一端称为栈顶,另一端称为栈底。
2、存储结构:顺序存储,链式存储。
队列:(先进先出的线性表)
1、定义:队列是一种先进先出的线性表,它只允许在表的一端插入元素,而在表的另一端删除元素。
在队列中,允许插入元素的一端称为队尾(rear),允许删除元素的一端称为队头(front)。
2、存储结构:顺序存储,链式存储。
3、队列为空的判定条件是:头指针和尾指针的值相同,且均指向头结点。
串:
1、定义:串是仅由字符构成的有限序列,是取值范围受限的线性表。
2、串的存储结构:顺序存储,链式存储。
3、串的几个基本概念:
空串:长度为零的串,空串不包含任何字符。
空格串:由一个或多个空格组成的串。
子串:由串中任意长度的连续字符构成的序列。含有子串的串称为主串。空串是任意串的子串。
3、每个字符串的最后要增加个串结束标志 \0。
4、存储密度
5、串相等:指两个串长度相等且对应位置上的字符也相同。
6、串比较:两个串比较大小时以字符的ASCII码值作为依据。