XBOX

  PHP博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  13 随笔 :: 87 文章 :: 0 评论 :: 0 Trackbacks

一.选择题
1.某二叉树的前序遍历为:abdefc,中序遍历为:bedfac,则后序遍历为(      )。
A.efdbca      B.befdca       C.edfbca       D.efdbac
2.某无向图G是连通的,则结点数n和边数e一定有如下关系(     )。
A . e>=n-1          B . e>=n-2        C .  e>=n-3        D . e>=n-4
3.能采用二分查找的数据结构是(      )
A .线性表        B. 二叉树      C. 有序表       D . 哈希表
4.已知某图G,e 为G中边的总数,则图G中所有顶点的度之和为(      )。
A . 2e           B . e         C . 2e+1         D . 2e-1
5.下列哪一个不属于算法的性质(      )。
A.输入性     B.输出性      C.可执行性      D.可修改性
6.一棵有n(n>0)个结点的满二叉树共有(      )个叶子结点。
A. n/2       B. n/2-1       C.  (n+1)/2      D. (n-1)/2
7.顺序表的主要优点是(      )。
A.不支持随机存取            B.内存空间利用率高
C.时间效率高                D.可方便扩充数组大小
8.假设指针p指向单链表中的某一结点,若在p指针的后面插入一个新结点q,只需修改下列哪个指针值即可(      )。
A.p=q;q=p.next;                     B.p=q.next;q.next=p.next
C.p.next=q;q.next=p.next;           D.q.next=p.next;p.next=q;
9.若进栈系列为:a,b,c,d,则下列哪一个不可能是出栈系列(      )。
A.a,b,c,d      B.c,d,b,a     C.a,c,d,b     D.c,a,b,d
10.某二叉树共有1001个结点,其中叶结点的个数为501个,则度为2的结点个数为(    )。
A.498        B.499      C.500       D.不能确定

二.填空题
1.若规定二叉树根结点的层次为1,则第4层上最多有(          )个结点。
2.具有N个结点的无向完全图共有(                )条边。
3.数据结构课程是研究数据的(             )、(             )、(            )等三个方面的内容。
4.树转换为二叉树,其根结点的(           )子树一定为空。
5.若串s=“Data Structure”,则执行语句s=s.substring(5, s.length())后,
 s的值为(               )。
6.已知二维数组a[10][8]采用行优先存储方式,每个元素占2个存储单元,第一个元素的存储地址是1012,则元素a[4][5]的存储地址为(             )。
7.具有N个数据的无序表中,若采用顺序查找算法,且每个数据查找的概率相等,那么查找成功时,平均查找长度ASL=(          )。
8.画出具有3个结点的二叉树的所有形态:(                                     )。

三.判断题(正确的请打“√”,错误的请打“×”,每题1分,共10分)
1.堆栈是一种先进先出表。                                  (   )
2.递归算法是指存在自调用的算法。                          (   )
6.满二叉树一定是完全二叉树。                              (   )
4.数据元素之间的相互联系方式称为数据的逻辑结构。          (   )
5.算法执行的时间越长说明算法的时间效率越高。              (   )
6.实现顺序存储结构的方法是使用数组。                      (   )
7.对二叉树和图进行遍历所得的次序都是唯一的。              (   )
8.含有N(N>1)个结点的二叉树前序和后序遍历次序一定不相同。(   )
9.二叉排序树中根结点的权值最大。                          (   )
10.图的最小生成树是惟一的。                               (   )

四.应用题
1.对于下列二叉树,请写出:
(1)前、中、后序遍历次序;
(2)中序线索二叉链表;
2.给定数据元素系列为{47,23,2,15,98,57,22,6,12},请写出冒泡排序各趟的结果。

3.给定叶子结点的权值{1,4,6,2,9},请构造哈夫曼树,并给出叶子结点的哈夫曼编码。

4.给定数据元素系列为{47,23,2,15,98,57,22,6,12},请写出直接选择排序各趟的结果。

5.画出中序遍历次序为xyz的所有二叉树的形态。

五.算法设计题
1.下列程序是二分查找的非递归算法,请填空:
public static int biSeach(int a[],int x){
int n=a.length();
int  i=0,j=n-1,mid;
while (                 )
   {mid=                      ;
if (a[mid]==x)  return  mid;
else  if (              )  
                           ;
      else
                           ;
}
rerurn  -1;
}

2.请写出冒泡排序的算法:
public static void bubbleSort(int a[])

posted on 2009-05-03 22:12 XBOX 阅读(112) 评论(0)  编辑 收藏 引用 网摘 所属分类: 数据结构与算法

只有注册用户登录后才能发表评论。
网站导航: