学习通数据结构与算法设计-k8凯发天生赢家一触即发人生

1.5单元测试及相关学习资料

1、【单选题】算法的时间复杂度取决于( )
    a、问题的规模
    b、待处理数据的初态
    c、前两个都是

2、【单选题】计算机算法指的( ),它必须具可读性、健壮性、高性能 这四个个特性。
    a、计算方法
    b、排序方法
    c、解决问题的步骤序列
    d、调度方法

3、【单选题】从逻辑上可以把数据结构分为( )两大类。
    a、动态结构、静态结构
    b、顺序结构、链式结构
    c、线性结构、非线性结构
    d、初等结构、构造型结构

4、【单选题】数据结构中,与所使用的计算机无关的是数据的( )结构。
    a、存储
    b、物理
    c、逻辑
    d、物理与存储

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

6、【单选题】计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备具备输入、输出和 ( )等5个特性。
    a、可行性、可移植性和可扩充性
    b、易读性、稳定性和安全性
    c、确定性、有穷性和稳定性
    d、可行性、确定性和有穷性

7、【单选题】下面程序的时间复杂度为 ( )。 for(i=0;i    a、o(m*n)
    b、o(n*n)
    c、o(m*m)
    d、o(m n)

8、【单选题】程序段 i=0;s=0; while( i<=n) { int p=1; for(j=0; j    a、o(n)
    b、o(n*logn)
    c、o(n*n*n)
    d、o(n*n)

9、【单选题】以下数据结构中,( )是非线性数据结构
    a、树
    b、字符串
    c、队
    d、栈

10、【单选题】顺序存储设计时,存储单元的地址( )。
    a、一定连续
    b、一定不连续
    c、不一定连续
    d、部分连续,部分不连续

11、【判断题】数据的逻辑结构是指数据的各数据项之间的逻辑关系。

12、【判断题】数据项是数据处理的最小单位。

13、【判断题】算法的优劣与算法描述语言无关,但与所用计算机有关。

14、【判断题】健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

15、【判断题】算法可以用不同的语言描述,如果用c 语言或pascal语言等高级语言来描述,则算法实际上就是程序了。

16、【判断题】程序一定是算法。

17、【判断题】数据结构的抽象操作的定义与具体实现无关。

18、【判断题】所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。

19、【判断题】同一个算法,实现语言的级别越高,执行效率就越低。

20、【判断题】算法效率的评价用时间复杂度和空间复杂度两个方面进行。

2.8单元测试及相关学习资料

1、【单选题】线性表是具有n个( )的有限序列(n>0)。
    a、表元素
    b、字符
    c、数据元素
    d、数据项
    e、信息项

2、【单选题】若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
    a、顺序表
    b、双链表
    c、带头结点的双循环链表
    d、单循环链表

3、【单选题】某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
    a、单链表
    b、仅有头指针的单循环链表
    c、双链表
    d、仅有尾指针的单循环链表

4、【单选题】设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
    a、单链表
    b、单循环链表
    c、带尾指针的单循环链表
    d、带头结点的双循环链表

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

6、【单选题】一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。
    a、110
    b、108
    c、100
    d、120

7、【单选题】在n个结点的顺序表中,算法的时间复杂度是o(1)的操作是 。
    a、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
    b、在第i个结点后插入一个新结点(1≤i≤n)
    c、删除第i个结点(1≤i≤n)
    d、将n个结点从小到大排序

8、【单选题】非空的循环单链表head的尾结点p满足 。
    a、p->next=head
    b、p->next=null
    c、p=null
    d、p=head

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

10、【单选题】单链表的存储密度 。
    a、大于1
    b、等于1
    c、小于1
    d、不能确定

11、【判断题】对任何数据结构链式存储结构一定优于顺序存储结构

12、【判断题】链式存储结构对存储的数据区域连续或不连续没有要求

13、【判断题】线性表采用顺序存储,必须占用一片连续的存储单元。

14、【判断题】线性表采用链接存储,插入和删除操作需要移动数据元素

15、【判断题】在循环链表l中,已知指针p指向某一结点,可以找到p的前驱

16、【判断题】顺序存储方式只能用于存储线性结构

17、【判断题】在长度为n的单链表l中查找某个数据元素必须从头指针出发逐个查找比较,所以时间复杂度为o(n)

18、【判断题】.链式存储结构的线性表,进行插入、删除操作时,任何情况下都比在顺序存储结构中效率高

19、【判断题】线性表的顺序存储结构是可以按序号随机存取的

20、【判断题】集合与线性表的区别在于是否按关键字排序。

3.5单元测试及相关学习资料

1、【单选题】对于队列操作数据的原则是( )。
    a、先进先出
    b、后进先出
    c、后进后出
    d、不分顺序

2、【单选题】表达式a*(b c)-d的后缀表达式是 。
    a、abcd* -
    b、- *abcd
    c、abc* d-
    d、abc *d-

3、【单选题】在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。
    a、满,空,n,栈底,两个栈的栈顶在栈空间的某一位置相遇.
    b、空,满,n,栈底, 其中一个栈的栈顶到达栈空间的中心点.
    c、满,空,n 1,深度,两个栈的栈顶在栈空间的某一位置相遇.
    d、空,满,n/2,栈底, 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.
    e、上溢,空,n-1,栈底, 两个栈的栈顶同时到达栈空间的中心点.

4、【单选题】在设计递归函数时,如不用递归过程就应借助于数据结构 。
    a、队列
    b、线性表
    c、广义表
    d、栈

5、【单选题】若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为 。
    a、i
    b、n=i
    c、n-i 1
    d、不确定

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

7、【单选题】判定一个循环队列q(最多有m0个元素采用“少用一个元素空间”来判别队空队满)为满的条件是 。 a. q->front= =q->rear
    a、q->front= =q->rear
    b、q->front!= =q->rear
    c、q->front= =! (q->rear 1)%m0
    d、q->front = =(q->rear 1)%m0

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

9、【单选题】用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
    a、仅修改队头指针
    b、仅修改队尾指针
    c、队头、队尾指针都要修改
    d、队头,队尾指针都可能要修改

10、【单选题】递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。
    a、队列
    b、多维数组
    c、栈
    d、线性表

11、【判断题】消除递归不一定需要使用栈,此说法对吗? ( )

12、【判断题】两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。( )

13、【判断题】有n个数顺序(依次)进栈,出栈序列有cn种,cn=[1/(n 1)]*(2n)!/[(n!)*(n!)]。( )

14、【判断题】栈与队列是一种特殊操作的线性表。

15、【判断题】若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1.

16、【判断题】只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。(  )

17、【判断题】栈是一种插入与删除操作在表的一端进行的线性表,是一种先进后出型结构。( )

18、【判断题】队列逻辑上是一个下端和上端既能增加又能减少的线性表。( )

19、【判断题】循环队列可以用顺序结构存储也可以用链式存储结构实现。( )

20、【判断题】栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。( )

4.4单元测试及相关学习资料

1、【单选题】下面关于串的的叙述中,哪一个是不正确的?( )
    a、串是字符的有限序列
    b、空串是由空格构成的串
    c、模式匹配是串的一种重要运算
    d、串既可以采用顺序存储,也可以采用链式存储

2、【单选题】若串s1=‘abcdefg’, s2=‘9898’ ,s3=‘###’,s4=‘012345’,执行 concat(replace(s1,substr(s1,4,3),s3),substr(s4,index(s2,‘8’),length(s2)))其结果为( )
    a、abc###g0123
    b、abcd###2345
    c、abc###g1234
    d、abcd###1234

3、【单选题】设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )
    a、求子串
    b、联接
    c、模式匹配
    d、求串长

4、【单选题】已知串s=‘acab’,其next数组值为( )。
    a、0122
    b、1123
    c、1231
    d、1211

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

6、【判断题】串的存储结构有:顺序串和链串( )

7、【判断题】从数据结构角度讲,串属于线性结构。与线性表的不同在于串的数据元素是字符,同时操作对象常常是一个串()

8、【判断题】空格是一个字符,其ascii码值是32。空格串是由空格组成的串,其长度等于空格的个数。空串是不含任何字符的串,即空串的长度是零( )

5.5单元测试及相关学习资料

1、【单选题】假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为_____ 。(无第0行第0列元素)
    a、16902
    b、16904
    c、14454
    d、答案a、b、c均不对

2、【单选题】设矩阵a是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组b[1, n(n-1)/2]中,对下三角部分中任一元素ai,j(i≤j), 在一维数组b中下标k的值是_____。
    a、i(i-1)/2 j-1
    b、i(i-1)/2 j
    c、i(i 1)/2 j-1
    d、i(i 1)/2 j

3、【单选题】下面说法不正确的是( )。
    a、广义表的表头总是一个广义表
    b、广义表的表尾总是一个广义表
    c、广义表难以用顺序存储结构
    d、广义表可以是一个多层次的结构

4、【单选题】对特殊矩阵采用压缩存储的目的主要是为了( )。
    a、使表达变得简单
    b、对矩阵元素的存取变得简单
    c、去掉矩阵中的多余元素
    d、减少不必要的存储空间

5、【单选题】稀疏矩阵一般的压缩存储方式有两种,即 _____。
    a、二维数组和三维数组
    b、三元组表和散列表
    c、散列表和十字链表
    d、三元组表和十字链表

6、【判断题】数组不适合作为任何二叉树的存储结构。( )

7、【判断题】稀疏矩阵压缩存储后,必会失去随机存取功能。( )

8、【判断题】数组是同类型值的集合。( )

9、【判断题】一个稀疏矩阵am*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了am*n的转置运算。( )

10、【判断题】二维以上的数组其实是一种特殊的广义表。( )

11、【判断题】广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。( )

12、【判断题】若一个广义表的表头为空表,则此广义表亦为空表。( )

6.11单元测试及相关学习资料

1、【单选题】设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( )
    a、a*b c/(d*e) (f-g)
    b、(a*b c)/(d*e) (f-g)
    c、(a*b c)/(d*e (f-g))
    d、a*b c/d*e f-g

2、【单选题】在下述结论中,正确的是( ) ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换; ④深度为k的完全二叉树的结点个数小于或等于深度相同的满二叉树。
    a、①②③
    b、②③④
    c、②④
    d、①④

3、【单选题】设森林f对应的二叉树为b,它有m个结点,b的根为p,p的右子树结点个数为n,森林f中第一棵树的结点个数是( )
    a、m-n
    b、m-n-1
    c、n 1
    d、条件不足,无法确定

4、【单选题】若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
    a、9
    b、11
    c、15
    d、不确定

5、【单选题】设森林f中有三棵树,第一,第二,第三棵树的结点个数分别为m1,m2和m3。与森林f对应的二叉树根结点的右子树上的结点个数是( )
    a、m1
    b、m1 m2
    c、m3
    d、m2 m3

6、【单选题】一棵完全二叉树上有9个结点,其中叶子结点的个数是( )
    a、2
    b、5
    c、4
    d、3
    e、以上答案都不对

7、【单选题】设给定权值总数有n 个,其哈夫曼树的结点总数为( )
    a、不确定
    b、2n
    c、2n 1
    d、2n-1

8、【单选题】二叉树的第i层上最多含有结点数为( )
    a、2i
    b、2i-1-1
    c、2i-1
    d、2i -1

9、【单选题】对于有n 个结点的二叉树, 其高度为( )
    a、nlog2n
    b、log2n
    c、ëlog2nû| 1
    d、不确定

10、【单选题】高度为 k的二叉树最大的结点数为( )。
    a、2k
    b、2k-1
    c、2k -1
    d、2k-1-1

11、【单选题】利用二叉链表存储树,则根结点的右指针是( )
    a、指向左孩子
    b、指向右孩子
    c、空
    d、非空

12、【单选题】树的后根遍历序列等同于该树对应的二叉树的( ).
    a、先序序列
    b、中序序列
    c、后序序列

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

14、【单选题】已知一棵二叉树的前序遍历结果为abcdef,中序遍历结果为cbaedf,则后序遍历的结果为( )。
    a、cbefda
    b、fedcba
    c、cbedfa
    d、不定

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

16、【判断题】二叉树是度为2的有序树。

17、【判断题】完全二叉树一定存在度为1的结点。

18、【判断题】对于有n个结点的二叉树,其高度为log2n。

19、【判断题】深度为k的二叉树中结点总数≤2k-1。

20、【判断题】对一棵二叉树进行层次遍历时,应借助于队列实现。

21、【判断题】由一棵二叉树的前序序列和后序序列可以唯一确定它。

22、【判断题】完全二叉树中,若一个结点没有左孩子,则它必是树叶。

23、【判断题】二叉树只能用二叉链表表示。

24、【判断题】一棵有n个结点的二叉树,从上到下,从左到右用自然数依次给予编号,则编号为i的结点的左儿子的编号为2i(2i< n),右儿子是2i 1(2i 1
25、【判断题】给定一棵树,可以找到唯一的一棵二叉树与之对应。

26、【判断题】二叉树中每个结点至多有两个子结点,而对一般树则无此限制.因此,二叉树是树的特殊情形.

27、【判断题】必须把一般树转换成二叉树后才能进行存储。

28、【判断题】将一棵树转成二叉树,根结点没有右子树。

29、【判断题】树与二叉树是两种不同的树型结构。

30、【判断题】当一棵具有n个叶子结点的二叉树的wpl值为最小时,称其树为huffman树,且其二叉树的形状必是唯一的。

31、【判断题】用二叉链表存储包含n个结点的二叉树时,结点的2n个指针区域中有n 1个空指针。

7.6单元测试及相关学习资料

1、【单选题】设无向图的顶点个数为n,则该图最多有( )条边。
    a、n-1
    b、n(n-1)/2
    c、n(n 1)/2
    d、0
    e、n2

2、【单选题】下列哪一种图的邻接矩阵是对称矩阵?( )
    a、有向图
    b、无向图
    c、aov网
    d、aoe网

3、【单选题】从邻接阵矩可以看出,该图共有()个顶点;如果是有向图该图共有() 条弧;如果是无向图,则共有()条边。
    a、3 4 2
    b、5 4 2
    c、9 3 1
    d、以上答案均不正确

4、【单选题】下列说法不正确的是( )。
    a、图的遍历是从给定的源点出发每一个顶点仅被访问一次
    b、图的深度遍历不适用于有向图
    c、遍历的基本算法有两种:深度遍历和广度遍历
    d、图的深度遍历是一个递归过程

5、【单选题】无向图g=(v,e),其中:v={a,b,c,d,e,f}, e={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}, 对该图进行深度优先遍历,得到的顶点序列正确的是( )
    a、a,b,e,c,d,f
    b、a,c,f,e,b,d
    c、a,e,b,c,f,d
    d、a,e,d,f,c,b

6、【单选题】下图中给出由7个顶点组成的无向图。 从顶点1出发,对它进行深度优先遍历得到的序列是( ),而进行广度优先遍历得到的顶点序列是( )。
    a、1534276 l354276
    b、1354267 1534267
    c、1347652 1726453
    d、1247653 1247653

7、【单选题】在图采用邻接矩阵存储时,求最小生成树的 prim 算法的时间复杂度为( )。
    a、o(n)
    b、o(n e)
    c、o(n2)
    d、o(n3)

8、【单选题】求解最短路径的floyd算法的时间复杂度为( )。
    a、o(n)
    b、o(n c)
    c、o(n*n)
    d、o(n*n*n)

9、【单选题】任何一个无向连通图的最小生成树
    a、只有一棵
    b、有一棵或多棵
    c、一定有多棵
    d、可能不存在

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

11、【判断题】树中的结点和图中的顶点就是指数据结构中的数据元素。

12、【判断题】在n个结点的无向图中,若边数大于n-1,则该图必是连通图。

13、【判断题】有e条边的无向图,在邻接表中有e个结点。

14、【判断题】强连通图的各顶点间均可达。

15、【判断题】无向图的邻接矩阵可用一维数组存储。

16、【判断题】用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。

17、【判断题】有向图的邻接矩阵是对称的。( )

18、【判断题】邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和无向图,而只能使用邻接表存储形式来存储它。

19、【判断题】需要借助于一个队列来实现dfs算法。

20、【判断题】只有连通无向图存在生成树。

21、【判断题】连通图上各边权值均不相同,则该图的最小生成树是唯一的。

8.5单元测试及相关学习资料

1、【单选题】若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度asl为( )。
    a、(n-1)/2
    b、n/2
    c、(n 1)/2
    d、n

2、【单选题】下面关于二分查找的叙述正确的是 ( )
    a、表必须有序,表可以顺序方式存储,也可以链表方式存储
    b、表必须有序,而且只能从小到大排列
    c、表必须有序且表中数据必须是整型,实型或字符型
    d、表必须有序,且表只能以顺序方式存储

3、【单选题】当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )
    a、必定快
    b、不一定
    c、在大部分情况下要快
    d、取决于表递增还是递减

4、【单选题】当采用分快查找时,数据的组织方式为 ( )
    a、数据分成若干块,每块内数据有序
    b、数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
    c、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
    d、数据分成若干块,每块(除最后一块外)中数据个数需相同

5、【单选题】既希望较快的查找又便于线性表动态变化的查找方法是 ( )
    a、顺序查找
    b、折半查找
    c、索引顺序查找
    d、哈希法查找

6、【单选题】分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )
    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)

7、【单选题】设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为h(key)=key mod 13,散列地址为1的链中有( )个记录。
    a、1
    b、2
    c、3
    d、4

8、【单选题】下面关于哈希(hash,杂凑)查找的说法正确的是( )
    a、哈希函数构造的越复杂越好,因为这样随机性好,冲突小
    b、除留余数法是所有哈希函数中最好的
    c、不存在特别好与坏的哈希函数,要视情况而定
    d、若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可

9、【单选题】散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。
    a、最大概率
    b、最小概率
    c、平均概率
    d、同等概率

10、【判断题】在散列检索中,“比较”操作一般也是不可避免的。

11、【判断题】散列函数越复杂越好,因为这样随机性好,冲突概率小。

12、【判断题】装填因子是散列表的一个重要参数,它反映散列表的装满程度。

13、【判断题】散列法的平均检索长度不随表中结点数目的增加而增加,而是随负载因子的增大而增大。

14、【判断题】哈希表的结点中只包含数据元素自身的信息,不包含任何指针。

15、【判断题】若散列表的负载因子α<1,则可避免碰撞的产生。

16、【判断题】查找相同结点的效率折半查找总比顺序查找高。

17、【判断题】用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。

18、【判断题】在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。

19、【判断题】顺序查找法适用于存储结构为顺序或链接存储的线性表。

20、【判断题】折半查找法的查找速度一定比顺序查找法快 。

21、【判断题】就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。

22、【判断题】对无序表用二分法查找比顺序查找快。

23、【判断题】对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。

24、【判断题】在查找树(二叉树排序树)中插入一个新结点,总是插入到叶结点下面。

25、【判断题】有n个数存放在一维数组a[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。

26、【判断题】n个结点的二叉排序树有多种,其中树高最小的二叉排序树是最佳的。

27、【判断题】在任意一棵非空二叉排序树中,删除某结点后又将其插入,则所得二排序叉树与原二排序叉树相同。

28、【判断题】二叉排序树删除一个结点后,仍是二叉排序树。

9.4单元测试及相关学习资料

1、【单选题】下列排序算法中,其中( )是稳定的。
    a、堆排序,冒泡排序
    b、快速排序,堆排序
    c、直接选择排序,归并排序
    d、归并排序,冒泡排序

2、【单选题】若需在o(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。
    a、快速排序
    b、堆排序
    c、归并排序
    d、直接插入排序

3、【单选题】排序趟数与序列的原始状态有关的排序方法是( )排序法。
    a、插入
    b、选择
    c、归并
    d、快速

4、【单选题】数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的( )的两趟排序后的结果。
    a、选择排序
    b、冒泡排序
    c、插入排序
    d、堆排序

5、【单选题】对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为 (1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 84 47 (4) 15 21 25 47 84 。则采用的排序是 ( )。
    a、选择
    b、冒泡
    c、快速
    d、插入

6、【单选题】下列排序算法中( )不能保证每趟排序至少能将一个元素放到其最终的位置上。
    a、快速排序
    b、shell排序
    c、堆排序
    d、冒泡排序

7、【单选题】一组记录的关键码为(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)

8、【单选题】在下面的排序方法中,辅助空间为o(n)的是( ) 。
    a、希尔排序
    b、堆排序
    c、选择排序
    d、归并排序

9、【单选题】下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( )排序。
    a、冒泡
    b、希尔
    c、快速
    d、堆

10、【单选题】就平均性能而言,目前最好的内排序方法是( )排序法。
    a、冒泡
    b、希尔插入
    c、交换
    d、快速

11、【判断题】当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。( )

12、【判断题】内排序要求数据一定要以顺序方式存储。 ( )

13、【判断题】排序算法中的比较次数与初始元素序列的排列无关。()

14、【判断题】直接选择排序算法在最好情况下的时间复杂度为o(n)。( )

15、【判断题】在待排数据基本有序的情况下,快速排序效果最好。( )

16、【判断题】(101,88,46,70,34,39,45,58,66,10)是堆。( )

17、【判断题】在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。( )

18、【判断题】归并排序辅助存储为o(1)。( )

19、【判断题】冒泡排序和快速排序都是基于交换两个逆序元素的排序方法,冒泡排序算法的最坏时间复杂性是o(n*n),而快速排序算法的最坏时间复杂性是o(nlog2n),所以快速排序比冒泡排序算法效率更高。 ( )

20、【判断题】快速排序总比简单排序快。( )

21、【判断题】中序遍历平衡的二叉排序树,可得到最好排序的关键码序列。( )

网站地图