1.若要对1000个元素排序,要求既快又稳定,则最好采用( b )方法。
a.直接插入排序 b.归并排序
c.堆排序 d.快速排序。
2.在平均情况下速度最快的排序方法为( d )
a.直接选择排序b.归并排序
c.堆排序 d.快速排序
3.散列法的主要问题在于( c )
a.散列函数难以计算
b.散列表的存取速度慢
c.会发生冲突
d.散列表占很多内存
4.下面关于折半查找的叙述,正确的是( d )。
a.表必须有序,表可以顺序方式存储,也可以链表方式存储
b.表必须有序且表中数据必须是整型、实型或字符型
c.表必须有序,而且只能从上到大排列
d.表必须有序,而且只能以顺序方式存储
5.有如下程序
long int fib(int n)
fib(5)程序执行后输出结果是( b )
a.5 b. 8
c. 13
d. 21
6.若要从1000个元素中得到10个最小值元素,最好采用( b )方法。
a.直接插入排序
b.直接选择排序
c.堆排序
d.快速排序
7.散列查找时,解决冲突的方法有( d )
a.除留余数法
b.数字分析法
c.直接地址法
d.再散列法
8.具有12条边的有向完全图有多少个顶点: d
a.1 b.2
c.3 d.4
9.若一个元素序列基本有序,则选用( a )方法较快。
a.直接插入排序
b.简单选择排序
c.堆排序
d.快速排序
10.对于一个无向图,下列说法正确的是( c )。
a.每个顶点的入度大于出度;
b.每个顶点的度等于其入度与出度之和;
c.无向图的邻接矩阵一定是对称矩阵;
d.有向图中所有顶点的入度之和大于所有顶点的出度之和;
11.对于一个有向图,若一个顶点的入度为k1,、出度为k2,则该顶点的度是: d
a.k1 b.k2
c.k1-k2
d.k1+k2
12.在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为( b )。
a.k b.k+1
c.k+2
d.2k 13.已知一条路径上有k个顶点数,则该路径长度为:b
a.k b.k-1
c.k+1
d.2 k
14.关键路径是事件结点网络中( a )。
a.从源点到汇点的最长路径
b.从源点到汇点的最短路径
c. 最长的回路
d.最短的回路
15.在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为( d )。
a.n b.n*e
c.e d.2*e
16.将{50,40,60,45,41,48}按顺序插入至一棵**l树中,当插入元素48时,要执行什么类型的旋转变换使树成为平衡树。 b
a.左单旋转
b.右单旋转
c.先左后右双旋转
d.先右后左双旋转
17.最短路径的生成算法可用( c )。
a.普里姆算法
b.克鲁斯卡尔算法
c.迪杰斯特拉算法
d.哈夫曼算法
18.在有n个结点的二叉链表中有(__a__)个空链域。
a.n+1
b.n-1
c.2n+1
d.2n-1
19.假设有6个权值分别为,构造哈夫曼树其带权路径 a
a.117
b.158
c.177
d.118
20.12个结点组成的完全二叉树,按层序遍历方式进行编号,根结点为1,则编号为8的结点深度为( a )
a.0 b.3
c.4 d.1
21.在一棵深度为5(设根深度为1)的完全二叉树中,至少含有( d )个节点。
a.4 b.5
c.31 d.32
22.(线性)表是一个(a)。
a.有限序列,可以为空
b.有限序列,不能为空
c.无限序列,可以为空
d.无限序列,不能为空
23.计算机算法必须具备输入、输出和( b )等5个特性。
a.可行性、可移植性和可扩充性
b.可行性、确定性和有穷性
c.确定性、有穷性和稳定性
d.易读性、稳定性和安全性
24.二叉搜索树重新平衡算法中常用的工具为( a)
a.结点的旋转变换
b.将结点插入到堆栈中
c.将结点插入到队列中
d.散列技术
25.设循环队列a[0..n-1]中头尾指针分别为:front,rear,其中front总是指在队列中第一个元素所在的位置,rear总是指在队列中最后一个元素的下一个位置(顺时针),那么以下哪个语句可以用来成功取读队尾元素( c )
a.a[rear]
b.a[rear-1]
c.a[(rear-1)%n]
d.a[(rear+n-1)%n]
26.对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为:( c )
a.顺序表
b.用头指针表示的单循环链表
c.用尾指针表示的单循环链表
d.单链表
27.要表示高校校、系、班级的有关数据及其关系,选择( b )比较合适。
a.线性结构
b.树结构
c.图结构
d.集合结构
28.设依次进入一个队列的元素有5个,可得到出队的元素序列有( a )种。
a.1 b.5
c.32 d.120
29.在n个结点的顺序表中,算法的时间复杂度都是o(1)的操作是( a )。
a.访问第i个结点(1≤i≤n)和求第i个结点的直接前趋(2≤i≤n)
b.在第i个结点后插入一个新结点(1≤i≤n)
c.删除第i个结点(1≤i≤n)
d.将n个结点从小到大排序
30.由三个结点构成的二叉树,共有__c__种不同的形态
a.3 b.4
c.5 d.6
31.若让元素1,2,3依次进栈,则出栈次序不可能出现( c )种情况。
a.3,2,1
b.2,1,3
c.3,1,2
d.1,3,2
32.有如下程序
int func(int a,int b)
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
primf(""d ""r);
该程序的输出结果是( d )。
a.12 b. 13
c. 14
d.15 33.数据结构中,与所使用的计算机无关的是数据的( c )结构
a.存储 b.物理
c.逻辑 d.物理和存储
34.栈中元素的进出原则为( b )。
a.先进先出
b.后进先出
c.大数先出
d.小数先出
35.计算机内部数据处理的基本单位是(b )。
a.数据 b.数据元素
c.数据项
d.数据库
36.对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( c )。
a.直接选择排序
b.直接插入排序
c.快速排序
d.起泡排序
37.计算机算法指的是:( c )
a.计算方法
b.排序方法
c.解决问题的有限运算序列
d.调度方法
38.往栈输入序列a,b,c,d,e,f六个数据,得到输出数据元素为:b,a,c,f,e,d.则该栈的容量至少为 a
a.3 b.4
c.5 d.6
数据结构与算法
本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...
算法与数据结构
学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...
算法与数据结构
1 简述算法的概念及其五个重要特性。2 下图是用邻接表存储的图,请画出此图,写出其邻接矩阵以及从c点开始分别按广度优先搜索和深度优先搜索遍历该图的结果。给定一棵用二叉链表表示的二叉树,其根指针为root,编写求此二叉树叶结点个数的算法,要求先写出二叉链表的类型定义。2.编写简单选择排序的算法。1 用...