数据结构中,双栈共享的优缺点是什么?
一、数据结构中,双栈共享的优缺点
优点
两栈的大小不是固定不变的,在实际运算过程中,一个栈有可能进栈元素多而体积大些,另一个则可能小些。
两个栈共用一个栈空间,相互调剂,灵活性强。
缺点
运算较为复杂。
长度为定值,中途不易扩充。
注:n(n>2)个栈的情况更有所不同,采用多个栈共享栈空间的顺序存储表示方式,处理十分复杂,在插入时元素的移动量很大,因而时间代价较高。特别是当整个存储空间即将充满时,这个问题更加严重。
解决上述问题的办法就是采用链接方式作为栈的存储表示方式。
双栈的适用情况
当栈满时要发生溢出,为了避免这种情况,需要为栈设立一个足够大的空间。但如果空间设置得过大,而栈中实际只有几个元素,也是一种空间浪费。此外,程序中往往同时存在几个栈,因为各个栈所需的空间在运行中是动态变化着的。如果给几个栈分配同样大小的空间,可能实际运行时,有的栈膨胀得快,很快就产生了溢出,而其他的栈可能此时还有许多空闲空间。这时就可以利用双栈,两个栈共用一个栈空间,相互调剂,灵活性强。
延伸阅读:
二、数据元素的机内表示
数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。

相关推荐HOT
更多>>
什么是单片机,它的基本机构是什么?
一、单片机所谓单片机,就是把中央处理器CPU(Central Processing Unit)、存储器(Memory)、定时器、I/0(Input/Output)接口电路等一些核算...详情>>
2023-10-14 22:14:17
softmax有哪些作用?
一、多类别分类softmax函数经常用于深度学习模型的输出层,用于处理多类别分类问题。它可以将模型的原始输出转化为概率分布,使得每个类别的概...详情>>
2023-10-14 18:20:06
安卓代码中Gravity.LEFTGravity.TOP是什么原理?
一、安卓代码中Gravity.LEFTGravity.TOPgravity是设置自身内部元素的对齐方式。比如一个TextView,则是设置内部文字的对齐方式。如果是ViewGrou...详情>>
2023-10-14 13:52:05
怎么定okr?
一、明确目标目标是指要达成的结果,是OKR的“O”部分。明确目标的关键是要了解自己和组织的优势和劣势,以及市场和竞争环境,一般可以通过市场...详情>>
2023-10-14 12:07:04