数据结构选择题(期末)

1.给定N×N的二维数组A,则在不改变数组的前提下,查找最大元素的时间复杂度是(A):
 
A.O(N2)
B.O(NlogN)
C.O(N)
D.O(N2logN)

两重循环即O(N2)的时间复杂度


2.与数据元素本身的形式、内容、相对位置、个数无关的是数据的(C )。
A.存储结构
B.存储实现
C.逻辑结构
D.运算实现

逻辑结构是数据元素之间的关系,与数据元素本身无关

3.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着(B )。 
A.数据在同一范围内取值 
B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C.每个数据元素都一样 
D.数据元素所包含的数据项的个数要相等

4.下面代码段的时间复杂度是(D)。
s=0;
for ( i=0; i<n; i++ )
    for( j=0; j<n; j++ )
        s+=B[i][j];
sum=s;
 
A.O(1)
B.O(log2n) 
C.O(n)
D.O(n2)

两重for循环,均为从0到n-1,所以是n*n,即O(n2

5.下面代码段的时间复杂度是(D)。
i=1;
while( i<=n )
    i=i*3;
 
A.O(n)
B.O(n2)
C.O(1) 
D.O(log3n)

6.下面代码段的时间复杂度是(B)。
x=0;
for( i=1; i<n; i++ )
    for ( j=1; j<=n-i; j++ )
        x++;
 
A.O(n)
B.O(n2) 
C.O(n3) 
D.O(2n)

7.要判断一个整数N(>10)是否素数,我们需要检查3到 根号N 之间是否存在奇数可以整除N。则这个算法的时间复杂度是:(B)
A.O(N/2) 
B.O(根号N) 
C.O(NlogN)
D.O(0.5logN)

8.下面的程序段违反了算法的(A)原则。
void sam()
{  int n=2;
   while (n%2==0)    n+=2;
   printf(“%d”,n);
}
 
A.有穷性 
B.确定性
C.可行性
D.健壮性

死循环

9.下列对顺序存储的有序表(长度为 n)实现给定操作的算法中,平均时间复杂度为 O(1) 的是(D):
A.查找包含指定值元素的算法 
B.插入包含指定值元素的算法
C.删除第 i(1≤i≤n)个元素的算法
D.获取第 i(1≤i≤n)个元素的算法

10.数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为(C):
A.1120
B.1125
C.1140
D.1145

数组A[1..5,1..6]是5行6列的二维数组,下标不是从0开始,而是从1开始

11.对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度为(B):
A.O(1), O(1)
B.O(1), O(N)
C.O(N), O(1)
D.O(N), O(N)

访问:下标索引,为O(1)

增加:在不同位置增加1个节点需要后移的元素个数不同,分别为:0,1,2······n,取平均值为:(n+1)/ 2,即为 O(n)

12.线性表若采用链式存储结构时,要求内存中可用存储单元的地址(B)
 
A.必须是连续的 
B.连续或不连续都可以 
C.部分地址必须是连续的
D.一定是不连续的

13.对于一个具有N个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为(C)
A.O(1)
B.O(N/2)
C.O(N)
D.O(N2)

查找次数分别为:0,1,2······n,取平均值为:(n+1)/ 2,即为 O(n)

14.链表不具有的特点是:(B)
A.插入、删除不需要移动元
B.方便随机访问任一元素
C.不必事先估计存储空间
D.所需空间与线性长度成正比

15.设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是(D):
A.h=t; t->next=h->next;
B.t->next=h->next; h=t;
C.h=t; t->next=h;
D.t->next=h; h=t;

16.在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(C)
A.s->next=p; p->next=s;
B.s->next=p->next; p=s;
C.s->next=p->next; p->next=s;
D.p->next=s; s->next=p;


17.带头结点的单链表h为空的判定条件是:(B)
 
A.h == NULL;
B.h->next == NULL;
C.h->next == h;
D.h != NULL;

18.设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是(D): 
A.1
B.3
C.5
D.1或者5

由这一句话“若第一个出栈的元素是4”知道了 栈里面压入了1,2,3

当4出栈后5入栈,出栈,然后1,2,3依次出栈,最后一个出栈的是1

当4出栈后1,2,3依次出栈,然后5入栈,出栈,最后一个出栈的是5

19.若top为指向栈顶元素的指针,判定栈S(最多容纳m个元素)为空的条件是(B):
A.S->top == 0
B.S->top == -1
C.S->top != m-1
D.S->top == m-1

栈为空时:S->top = -1

20.若栈采用顺序存储方式存储,现两栈共享空间V[m]:top[i]代表第i(i=1或2)个栈的栈顶;栈1的底在V[0],栈2的底在V[m-1],则栈满的条件是(D):
A.|top[2]-top[1]|==0
B.top[1]+top[2]==m
C.top[1]==top[2]
D.top[1]+1==top[2]

21.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是?(B)
A.堆栈
B.队列
C.树
D.图

22.若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少?(A)
A.2和0
B.2和2
C.2和4
D.2和6

23.顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( C)。
A.100
B.105
C.108
D.110

24.设栈S和队列Q的初始状态均为空,元素{1, 2, 3, 4, 5, 6, 7}依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是{2, 5, 6, 4, 7, 3, 1},则栈S的容量至少是:(D)
A.1
B.2
C.3
D.4

25.给定一个堆栈的入栈序列为{ 1, 2, ⋯, n },出栈序列为{ p1, p2, ⋯, pn }。如果p2=n,则存在多少种不同的出栈序列?(C)
A.1
B.2
C.n−1
D.n

已知第2个出栈的一定是n,假如n=4,那么可能的情况:

1入栈,出栈,然后2,3,4入栈,最后依次出栈

1入栈,2入栈,出栈,然后3,4入栈,最后依次出栈

1,2入栈,3入栈,出栈,然后4入栈,最后依次出栈

当n=4时共3种情况

26.现有队列 Q 与栈 S,初始时 Q 中的元素依次是{ 1, 2, 3, 4, 5, 6 }(1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:(C)
A.1, 2, 5, 6, 4, 3
B.2, 3, 4, 5, 6, 1
C.3, 4, 5, 6, 1, 2
D.6, 5, 4, 3, 2, 1

27.循环队列的引入,目的是为了克服(A )。
A.假溢出问题
B.真溢出问题
C.空间不够用
D.操作不方便

假溢出:

队列的假溢出通常是指在队列的存储空间尚未完全充满的情况下,由于特定的存储结构或算法导致的溢出现象。这通常发生在顺序队列中,其中队尾指针已经指向数组的最后一个位置,而队头指针并未指向数组的起始位置,这时如果进行入队操作,会显示队列已满,但实际上队列中仍有存储空间未被利用。

28.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为( D)。
A.SXSSSXXX
B.SXSXSXSX
C.SSSSXXXX
D.SXSSXSXX

29.循环队列的队满条件为 ( C)。
A.(sq.rear+1) % maxsize ==(sq.front+1) % maxsize
B.(sq.front+1) % maxsize ==sq.rear
C.(sq.rear+1) % maxsize ==sq.front
D.sq.rear ==sq.front

判空:rear==front

判满:(rear+1) % maxsize ==front

30.栈和队列的共同点是( C)。
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同点

31.若某线性表最常用的操作是在表尾进行插入和删除,则利用哪种存储方式最合适?(A)
A.数组
B.单链表
C.双向链表
D.广义表

32.若某线性表最常用的操作是在表头进行插入和删除,则利用哪种存储方式最合适?(A)
A.单链表
B.双向链表
C.数组
D.广义表

33.树最适合于用来表示(D)
A.有序数据元素
B.无序数据元素
C.元素之间无联系的数据
D.元素之间具有分支层次关系的数据

34.如果二叉树的后序遍历结果是FDEBGCA,中序遍历结果是FDBEACG,那么该二叉树的前序遍历结果是什么?(C)
A.ABCDEFG
B.ABDFEGC
C.ABDFECG
D.ABDEFCG

35.在下述结论中,正确的是:(A)
①只有一个结点的二叉树的度为0;
②二叉树的度为2;
③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①④
B.②④
C.①②③
D.②③④

36.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序(B)
A.发生改变
B.不发生改变
C.不能确定
D.以上都不对

因为三种遍历序列均按照左右次序

37.按照二叉树的定义,具有3个结点的二叉树有几种?(C)
A.3
B.4
C.5
D.6

38.二叉树中第5层(根的层号为1)上的结点个数最多为:(C)
A.8
B.15
C.16
D.32

39.先序遍历图示二叉树的结果为(B)


A.A,B,C,D,H,E,I,F,G
B.A,B,D,H,I,E,C,F,G
C.H,D,I,B,E,A,F,C,G
D.H,I,D,B,E,F,G,A,C

40.对二叉搜索树进行什么遍历可以得到从小到大的排序序列?(C)
A.前序遍历
B.后序遍历
C.中序遍历
D.层次遍历

二叉搜索树:若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值

41.在有N个结点且为完全二叉树的二叉搜索树中查找一个键值,其平均比较次数的数量级为(A)
A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N2)

寻找可能的次数:1,2······logN,求平均值:(logN)/2+1/2,即 O(logN)

42.已知8个数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉搜索树后,最后两层上的结点总数为:(B)
A.1 
B.2
C.3
D.4

43.具有65个结点的完全二叉树其深度为(根的深度为1):(B)
A.8
B.7
C.6
D.5

44.堆的形状是一棵:(D)
A.二叉搜索树
B.满二叉树
C.非二叉树
D.完全二叉树

45.对N(N≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是: (D)
A.树中一定没有度为1的结点
B.树中两个权值最小的结点一定是兄弟结点
C.树中任一非叶结点的权值一定不小于下一层任一结点的权值
D.该树一定是一棵完全二叉树

46.设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为:(C)
 
A.40
B.36
C.25
D.12

结果=频率(黑色的数)*路径长度 求和

47.由分别带权为9、2、5、7的四个叶子结点构成一棵哈夫曼树,该树的带权路径长度为:(C)
A.23
B.37
C.44
D.46

48.如果二叉树的前序遍历结果是12345,后序遍历结果是32541,那么该二叉树的中序遍历结果是什么?(D)
A.23145
B.23154
C.24135
D.无法确定

已知前序,后序无法确定

已知前序,中序唯一确定

已知后序,中序唯一确定

因为中序可以把左右子树分开,从中序里面能知道左子树有哪些,右子树有哪些。

前序,后序都没有这个功能

49.有一个四叉树,度2的结点数为2,度3的结点数为3,度4的结点数为4。问该树的叶结点个数是多少?(D)
A.10
B.12
C.20
D.21

50.若一棵二叉树的前序遍历序列是{ 4, 2, 1, 3, 6, 5, 7 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(D)
A.这是一棵完全二叉树
B.所有的奇数都在叶子结点上
C.这是一棵二叉搜索树
D.2是5的父结点

51.具有1102个结点的完全二叉树一定有__个叶子结点。(B)
A.79
B.551
C.1063
D.不确定

52.若一棵二叉树的后序遍历序列是{ 1, 3, 2, 6, 5, 7, 4 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(A)
A.这是一棵完全二叉树
B.2是1和3的父结点
C.这是一棵二叉搜索树
D.7是5的父结点

53.已知一棵二叉树的树形如下图所示,其后序序列为{ e, a, c, b, d, g, f }。树中与结点a同层的结点是:(B)


A.c
B.d
C.f
D.g

54.已知字符集{ a, b, c, d, e, f },若各字符出现的次数分别为{ 6, 3, 8, 2, 10, 4 },则对应字符集中各字符的哈夫曼编码可能是:(A)
A.00, 1011, 01, 1010, 11, 100
B.00, 100, 110, 000, 0010, 01
C.10, 1011, 11, 0011, 00, 010
D.0011, 10, 11, 0010, 01, 000

左0右1

55.若将一棵树 T 转化为对应的二叉树 BT,则下列对 BT 的遍历中,其遍历序列与 T 的后根遍历序列相同的是:(B)
A.先序遍历
B.中序遍历
C.后序遍历
D.按层遍历

56.对 n 个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有 115 个结点,则 n 的值是:(C)
A.56
B.57
C.58
D.60

数字分为2部分,一部分是n

另一部分是n-1

n+n-1=115

57.以二叉链表作为二叉树的存储结构,在具有 n 个结点的二叉链表中(n>0),空链域的个数为 __(A)
A.n+1
B.n
C.n−1
D.无法确定

58.已知二叉树的前序遍历序列为 ABDCEFG,中序遍历序列为 DBCAFEG,则后序遍历序列为 __(B)
A.BDACEFG
B.DCBFGEA
C.ABCDEFG
D.GFEDCBA

59.利用过滤法将关键字序列 { 37, 66, 48, 29, 31, 75 } 建成的最大堆为 __(C)
A.75, 66, 48, 37, 31, 29
B.75, 37, 66, 29, 31, 48
C.75, 66, 48, 29, 31, 37
D.75, 48, 66, 37, 29, 31

最大堆创建(过滤法)用c++编译运行-CSDN博客

60.在一棵度为 3 的树中,度为 2 的结点个数是 1,度为 0 的结点个数是 6,则度为 3 的结点个数是 __(A)
A.2
B.3
C.4
D.无法确定

方程组为:

No+N2+N3=n

2 * N2+3*N3+1=n

带入得:

6+1+N3=n

2*1+3*N3+1=n

解得N3=2

61.一棵有47个结点的树一定有______条边。(B)
A.47
B.46
C.92
D.23

62.与表达式 x+y*(z-u)/v 等价的后缀表达式是(A)
A.xyzu-*v/+
B.xyzu-v/*+
C.+x/*y-zuv
D.+x*y/-zuv

63.具有5个顶点的有向完全图有多少条弧?(C)
A.10
B.16
C.20
D.25

有向完全图:n*(n-1)

无向完全图:n*(n-1) / 2

64.对于一个具有N个顶点的无向图,要连通所有顶点至少需要多少条边?(A)
A.N−1
B.N
C.N+1
D.N/2

65.具有N(N>0)个顶点的无向图至多有多少个连通分量?(D)
A.0
B.1
C.N−1
D.N

66.如果G是一个有28条边的非连通无向图,那么该图顶点个数最少为多少?(C)
A.7
B.8
C.9
D.10

67.对于有向图,其邻接矩阵表示比邻接表表示更易于:(A)
A.求一个顶点的入度
B.求一个顶点的出边邻接点
C.进行图的深度优先遍历
D.进行图的广度优先遍历

68.对于一个具有N个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是:(D)
A.N−1
B.N
C.(N−1)2
D.N2

69.若一个有向图用邻接矩阵表示,则第i个结点的入度就是:(C)
A.第i行的元素个数
B.第i行的非零元素个数
C.第i列的非零元素个数
D.第i列的零元素个数

70.关于图的邻接矩阵,下列哪个结论是正确的?(B)
A.有向图的邻接矩阵总是不对称的
B.有向图的邻接矩阵可以是对称的,也可以是不对称的
C.无向图的邻接矩阵总是不对称的
D.无向图的邻接矩阵可以是不对称的,也可以是对称的

71.在任一有向图中,所有顶点的入度之和与所有顶点的出度之和的关系是:(A)
A.相等
B.大于等于
C.小于等于
D.不确定

72.下列说法不正确的是:(D)
A.图的遍历是从给定的源点出发每一个顶点仅被访问一次
B.遍历的基本算法有两种:深度遍历和广度遍历
C.图的深度遍历是一个递归过程
D.图的深度遍历不适用于有向图

73.图的深度优先遍历类似于二叉树的:(A)
A.先序遍历
B.中序遍历
C.后序遍历
D.层次遍历

DFS和先序遍历均是一条路走到黑,遇到死路再回退,然后重复此操作

74.在用邻接表表示有N个结点E条边的图时,深度优先遍历算法的时间复杂度为:(B)
A.O(N)
B.O(N+E)
C.O(N2)
D.O(N2×E)

邻接矩阵:

DFS:O(V2)            BFS:O(V2)

邻接表:

DFS:O(N+E)              BFS:O(N+E)

75.在图中自d点开始进行深度优先遍历算法可能得到的结果为: (C)


A.d,a,c,f,e,b
B.d,a,e,b,c,f
C.d,e,a,c,f,b
D.d,f,c,e,a,b

76.给定无向图G,从V0出发进行深度优先遍历访问的边集合为: {(V0,V1), (V0,V4), (V1,V2), (V1,V3), (V4,V5), (V5,V6)}。则下面哪条边不可能出现在G中?(C)
A.(V0,V2)
B.(V0,V6)
C.(V1,V5)
D.(V4,V6)

77.给定一有向图的邻接表如下。从顶点V1出发按深度优先搜索法进行遍历,则得到的一种顶点序列为:(B)


A.V1,V2,V3,V5,V4
B.V1,V3,V4,V5,V2
C.V1,V4,V3,V5,V2
D.V1,V2,V4,V5,V3

DFS有向图(用c++编译运行)-CSDN博客

78.在图中自c点开始进行广度优先遍历算法可能得到的结果为:(C)


A.c,a,b,e,f,d
B.c,a,f,d,e,b
C.c,f,a,d,e,b
D.c,f,a,b,d,e

BFS(用C++编译运行)-CSDN博客

79.给定一有向图的邻接表如下。从顶点V1出发按广度优先搜索法进行遍历,则得到的一种顶点序列为:(C)


A.V1,V2,V3,V4,V5
B.V1,V2,V3,V5,V4
C.V1,V3,V2,V4,V5
D.V1,V4,V3,V5,V2

80.我们用一个有向图来表示航空公司所有航班的航线。下列哪种算法最适合解决找给定两城市间最经济的飞行路线问题?(A)
A.Dijkstra算法
B.Kruskal算法
C.深度优先搜索
D.拓扑排序算法

81.数据结构中Dijkstra算法用来解决哪个问题?(B)
A.关键路径
B.最短路径
C.拓扑排序
D.字符串匹配

82.给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:(D)


A.10
B.11
C.12
D.14

83.下图为一个AOV网,其可能的拓扑有序序列为:


A.ACBDEF
B.ABCEFD
C.ABCDFE
D.ABCEDF

84.在AOE网中,什么是关键路径?(D)
A.最短回路
B.最长回路
C.从第一个事件到最后一个事件的最短路径
D.从第一个事件到最后一个事件的最长路径

85.在拓扑排序算法中用堆栈和用队列产生的结果会不同吗?(C)
A.是的肯定不同
B.肯定是相同的
C.有可能会不同
D.以上全不对

86.下面给出的有向图中,有__个强连通分量。(C)


A.1 ({0,1,2,3,4})
B.1 ({1,2,3,4})
C.2 ({1,2,3,4}, {0})
D.5 ({0}, {1}, {2}, {3}, {4})

87.下面给出的有向图中,各个顶点的入度和出度分别是:(A)


A.入度: 0, 2, 3, 1, 2; 出度: 3, 2, 1, 1, 1
B.入度: 3, 2, 1, 1, 1; 出度: 0, 2, 3, 1, 2
C.入度: 3, 4, 4, 2, 3; 出度: 3, 4, 4, 2, 3
D.入度: 0, 1, 2, 1, 1; 出度: 3, 2, 1, 1, 1

88.给定一个有向图的邻接表如下图,则该图有__个强连通分量。


A.4 {{0, 1, 5}, {2}, {3}, {4}}
B.3 {{2}, {4}, {0, 1, 3, 5}}
C.1 {0, 1, 2, 3, 4, 5}
D.1 {0, 5, 1, 3}

89.使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到的各最短路径的目标顶点是:(B)


A.5, 2, 3, 4, 6
B.5, 2, 3, 6, 4
C.5, 2, 4, 3, 6
D.5, 2, 6, 3, 4

90.给定有向图的邻接矩阵如下: 


顶点2(编号从0开始)的出度和入度分别是:
A.3, 1
B.1, 3
C.0, 2
D.2, 0

91.给定有权无向图如下。关于其最小生成树,下列哪句是对的?


A.最小生成树不唯一,其总权重为23
B.最小生成树唯一,其总权重为20
C.边(B, F)一定在树中,树的总权重为23
D.边(H, G)一定在树中,树的总权重为20

92.拓扑排序
▁▁▁▁▁ 是下面 AOV 网的一个拓扑序列。(B)

题图.jpg


A.BDACFEG
B.ACBDFEG
C.ABDCFEG
D.CDEABFG

93.下图是一个有 10 个活动的 AOE 网,时间余量最大的活动是:(B)

AOE网.png


A.c
B.g
C.h 
D.j

94.下列排序算法中,哪种算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)(B)
A.冒泡排序
B.插入排序
C.堆排序
D.快速排序

插入 排序-CSDN博客

95.就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是:(C)
 
A.堆排序 < 归并排序 < 快速排序
B.堆排序 > 归并排序 > 快速排序
C.堆排序 < 快速排序 < 归并排序
D.堆排序 > 快速排序 > 归并排序

96.对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?(A)
A.从小到大排好的
B.从大到小排好的
C.元素无序
D.元素基本有序

97.对于序列{ 49,38,65,97,76,13,27,50 },按由小到大进行排序,下面哪一个是初始步长为4的希尔排序法第一趟的结果?(B)
A.13,27,38,49,50,65,76,97
B.49,13,27,50,76,38,65,97
C.49,76,65,13,27,50,97,38
D.97,76,65,50,49,38,27,13

希尔排序 (最后附完整代码)-CSDN博客

98.给定初始待排序列{ 15,9,7,8,20,-1,4 }。如果希尔排序第一趟结束后得到序列为{ 15,-1,4,8,20,9,7 },则该趟增量为:(D)
A.1
B.2
C.3
D.4

希尔排序 (最后附完整代码)-CSDN博客

99.对大部分元素已有序的数组进行排序时,直接插入排序比简单选择排序效率更高,其原因是:(A)
•    (I). 直接插入排序过程中元素之间的比较次数更少
•    (II). 直接插入排序过程中所需要的辅助空间更少
•    (III). 直接插入排序过程中元素的移动次数更少
A.仅 I
B.仅 III
C.仅 I、II
D.I、II 和 III

100.在下列查找的方法中,平均查找长度与结点个数无关的查找方法是:(C)
A.顺序查找 
B.二分法
C.利用哈希(散列)表
D.利用二叉搜索树

101.假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要进行多少次探测?(D)
A.K−1
B.K
C.K+1
D.K(K+1)/2

102.将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。散列函数为:H(Key)=Key%11,采用线性探测法处理冲突。问:当第一次发现有冲突时,散列表的装填因子大约是多少?(B)
A.0.27
B.0.45
C.0.64
D.0.73

103.给定散列表大小为11,散列函数为H(Key)=Key%11。采用平方探测法处理冲突:hi(k)=(H(k)±i2)%11将关键字序列{ 6,25,39,61 }依次插入到散列表中。那么元素61存放在散列表中的位置是:(A)
A.5 
B.6
C.7 
D.8

104.现有长度为 7、初始为空的散列表HT,散列函数H(k)=k%7,用线性探测再散列法解决冲突。将关键字 22, 43, 15 依次插入到HT后,查找成功的平均查找长度是:(C)
A.1.5
B.1.6
C.2
D.3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIT 6.5840(6.824) Lab1:MapReduce 设计实现

1 介绍 本次实验是实现一个简易版本的MapReduce&#xff0c;你需要实现一个工作程序&#xff08;worker process&#xff09;和一个调度程序&#xff08;coordinator process&#xff09;。工作程序用来调用Map和Reduce函数&#xff0c;并处理文件的读取和写入。调度程序用来协…

晶振在电子设备中的作用是什么?

在无源晶振电路中&#xff0c;并联电阻起着至关重要的作用。无源晶振本身不能自行产生振荡&#xff0c;因此需要借助外部电路来实现。并联在晶振两端的电阻&#xff0c;通常称为负载电阻&#xff0c;对电路的稳定性和振荡性能有着重要影响。 晶振电路的核心是皮尔斯振荡器&…

mysql根据字段值关联查不同表

mysql根据字段值关联查不同表&#xff1a; 实现&#xff1a; 使用left join 结合case when 判断直接取值&#xff1a; select mp.member_id ,mp.store_id, case mp.store_type when 1 then bs.store_namewhen 2 then sc.store_namewhen 3 then be.store_name end as store_na…

string类篇超超超详解,40余个成员函数详细解释(图文)!看完包会!!

本篇目标 constructoroperatorElements accessIteratorsCapacityModifiersString operationsmember contants其他函数 一、constructor(对象的创建) void StrTest1() {string s1;//直接构造cout << s1 << endl;//string里内置了流插入、流提取的函数重载&#xf…

Naive RAG 、Advanced RAG 和 Modular RAG 简介

简介&#xff1a; RAG&#xff08;Retrieval-Augmented Generation&#xff09;系统是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的机制&#xff0c;用于提高大型语言模型&#xff08;LLMs&#xff09;在特定任务上的表现。随…

深入解析RedisJSON:在Redis中直接处理JSON数据

码到三十五 &#xff1a; 个人主页 JSON已经成为现代应用程序之间数据传输的通用格式。然而&#xff0c;传统的关系型数据库在处理JSON数据时可能会遇到性能瓶颈。为了解决这一问题&#xff0c;Redis推出了RedisJSON模块&#xff0c;它允许开发者在Redis数据库中直接存储、查询…

产品推荐 | 基于 AMD Virtex UltraScale FPGA VCU1287 的特性描述套件

01 产品概述 VCU1287 功能描述套件可为您提供描述和评估 Virtex™ UltraScale™ XCVU095-FFVB2104E FPGA 上可用 32 GTH (16Gbps) 和 32 GTY (30Gbps) 收发器所需的一切功能。每个 GTH 与 GTY Quad 及其相关参考时钟均从 FPGA 路由至 SMA 及 Samtec BullsEye 连接器。 Bulls…

好题总结汇总

好题总结汇总 总结一些做完很有收获的题。 一、经典问题 DP的结合 1、题意&#xff1a; 给定 n n n 种颜色的球的数量 a 1 , a 2 , . . . , a n a_1, a_2, ..., a_n a1​,a2​,...,an​&#xff0c;选出一些不同种类的球(也就是在n种球中选球的任意情况)&#xff0c;将球…

TCP的滑动窗口机制和流量控制

目录 滑动窗口 流量控制 拥塞控制 滑动窗口 TCP除了保证可靠性之外&#xff0c;也希望能够尽可能高效的完成数据传输。滑动窗口就是一种提高效率的机制。以下是不引入滑动窗口的数据传输过程&#xff1a; 可以看到&#xff0c;主机A这边每次收到一个ACK才发送下一个数据。这…

为什么cca门限和tx 功率有关系

Cca是用来决定信道是否繁忙&#xff0c;好像只和收有关。 但是为什么和tx有关。 设想一下这个网路布局。 如果某个STA在决定是否发送的时候&#xff0c;是否不能只看收到的干扰多大&#xff0c;还应该“冒险”一下&#xff0c;如果自己的功率足够&#xff0c;那么就可以扛住干…

MyBatis的注解实现复杂映射开发

xml 配置方式实现复杂映射回顾 ​ 实现复杂映射我们之前可以在映射文件中通过配置来实现&#xff0c;使用注解开发后&#xff0c;我们可以通过 Results 注解&#xff0c;Result 注解&#xff0c;One 注解和 Many 注解组合完成复杂关系的配置。 注解说明Results代替的是标签 …

【csv-parse】使用parse方法的时候来转换为csv字符串时,会导致输出有乱码

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;前端bug记录 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续前进…

Vue3组件库开发项目实战——02项目搭建(配置Eslint/Prettier/Sass/Tailwind CSS/VitePress/Vitest)

摘要&#xff1a;在现代前端开发中&#xff0c;构建一个高效、可维护且易于协作的开发环境至关重要。特别是在开发Vue3组件库时&#xff0c;我们需要确保代码的质量、一致性和文档的完整性。本文将带你从0搭建vue3组件库开发环境&#xff0c;以下是配置代码规范、格式化、CSS样…

扩散模型diffusion model

一 什么是扩散模型 1.1 现有生成模型 已经有大量的方法证明深度生成模型能够模拟人类的想象思维&#xff0c;生成人类难以分辨真伪的内容&#xff0c;主要方法如下&#xff1a; 1、GAN&#xff1a;用神经网络训练生成器和判别器 GAN 的主要思想&#xff1a; GAN 就是一个互搏的…

49.乐理基础-拍号的类型-单拍子、复拍子

当前写的东西&#xff0c;如果只是想要看懂乐谱的话&#xff0c;它是没什么意义的&#xff0c;就像我们要把 0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5。。。称为自然数&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5称为正整…

H5 云商城 file.php 文件上传致RCE漏洞复现

0x01 产品简介 H5 云商城是一个基于 H5 技术的电子商务平台,旨在为用户提供方便快捷的在线购物体验。多平台适配:H5 云商城采用 H5 技术开发,具有良好的跨平台适配性。无论是在电脑、手机还是平板等设备上,用户都可以通过网页浏览器访问和使用云商城,无需安装额外的应用程…

销量?模糊销量?精准销量?如何获取淘宝商品销量数据接口

淘宝爬虫商品销量数据采集通常涉及以下几个步骤&#xff1a; 1、确定采集目标&#xff1a;需要明确要采集的商品类别、筛选条件&#xff08;如天猫、价格区间&#xff09;、销量和金额等数据。例如&#xff0c;如果您想了解“小鱼零食”的销量和金额&#xff0c;您需要设定好价…

vueday1

1.作用&#xff1a;利用表达式进行插值&#xff0c;渲染到页面中 三元表达式、点语法、数组对应项&#xff0c;方法、点语法方法 1.使用的时候需要存在&#xff0c;需要在data里面声明&#xff0c;如果没有声明会报错 2.ifelse不能用 3.不能在标签属性中使用{{}}插值 <!DO…

【前端】打砖块游戏:实现细节介绍

打砖块游戏:实现细节介绍 在本文中,我将详细介绍如何使用HTML、CSS和JavaScript技术构建一个简单的打砖块游戏。我们将重点讨论游戏的三个核心技术方面:碰撞检测、画图和事件监听。 完整代码我放在:github可以直接拉取代码测试。 游戏概览 打砖块游戏中,玩家通过控制底…

静态住宅IP优缺点总结

在进行海外 IP 代理时&#xff0c;了解动态住宅 IP 和静态住宅 IP 的区别以及如何选择合适的类型非常重要。本文将介绍精态住宅 IP 特点和&#xff0c;并提供选择建议&#xff0c;帮助您根据需求做出明智的决策。 静态住宅 IP 的特点 静态住宅 IP 是指 IP 地址在一段时间内保…