蓝莓题库

超星尔雅数据结构-k8凯发

欢迎来访!

k8凯发-凯发官网入口名华慕课问答 正文

作者2023-02-27 00:53:01名华慕课问答 78 ℃0 评论
1.5单元测试

1、【单选题】有以下算法,其时间复杂度为( )。 void fun (int n){ int i=0; while(i*i*i<=n) i ; }
    a、o(n)
    b、o(nlogn)
    c、
    d、

2、【单选题】算法分析的目的是( )。
    a、找出数据结构的合理性
    b、研究算法中输入和输出的关系
    c、分析算法的效率以求改进
    d、分析算法的易懂性

3、【单选题】以下算法的时间复杂度为( ) x=0; for(i=1; i    a、o(n)
    b、o(nlogn)
    c、o(n3)
    d、o(n2)

4、【单选题】以下说法正确的是( )。
    a、数据元素是数据的最小单位
    b、数据项是数据的基本单位
    c、数据结构是带有结构的各数据项的集合
    d、一些表面上很不相同的数据可以有相同的逻辑结构

5、【单选题】与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。
    a、存储结构
    b、存储实现
    c、逻辑结构
    d、运算实现

6、【单选题】以下算法中m ;语句的执行次数为( )。 int m=0, i, j; for(i=l;i<=n;i ) for(j=1;j<=2 * i;j ) m ;
    a、n(n 1)
    b、n
    c、n 1
    d、n2

7、【单选题】求整数n (n>=0)阶乘的算法如下,其时间复杂度是 ( )。      int fact(int n){ if (n<=l) return 1; return n*fact(n-1); }
    a、o(1)
    b、o(n)
    c、o(n2)
    d、o(n!)

8、【单选题】通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。
    a、数据具有同一特点
    b、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
    c、每个数据元素都一样
    d、数据元素所包含的数据项的个数要相等

9、【单选题】一个存储结点存储一个 ( )。
    a、数据项
    b、数据元素
    c、数据结构
    d、数据类型

10、【单选题】以下与数据的存储结构无关的术语是( )。
    a、顺序队列
    b、链表
    c、有序表
    d、链栈

11、【单选题】以下算法的时间复杂度为(   )。         void fun(int n) { inti=l; while(i<=n) i=i*2; }
    a、o(n)
    b、o(n2)
    c、o(nlog2n)
    d、o(log2n)

12、【单选题】每个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是( )存储方式。
    a、顺序
    b、链接
    c、索引
    d、散列

13、【单选题】下面说法错误的是( )。
    a、算法原地工作的含义是指不需要任何额外的辅助空间
    b、在相同的规模n下,复杂度o(n)的算法在时间上总是优于复杂度o(2n)的算法
    c、所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
    d、同一个算法,实现语言的级别越高,执行效率就越低

14、【判断题】数据元素是数据的最小单位。

15、【判断题】数据结构就是指数据在计算机中的存储结构。

16、【判断题】数据项是具有独立含义的数据最小单位。

17、【判断题】每种数据结构的逻辑结构与物理结构总是一致的。

2.7单元测试

1、【单选题】链接存储的存储结构所占存储空间( )。
    a、分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
    b、只有一部分,存放结点值
    c、只有一部分,存储表示结点间关系的指针
    d、分两部分,一部分存放结点值,另一部分存放结点所占单元数

2、【单选题】在顺序表中,只要知道_______,就可在相同时间内求出任一结点的存储地址。
    a、基地址
    b、结点大小
    c、向量大小
    d、基地址和结点大小

3、【单选题】将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( )。
    a、n
    b、2n-1
    c、2n
    d、n-1

4、【单选题】以下关于线性表的说法不正确的是______。
    a、线性表中的数据元素可以是数字、字符、记录等不同类型。
    b、线性表中包含的数据元素个数不是任意的。
    c、线性表中的每个结点都有且只有一个直接前趋和直接后继。
    d、存在这样的线性表:表中各结点都没有直接前趋和直接后继。

5、【单选题】在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行
    a、s->next=p->next; p->next=s
    b、q->next=s; s->next=p
    c、p->next=s->next; s->next=p
    d、p->next=s; s->next=q

6、【单选题】在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是____。
    a、p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
    b、s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
    c、p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;
    d、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

7、【单选题】线性表若采用顺序存储结构时,要求内存中可用存储单元的地址( )。
    a、必须是连续的
    b、部分地址必须是连续的
    c、一定是不连续的
    d、连续或不连续都可以

8、【单选题】顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。
    a、110
    b、108
    c、100
    d、120

9、【单选题】在双向链表存储结构中,删除p所指的结点时须修改指针( )。
    a、p->next->prior=p->prior; p->prior->next=p->next;
    b、p->next=p->next->next; p->next->prior=p;
    c、p->prior->next=p; p->prior=p->prior->prior;
    d、p->prior=p->next->next; p->next=p->prior->prior;

10、【单选题】创建一个包括n个结点的有序单链表的时间复杂度是( )。
    a、o(1)
    b、o(n)
    c、o(n²)
    d、o(nlog₂n)

11、【单选题】线性表采用链式存储时,其地址________。
    a、必须是连续的
    b、一定是不连续的
    c、部分地址必须是连续的
    d、连续与否均可以

12、【单选题】线性表是________。
    a、一个有限序列,可以为空
    b、一个有限序列,不可以为空
    c、一个无限序列,可以为空
    d、一个无限序列,不可以为空

13、【单选题】循环链表的主要优点是( ) 。
    a、不再需要头指针了
    b、已知某个结点的位置后,能够容易找到它的直接前趋
    c、在进行插入、删除运算时,能更好的保证链表不断开
    d、从表中的任意结点出发都能扫描到整个链表

14、【单选题】在一个长度为n的顺序表中,在第i个元素(1≤i≤n 1)之前插入一个新元素时须向后移动( )个元素。
    a、n-i
    b、n-i 1
    c、n-i-1
    d、i

15、【单选题】链表不具有的特点是___________________
    a、可随机访问任一元素
    b、插入删除不需要移动元素
    c、不必事先估计存储空间
    d、所需空间与线性表长度成正比

16、【单选题】以下说法错误的是( )。
    a、求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
    b、顺序存储的线性表可以随机存取
    c、由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
    d、线性表的链式存储结构优于顺序存储结构

17、【单选题】线性表l在( )情况下适用于使用链式结构实现。
    a、需经常修改l中的结点值
    b、需不断对l进行删除插入
    c、l中含有大量的结点
    d、l中结点结构复杂

18、【单选题】线性表l=(a₁,a₂,……an),下列说法正确的是( )。
    a、每个元素都有一个直接前驱和一个直接后继
    b、线性表中至少有一个元素
    c、表中诸元素的排列必须是由小到大或由大到小
    d、除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。

19、【单选题】在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是_______。
    a、o(1)
    b、o(n)
    c、o(n²)
    d、o(log₂n)

20、【单选题】在单链表中,要将s所指结点插入到p所指结点之后,其语句应为( )。
    a、s->next=p 1; p->next=s;
    b、(*p).next=s; (*s).next=(*p).next;
    c、s->next=p->next; p->next=s->next;
    d、s->next=p->next; p->next=s;

21、【单选题】设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为________。
    a、p->next=p->next->next;
    b、p=p->next;
    c、p=p->next->next;
    d、p->next=p;

22、【单选题】在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动 个元素。
    a、n-i
    b、n-i l
    c、n-i-1
    d、i

3.7单元测试

1、【单选题】若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在( )种情况。
    a、5,4,3,2,1
    b、2,1,5,4,3
    c、4,3,1,2,5
    d、2,3,5,4,1

2、【单选题】链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作( )。
    a、x=top->data;top=top->link;
    b、top=top->link;x=top->link;
    c、x=top;top=top->link;
    d、x=top->link;

3、【单选题】设有一个递归算法如下
    a、int fact(int n) { //n大于等于0
    b、if(n<=0) return 1;
    c、else return n*fact(n-1); }
    d、算fact(n)需要调用该函数的次数为( )。
    e、n 1
    f、n-1
    g、n
    h、n 2

4、【单选题】栈在 ( )中有所应用。
    a、递归调用
    b、函数调用
    c、表达式求值
    d、前三个选项都有

5、【单选题】为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。
    a、队列
    b、栈
    c、线性表
    d、有序表

6、【单选题】设栈s和队列q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈s,一个元素出栈后即进入q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈s的容量至少应该是( )。
    a、2
    b、3
    c、4
    d、6

7、【单选题】若一个栈以向量v[1..n]存储,初始栈顶指针top设为n 1,则元素x进栈的正确操作是( )。
    a、top ; v[top]=x;
    b、v[top]=x; top ;
    c、top--; v[top]=x;
    d、v[top]=x; top--;

8、【单选题】设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
    a、线性表的顺序存储结构
    b、队列
    c、线性表的链式存储结构
    d、栈

9、【单选题】用链接方式存储的队列,在进行删除运算时( )。
    a、仅修改头指针
    b、仅修改尾指针
    c、头、尾指针都要修改
    d、头、尾指针可能都要修改

10、【单选题】循环队列存储在数组a[0..m]中,则入队时的操作为( )。
    a、rear=rear 1
    b、rear=(rear 1)%(m-1)
    c、rear=(rear 1)%m
    d、rear=(rear 1)%(m 1)

11、【单选题】最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是( )。
    a、(rear 1)%n==front
    b、rear==front
    c、rear 1==front
    d、(rear-l)%n==front

12、【单选题】栈和队列的共同点是( )。
    a、都是先进先出
    b、都是先进后出
    c、只允许在端点处插入和删除元素
    d、没有共同点

13、【单选题】一个递归算法必须包括( )。
    a、递归部分
    b、终止条件和递归部分
    c、迭代部分
    d、终止条件和迭代部分

14、【单选题】数组q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( )。
    a、r-f
    b、(n f-r)%n
    c、n r-f
    d、(n r-f)%n

15、【填空题】用一维数组设计栈,初态是栈空,top=0。现有输入序列是 a、b、c、d,经过 push、push、pop、push、pop、push操作后,输出序列是( ),栈顶指针是( )

16、【填空题】对于下面的程序调用过程,请问入栈序列是( ),出栈次序是( )。

17、【判断题】栈底元素是不能删除的元素。

18、【判断题】顺序栈中元素值的大小是有序的。

19、【判断题】在n个元素进栈后,它们的出栈顺序和进栈顺序一定正好相反。

20、【判断题】栈顶元素和栈底元素有可能是同一个元素。

21、【判断题】若用s[0..m-1]表示顺序栈的存储空间,则对栈的进栈、出栈操作最多只能进m次。

22、【判断题】栈是一种对进栈、出栈操作总次数做了限制的线性表。

23、【判断题】对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。

24、【判断题】空栈没有栈顶指针。

25、【判断题】栈和队列都是限制存取端的线性表。

26、【判断题】队列是一种对进队、出队操作的次序做了限制的线性表。

27、【判断题】n个元素进队列的顺序和出队列的操作顺序总是一致的

28、【判断题】顺序队列中有多少元素,可以根据队首指针和队尾指针的值来计算。

4.7单元测试

1、【单选题】串是一种特殊的线性表,其特殊性体现在( )。
    a、可以顺序存储
    b、数据元素是一个字符
    c、可以链式存储
    d、数据元素可以是多个字符若

2、【单选题】串“ababaaababaa”的next数组为( )。
    a、012345678999
    b、012121111212
    c、011234223456
    d、0123012322345

3、【单选题】假设以行序为主序存储二维数组a=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则loc[5,5]=( )。
    a、808
    b、818
    c、1010
    d、1020

4、【单选题】设有数组a[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址ba开始顺序存放,当用以列为主存放时,元素a[5,8]的存储首地址为( )。
    a、ba 141
    b、ba 180
    c、ba 222
    d、ba 225

5、【单选题】若对n阶对称矩阵a以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组b[1..(n(n 1))/2]中,则在b中确定aij(i
    a、i*(i-1)/2 j
    b、j*(j-1)/2 i
    c、i*(i 1)/2 j
    d、j*(j 1)/2 i

6、【单选题】设二维数组a[1.. m,1.. n](即m行n列)按行存储在数组b[1.. m*n]中,则二维数组元素a[i,j]在一维数组b中的下标为( )。
    a、(i-1)*n j
    b、(i-1)*n j-1
    c、i*(j-1)
    d、j*m i-1

7、【单选题】数组a[0..4,-1..-3,5..7]中含有元素的个数( )。
    a、55
    b、45
    c、36
    d、16

8、【单选题】广义表a=(a,b,(c,d),(e,(f,g))),则head(tail(head(tail(tail(a)))))的值为( )。
    a、(g)
    b、(d)
    c、c
    d、d

9、【单选题】一个子串在包含它的主串中的位置是指( )。
    a、子串的最后那个字符在主串中的位置
    b、子串的最后那个字符在主串中首次出现的位置
    c、子串的第一个字符在主串中的位置
    d、子串的第一个字符在主串中首次出现的位置

10、【单选题】两个字符串相等的条件是( )。
    a、两串的长度相等
    b、两串包含的字符相同
    c、两串的长度相等,并且两串包含的字符相同
    d、两串的长度相等,并且对应位置上的字符相同

11、【单选题】若substr(s,i,k)表示求s中从第i个字符开始的连续k个字符组成的子串的操作,则对于s=“beijing&nanjing”,substr(s,4,5)=( )。
    a、“ijing”
    b、“jing&”
    c、“ingna”
    d、“ing&n”

12、【单选题】若index(s,t)表示求t在s中的位置的操作,则对于s=“beijing&nanjing”,t=“jing”,index(s,t)=( )。
    a、2
    b、3
    c、4
    d、5

13、【单选题】若replace(s,s1,s2)表示用字符串s2替换字符串s中的子串s1的操作,则对于s=“beijing&nanjing”,s1=“beijing”,s2=“shanghai”,replace(s,s1,s2)=( )。
    a、“nanjing&shanghai”
    b、“nanjing&nanjing”
    c、“shanghainanjing”
    d、“shanghai&nanjing”

14、【单选题】在长度为n的字符串s的第i个位置插入另外一个字符串,i的合法值应该是( )。
    a、i>0
    b、i≤n
    c、1≤i≤n
    d、1≤i≤n 1

15、【单选题】字符串采用结点大小为1的链表作为其存储结构,是指( )。
    a、链表的长度为1
    b、链表中只存放1个字符
    c、链表的每个链结点的数据域中不仅只存放了一个字符
    d、链表的每个链结点的数据域中只存放了一个字符

16、【单选题】设二维数组a[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为( )。
    a、p [i*n j-1]*k
    b、p [(i-1)*n j-1]*k
    c、p [(j-1)*n i-1]*k
    d、p [j*n i-1]*k

17、【单选题】若数组a[0…m][0…n]按列优先顺序存储,则aij地址为( )。
    a、loc(a00) [j*m i]
    b、loc(a00) [j*n i]
    c、loc(a00) [(j-1)*n i-1]
    d、loc(a00) [(j-1)*m i-1]

18、【单选题】若下三角矩阵an×n,按列顺序压缩存储在数组sa[0…(n 1)n/2]中,则非零元素aij的地址为( )。(设每个元素占d个字节)
    a、[(j-1)*n- i-1]*d
    b、[(j-1)*n- i]*d
    c、[(j-1)*n- i 1]*d
    d、[(j-1)*n- i-2]*d

19、【单选题】设有广义表d=(a,b,d),其长度为( ),深度为( )。
    a、无穷大
    b、3
    c、2
    d、5

20、【单选题】广义表a=(a),则表尾为( )。
    a、a
    b、(( ))
    c、空表
    d、(a)

21、【单选题】广义表a=((x,(a,b)),(x,(a,b),y)),则运算head(head(tail(a)))的结果为( )。
    a、x
    b、(a,b)
    c、(x,(a,b))
    d、a

22、【单选题】通常对数组进行的两种基本操作是( )。
    a、建立与删除
    b、索引和修改
    c、查找和修改
    d、查找与索引

23、【单选题】数组a中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址sa开始连续存放在存储器内,该数组按行存放时,元素a[8][5]的起始地址为( )。
    a、sa 141
    b、sa 144
    c、sa 222
    d、sa 225

24、【单选题】若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点( )。
    a、正确
    b、不正确

25、【单选题】一个广义表的表头总是一个( )。
    a、广义表
    b、元素
    c、空表
    d、元素或广义表

26、【填空题】空串是指___________________,空格串是指___________________。

27、【填空题】串是指___________________。

28、【填空题】一维数组的逻辑结构是______________,存储结构是______________;对于二维或多维数组,分为______________和______________两种不同的存储方式。

29、【填空题】对于一个二维数组a[m][n],若按行序为主序存储,则任一元素a[i][j]相对于a[0][0]的地址为______________。

30、【填空题】一个稀疏矩阵为 ,则对应的三元组线性表为_____________。

31、【判断题】数组可看作基本线性表的一种推广,因此与线性表一样,可以对它进行插入、删除等操作。( )

32、【判断题】多维数组可以看作数据元素也是基本线性表的基本线性表。( )

33、【判断题】以行为主序或以列为主序对于多维数组的存储没有影响。( )

34、【判断题】对于不同的特殊矩阵应该采用不同的存储方式。( )

35、【判断题】采用压缩存储之后,下三角矩阵的存储空间可以节约一半。( )

36、【判断题】在一般情况下,采用压缩存储之后,对称矩阵是所有特殊矩阵中存储空间节约最多的。( )

37、【判断题】矩阵不仅是表示多维数组,而且是表示图的重要工具。( )

38、【判断题】矩阵中的行列数往往是不相等的。( )

39、【判断题】广义表的表尾一定是一个广义表。( )

40、【判断题】广义表的元素可以是子表,也可以是单元素。( )

5.8单元测试

1、【单选题】由3个结点可以构造出多少种不同的二叉树?( )
    a、2
    b、3
    c、4
    d、5

2、【单选题】一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。
    a、250
    b、500
    c、254
    d、501

3、【单选题】一个具有1025个结点的二叉树的高h为( )。
    a、11
    b、10
    c、11至1025之间
    d、10至1024之间

4、【单选题】若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。
    a、前序
    b、中序
    c、后序
    d、按层次

5、【单选题】在下列存储形式中,( )不是树的存储形式?
    a、双亲表示法
    b、孩子链表表示法
    c、孩子兄弟表示法
    d、顺序存储表示法

6、【单选题】一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。
    a、所有的结点均无左孩子
    b、所有的结点均无右孩子
    c、只有一个叶子结点
    d、是任意一棵二叉树

7、【单选题】设哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。
    a、99
    b、100
    c、101
    d、102

8、【单选题】若x是二叉中序线索树中一个有左孩子的结点,且x不为根,则x的前驱为( )。
    a、x的双亲
    b、x的右子树中最左的结点
    c、x的左子树中最右结点
    d、x的左子树中最右叶结点

9、【单选题】把一棵树转换为二叉树后,这棵二叉树的形态是( )。
    a、唯一的
    b、有多种
    c、有多种,但根结点都没有左孩子
    d、有多种,但根结点都没有右孩子

10、【单选题】根据先序序列abdc和中序序列dbac确定对应的二叉树,该二叉树( )。
    a、是完全二叉树
    b、不是完全二叉树
    c、是满二叉树
    d、不是满二叉树

11、【判断题】2.二叉树的前序遍历中,任意结点均处在其子女结点之前。 ( )

12、【判断题】3.线索二叉树是一种逻辑结构。 ( )

13、【判断题】8.满二叉树也是完全二叉树。 ( )

14、【判断题】7.根据任意一种遍历序列即可唯一确定对应的二叉树。 ( )

15、【判断题】9.哈夫曼树一定是完全二叉树。 ( )

16、【判断题】10.树的子树是无序的。 ( )

6.7单元测试

1、【单选题】在一个图中,所有顶点的度数之和等于图的边数的( )倍。
    a、1/2
    b、1
    c、2
    d、4

2、【单选题】具有n个顶点的有向图最多有( )条边。
    a、n
    b、n(n-1)
    c、n(n 1)
    d、n2

3、【单选题】g是一个非连通无向图,共有28条边,则该图至少有( )个顶点。
    a、7
    b、8
    c、9
    d、10

4、【单选题】下面( )算法适合构造一个稠密图g的最小生成树。
    a、prim算法
    b、kruskal算法
    c、floyd算法
    d、dijkstra算法

5、【单选题】用邻接表表示图进行广度优先遍历时,通常借助( )来实现算法。
    a、栈
    b、队列
    c、树
    d、图

6、【单选题】深度优先遍历类似于二叉树的( )。
    a、先序遍历
    b、中序遍历
    c、后序遍历
    d、层次遍历

7、【单选题】已知图的邻接表如图6.31所示,则从顶点v0出发按广度优先遍历的结果是( ),按深度优先遍历的结果是( )。 图6.31 邻接表
    a、0 1 3 2
    b、0 2 3 1
    c、0 3 2 1
    d、0 1 2 3

8、【单选题】在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为(  )。
    a、n
    b、e
    c、n e
    d、2e

9、【单选题】在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为( )。
    a、n
    b、ne
    c、e
    d、2e

10、【单选题】在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为( )。
    a、n
    b、ne
    c、e
    d、2e

7.5单元测试

1、【单选题】对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )。
    a、(n-1)/2
    b、n/2
    c、(n 1)/2
    d、n

2、【单选题】适用于折半查找的表的存储方式及元素排列要求为( )。
    a、链接方式存储,元素无序
    b、链接方式存储,元素有序
    c、顺序方式存储,元素无序
    d、顺序方式存储,元素有序

3、【单选题】如果要求一个线性表既能较快的查找,又能适应动态变化的要求,最好采用( )查找法。
    a、顺序查找
    b、折半查找
    c、分块查找
    d、哈希查找

4、【单选题】折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中( )比较大小,查找结果是失败。
    a、20,70,30,50
    b、30,88,70,50
    c、20,50
    d、30,88,50

5、【单选题】分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。
    a、(100,80, 90, 60, 120,110,130)
    b、(100,120,110,130,80, 60, 90)
    c、(100,60, 80, 90, 120,110,130)
    d、(100,80, 60, 90, 120,130,110)

6、【单选题】下面关于哈希查找的说法,正确的是( )。
    a、哈希函数构造的越复杂越好,因为这样随机性好,冲突小
    b、除留余数法是所有哈希函数中最好的
    c、不存在特别好与坏的哈希函数,要视情况而定
    d、哈希表的平均查找长度有时也和记录总数有关

7、【单选题】设哈希表长为14,哈希函数是h(key)=key,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的元素加到表中,用二次探测法解决冲突,则放入的位置是( )。
    a、8
    b、3
    c、5
    d、9

8、【单选题】采用线性探测法处理冲突,可能要探测多个位置,在查找成功的情况下,所探测的这些位置上的关键字 ( )。
    a、不一定都是同义词
    b、一定都是同义词
    c、一定都不是同义词
    d、都相同

9、【单选题】对于长度为9的顺序存储的有序表,若采用折半查找,在等概率情况下的平均查找长度为(  )的9分之一。
    a、20
    b、18
    c、25
    d、22

10、【单选题】若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(k)=k%7计算哈希地址,则哈希地址等于3的元素个数(  )。
    a、1
    b、2
    c、3
    d、4

11、【单选题】对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素26的比较次数为(  )。
    a、2
    b、3
    c、4
    d、5

12、【单选题】从具有n个结点的二叉排序树中查找一个元素时,在平均情况下的时间复杂度大致为(  )。
    a、o(n)
    b、o(1)
    c、o(log2n)
    d、o(n2)

8.7单元测试

1、【单选题】从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为( )。
    a、归并排序
    b、冒泡排序
    c、插入排序
    d、选择排序

2、【单选题】从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
    a、归并排序
    b、冒泡排序
    c、插入排序
    d、选择排序

3、【单选题】对n个不同的关键字由小到大进行冒泡排序,在下列( )情况下比较的次数最多。
    a、从小到大排列好的
    b、从大到小排列好的
    c、元素无序
    d、元素基本有序

4、【单选题】对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数最多为( )。
    a、n 1
    b、n
    c、n-1
    d、n(n-1)/2

5、【单选题】若一组记录的排序码为(46, 79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。
    a、38,40,46,56,79,84
    b、40,38,46,79,56,84
    c、40,38,46,56,79,84
    d、40,38,46,84,56,79

6、【单选题】下列关键字序列中,( )是堆。
    a、16,72,31,23,94,53
    b、94,23,31,72,16,53
    c、16,53,23,94,31,72
    d、16,23,53,31,94,72

7、【单选题】堆是一种( )排序。
    a、插入
    b、选择
    c、交换
    d、归并

8、【单选题】堆的形状是一棵( )。
    a、二叉排序树
    b、满二叉树
    c、完全二叉树
    d、平衡二叉树

9、【单选题】下述几种排序方法中,要求内存最大的是( )。
    a、希尔排序
    b、快速排序
    c、归并排序
    d、堆排序

10、【单选题】下述几种排序方法中,( )是稳定的排序方法。
    a、希尔排序
    b、快速排序
    c、归并排序
    d、堆排序

11、【单选题】对n个元素进行直接插入排序时间复杂度为( )。
    a、o(1)
    b、o(n)
    c、o(n2)
    d、o(log2n)

12、【单选题】在对n个元素进行快速排序的过程中,平均情况下的空间复杂度为( )。
    a、o(1)
    b、o(log2n)
    c、o(n2)
    d、o(nlog2n)

13、【单选题】假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为( )。
    a、2
    b、3
    c、4
    d、5

14、【单选题】假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为( )。
    a、1, 3, 5, 7, 9, 12
    b、1, 3, 5, 9, 7, 12
    c、1, 5, 3, 7, 9, 12
    d、1, 5, 3, 9, 12, 7

15、【单选题】在对n个元素进行堆排序的过程中,空间复杂度为( )。
    a、o(1)
    b、o(log2n)
    c、o(n2)
    d、o(nlog2n)

16、【单选题】若对n个元素进行归并排序,则进行归并的趟数为( )。
    a、n
    b、n-1
    c、n/2
    d、log2n

17、【单选题】若要从1000个元素中得到10个最小值元素,最好采用( )方法。
    a、直接插入排序
    b、简单选择排序
    c、堆排序
    d、快速排序

18、【单选题】在平均情况下速度最快的排序方法为( )。
    a、简单选择排序
    b、归并排序
    c、堆排序
    d、快速排序

猜你喜欢

  • 2023-02-27 01:25
  • 2023-02-27 01:16
  • 2023-02-27 00:25
  • 2023-02-27 00:19
  • 2023-02-26 23:57
  • 2023-02-26 23:44
  • 2023-02-26 23:26
  • 2023-02-26 23:13
  • 2023-02-26 22:57
  • 2023-02-26 22:54
网站分类
最新发表
标签列表
网站地图