数据结构和算法(六)--栈&队列&堆

一、栈

栈(stack) 是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈)两种, 前者相当于插入,后者相当于删除最后的元素。

栈是一种基于先进后出(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

我们称数据进入到栈的动作为压栈 ,数据从栈中出去的动作为弹栈

二、队列

队列 是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的 后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为 队尾,进行删除操作的端称为队头。

三、堆

四、符号表

符号表 最主要的目的就是将一个键和一个值联系起来,符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据,我们可以根据键来查找对应的值。

符号表中,键具有唯一性。

其实就是Java Map键值对

数据结构和算法(一)

数据结构--栈、队列、链表、散列表、排序二叉树

再小的努力,乘以365都很明显!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!

相关推荐
深思慎考1 小时前
从合并两个链表到 K 个链表:分治思想的递进与堆优化
数据结构·链表·递归··队列·合并链表
又见野草1 小时前
软件设计师知识点总结:数据结构与算法(超级详细)
数据结构·算法·排序算法
曹牧4 小时前
C#:数组不能使用Const修饰符
java·数据结构·算法
大数据张老师5 小时前
数据结构——拓扑排序
数据结构
草莓工作室5 小时前
数据结构10:树和二叉树
数据结构
当战神遇到编程7 小时前
链表的概念和单向链表的实现
数据结构·链表
INGNIGHT8 小时前
单词搜索 II · Word Search II
数据结构·c++·算法
QuantumLeap丶10 小时前
《数据结构:从0到1》-06-单链表&双链表
数据结构·算法
violet-lz10 小时前
数据结构八大排序:快速排序-挖坑法(递归与非递归)及其优化
数据结构
Mrliu__10 小时前
Python数据结构(七):Python 高级排序算法:希尔 快速 归并
数据结构·python·排序算法