下列关于栈的叙述中,错误的是( )。
A: 采用非递归方式重写递归程序是必须使用栈。
B: 函数调用时,系统要用栈保存必要的信息。
C: 只要确定了入栈次序,即可确定出栈次序。
D: 栈是一种受限的线性表,允许在其两端进行操作。
E: 消除递归不一定需要使用栈。
F: 进栈和出栈操作的算法时间复杂度均为 O(n)。
G: 两个栈共享一片连续的内存空间时,为了提高内存利用率、减少溢出,应当把两个栈的栈底分别设置在整篇内存空间的两端。
A: 采用非递归方式重写递归程序是必须使用栈。
B: 函数调用时,系统要用栈保存必要的信息。
C: 只要确定了入栈次序,即可确定出栈次序。
D: 栈是一种受限的线性表,允许在其两端进行操作。
E: 消除递归不一定需要使用栈。
F: 进栈和出栈操作的算法时间复杂度均为 O(n)。
G: 两个栈共享一片连续的内存空间时,为了提高内存利用率、减少溢出,应当把两个栈的栈底分别设置在整篇内存空间的两端。
A,C,D,F
举一反三
- 下列关于栈的叙述中,错误的是_________。 A: 采用非递归方式重写递归程序时必须使用栈 B: 函数调用时,系统要用栈保存必要的信息 C: 只要确定了入栈次序,即可确定出栈次序 D: 栈是一种受限的线性表,允许在其两端进行操作
- 下列关于栈的叙述中,错误的是( )①将递归算法改写为非递归算法时必须使用栈;②函数调用时,系统要用栈保存必要的信息;③只要确定了入栈次序,即可确定出栈次序;④ 栈时一种受限的线性表,允许在栈的两端进行操作 A: 仅① B: 仅① ② ③ C: 仅① ③ ④ D: 仅② ③ ④
- 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
- 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出,应把两个栈的栈底分别设在这片内存空间的两端。( ) A: 正确 B: 错误
- 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当两个栈的栈顶在栈空间的某一位置相遇时,才产生上溢。 A: 长度 B: 深度 C: 栈顶 D: 栈底
内容
- 0
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样栈满的条件是:两栈顶指针值相减的绝对值为1(或两栈顶指针相邻)。
- 1
为了增加内存空间的利用率,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样,当时,才表示栈满
- 2
3.2.4 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时应将两栈的( )分别设在这片内存空间的两端。 A: 长度 B: 深度 C: 栈顶 D: 栈底
- 3
问题:两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。选项:A:错B:对 A: 正确 B: 错误
- 4
为了增加内存空间的利用率和减少溢出的可能,在两个栈共享一片连续的存储空间时,应将两个栈的栈顶(初始的时候栈底和栈顶重合;元素进栈时,两栈顶相向运动)分设在这片存储空间的两端,当______时才产生上溢。 A: 两个栈的栈顶同时到达栈空间的中心点 B: 其中一个栈的栈顶到达栈空间的中心点 C: 两个栈的栈顶在栈空间的某一位置相遇 D: 两个栈的栈顶相加超过了栈空间的最大容量