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
    评论
1.栈和队列的共同特点是(只允许在端点处插入删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D) A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任一元素 C.插入删除不需要移动元素 D.所需空间与线性表长度成正比 7.用链表表示线性表的优点是(便于插入删除操作) 8.在单链表中,增加头结点的目的是(方便运算的实现) 9.循环链表的主要优点是(从表中任一结点出发都能访问到整个链表) 10.线性表L=(a1,a2,a3,……ai,……an),下列说法正确的是(D) A.每个元素都有一个直接前件和直接后件 B.线性表中至少要有一个元素 C.表中诸元素的排列顺序必须是由小到大或由大到小 D.除第一个和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 11.线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D) A.必须是连续的 B.部分地址必须是连续的C.一定是不连续的 D.连续不连续都可以 12.线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构) 13.树是结点的集合,它的根结点数目是(有且只有1) 14.在深度为5的满二叉树中,叶子结点的个数为(31) 15.具有3个结点的二叉树有(5种形态) 16.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(13) 17.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(cedba) 18.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为(DGEBHFCA) 19.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是(gdbehfca) 20.数据库保护分为:安全性控制、 完整性控制 、并发性控制和数据的恢复。 1. 在计算机中,算法是指(解方案的准确而完整的描述) 2.在下列选项中,哪个不是一个算法一般应该具有的基本特征(无穷性) 说明:算法的四个基本特征是:可行性、确定性、有穷性和拥有足够的情报。 3. 算法一般都可以用哪几种控制结构组合而成(顺序、选择、循环) 4.算法的时间复杂度是指(算法执行过程中所需要的基本运算次数) 5. 算法的空间复杂度是指(执行过程中所需要的存储空间) 6. 算法分析的目的是(分析算法的效率以求改进) ............ .................

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值