随笔分类 - 01.线性表
3.栈
摘要:栈 Stack: 概念: 栈(Stack)是一种线性表数据结构 遵循后进先出(LIFO,Last In First Out)原则,只能在栈顶进行添加和删除操作 操作: push (入栈) pop (出栈) peek (仅查看) 栈的应用: 函数调用栈 表达式求值 回溯算法 图解:
2.1列表
摘要:列表 List 概念: 列表 List 是一种抽象的数据结构概念 表示元素的有序集合 无须使用者考虑容量限制的问题 如何实现列表: 链表本身就是列表 动态数组实现列表,需要实现动态扩容
4.队列
摘要:队列 Queue: 概念: 队列 Queue 是一种线性表数据结构 遵循先进先出(FIFO,First In First Out)原则,在队列的尾部添加元素,在头部移除元素 操作: enqueue(入队) dequeue(出队) front (仅查看) 应用: 任务调度 广度优先搜索算法 图解: 双
2.链表
摘要:链表 Linked List: 概念: 数组(Array)是一种线性表数据结构 用非连续的内存空间,来存储具有相同类型的数据的数据结构 每个节点包含数据部分和指针,指针指向下一个(或上一个,对于双向链表)节点 特点: 动态大小:链表的大小可以在运行时改变 不连续的内存:节点可以在内存中分散存储,通过
1.数组
摘要:数组 Array: 概念: 数组(Array)是一种线性表数据结构 用一组连续的内存空间,来存储一组具有相同类型的数据 数组中的元素可以通过索引直接访问 特点: 随机访问:可以快速地通过索引访问任何元素 固定大小:一旦声明,数组的大小就固定了 空间效率:因为申明时需要预留空间,在空间上可能不是最优的
0.线性表
摘要:线性表 特点: 由N个具有相同特性的数据元素组成的有限序列 线性表中的数据元素之间呈现一对一的关系,除了第一个和最后一个数据元素之外,其他数据元素都是首尾相接的 线性表上的数据最多只有前和后两个方向 举例: 数组 链表 栈 队列 个人理解 线性、非线性的区别 数学坐标系: 线性表元素之间相互连接,类