Java数据结构与算法相关题

Java数据结构与算法相关题
1.栈是一种按“后进先出“,原则进行插入和删除操作的数据结构,因此( A )
必须用栈。
A、实现函数或过程的递归调用及返回处理时
B、将一个元素序列进行逆置
C、链表结点的申请和释放
D、可执行程序的装入和卸载

2.一个栈的输入序列为 1 2 3 4 5,则下列序列中不可能是栈得输出序列的是( A )
A.5 4 1 3 2
B.2 3 4 1 5
C.1 5 4 3 2
D.2 3 1 4 5
3.下列关于栈的叙述正确的是( D )
A、栈是非线性结构
B、栈是一种树状结构
C、栈具有先进先出的特征
D、栈具有先进后出的特征

4.在一棵二叉树的二叉链表中,空指针数等于非空指针数加___A___
A、2
B、1
C、0
D、-1
5.将数组{1,1,2,4,7,5}从小到大排序,若采用___A___排序算法,则元素之间需要进行的比较次数最少。
A、 插入
B、 归并
C、 堆
D、快速

6.如何将二义树(一棵树的每个非叶子节点只有两个子节点)定义为一个Java对象?
public class Node {
private int value;
private Node leftNode;
private Node rightNode;

public Node getRightNode() {
	return rightNode;
}

public void setRightNode(Node rightNode) {
	this.rightNode = rightNode;
}

public int getValue() {
	return value;
}

public void setValue(int value) {
	this.value = value;
}

public Node getLeftNode() {
	return leftNode;
}

public void setLeftNode(Node leftNode) {
	this.leftNode = leftNode;
}

}

7.写一段Java程序,计算一棵二叉树的叶子节点的个数。
public void countNodes(BiTree bt) {
if (bt.lchild != null && bt.rchild == null) {
++count; //设置一个全局计数器
}
countNodes(bt.lchild);
countNodes(bt.rchild);
}
8.遍历是树型结构的一种重要运算。若己知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是 FEGHDCB 。
9.阅读下面的算法,然后回答问题。
QUICKSORT(A, p, r)
If p<r
q = PARTITION(A, p, r)
QUICKSORT(A, p, q-1)
QUICKSORT(A, q+1, r)
PARTITION(A, p, r)

PARTITION(A, p, r)
X=A[r]
i=p -1
for j=p to r -1
if A[j] <=x
i=j+1
if i !=j
exchange A[i] with A[j]
exchange A[i+1] with A[r]
return i+1

  1. 数组A=(2,5,1,4,6,3),调用方法QUICKSORT(A,0,5)。请写出每次执行exchange之后A的内容。
  2. 这是什么算法?该算法的平均
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值