数据结构与算法

发布 2021-05-02 16:40:28 阅读 7813

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 用...