java程序设计基础选择总结(3)

题目链接: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

int [][] myArray3 = 

new int[3][]{ 

new int[3]{5,6,2}, 

new int[5]{6,9,7,8,3}, 

new int[2]{3,2}

}; 

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、对<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值