题目链接:https://www.nowcoder.com/test/question/done?tid=31324734&qid=2411
1、有栈S,按顺序ABCD进栈,则出栈顺序不可能存在的是______。
A、DCBA
B、BACD
C、BADC
D、CABD
正确答案:D
解析:CABD C出栈 那么 AB一定还在栈里面 接下来只能是B出栈或者D进栈 不可能先出来A
2、链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。
A、正确
B、错误
正确答案:A
解析:采用链栈不必预先估计栈的最大容量,只要系统有可用空间,就不会溢出。
3、需要频繁的插入删除操作使用什么结构比较合适?
A、数组
B、队列
C、链表
D、栈
正确答案:C
解析:
数组和链表方式实现顺序表,各有其优缺点。数组的优点是较高的存储效率和快速的随机存取,缺点是数组不能动态的增长,并且在插入和删除时,平均会移动n/2的数据,不适用于随机位置插入和删除很频繁的操作。而链表家恰好具备此优点,一般来说链表的插入和删除基本是固定时间的,链表的缺点是不太适合于随机访问,而在连续访问时,链表也具有很好的表现。
队列(queue)和栈是一种操作受限的线性表。栈的操作受限表现在插入和删除只能对栈顶元素进行,删除的元素永远是最新插入的,即操作遵循后入先出(LIFO)原则。队列中的操作原则与栈的相反。删除的元素是最早插入到队列中的,就像排队一样,排在最前面的人将最先从队伍中出列。这样的操作原则常常称作先入先出。所以对于栈和队列的频繁随机插入删除不合适。
4、对于满足折半查找和分块查找条件的文件而言,无论它存在何种介质上,均能进行顺序查找,折半查找和分块查找()
A、对
B、错
正确答案:B
解析:存储在顺序介质如磁带上,无法随机读写自然无法二分与分块。
5、
For the following Java or C# code(3 Points),What will my Array3[2][2] returns?
1 2 3 4 5 6 |
|
A、9
B、2
C、6
D、overflow
正确答案:D
解析:
题考查的是基本的语法知识。无论是Java语言还是C#语言,在计算机的基本语法中,数组始终是以0开始,对于一个具有n个元素的一位数组,其下标是从0到n-1。因此本例中定义的二维数组myArray3[][],第一个元素对应的下标表示为myArray3[0][0],问题中的myArray3[2][2]理解为第三行第三个元素,查找原始数据发现,第三行仅包含两个元素,超出了数组可访问的位置,发生溢出。
Java中会报出异常java.lang.ArrayIndexOutOfBoundsException。
6、中序遍历二叉链存储的二叉树时,一般要用堆栈;中序遍历检索二叉树时,也必须使用堆栈()
A、对<