栈和队列的基本算法

发布时间:2022年04月12日 阅读:642 次

入栈:在栈S的当前栈顶插入数据元素,若入栈成功返回1,失败返回0。基本算法思想:判断栈是否满,若栈满,则追加新的存储空间,修改栈的存储空间;接收数据元素,使栈顶指针加1。

出栈:把栈S的当前栈顶数据元素删除,若出栈成功返回1,失败返回0基本算法思想:判断栈是否空,若不空,则删除栈顶元素并返回其值,栈顶指针减1。

队列:在队列的队尾插入数据元素,若入队列成功返回1,失败返回0。

     基本算法思想:判断队列是否满,若队列不满,则接收数据元素,使队尾指针加1。

出队列:把队列的队头元素删除,若出队列成功返回1,失败返回0。基本算法思想:判断队列是否空,若队列不空,则删除队头元素并返回其值,使队头指针加1。

栈和队列的基本算法

结点所拥有的子树的个数称为该结点的度。在如图所示的树T中,结点A的度为3,结点B的度为2,结点J的度为0。度为0的结点称为叶结点,或者称为终端结点。结点J、F、K、L、H、I均为叶结点。度不为0的结点称为分支结点,或称为非终端结点。一棵树的结点除叶结点外,其余的都是分支结点。树中各结点度的最大值称为该树的度。图示的树的度为3。结点的子树的根称为该结点的孩子,该结点称为它的孩子结点的双亲。

具有同一个双亲的孩子结点互称为兄弟。例如:结点B、C、D是结点A的孩子,结点A是结点B、C、D的双亲,结点B、C、D互为兄弟。树的根结点层数为1,其余结点的层数等于它的双亲结点的层数加1。树中所有结点的最大层数称为树的深度。图示的树的深度为4。如果一棵树中结点的各子树从左到右是有次序的(即不能互换),则称这棵树为有序树,否则,称为无序树。有限棵不相交的树的集合称为森林。自然界中树和森林是不同的概念,而在数据结构中,树和森林只有很小的差别。任何一棵树,删去根结点就变成了森林。


Tag: 队列 基本 算法
相关文章

发表评论: