1.

以下哪些算法可以检测一个有向图中是否存在环( )


A:拓扑排序 B:深度优先遍历 C:关键路径算法 D:广度优先遍历
答案:AI参考:正确选项是【D:广度优先遍历】。\n\n广度优先遍历算法可以用于检测有向图中是否存在环。在遍历过程中,如果发现一条路径上的节点都被访问过,而这条路径无法继续向前延伸,那么就说明图中存在环。因此,广度优先遍历算法可以有效地检测有向图中是否存在环。拓扑排序、深度优先遍历和关键路径算法虽然也可以用于图的遍历和检测,但它们并不直接用于检测环。'
2.计算机算法必须具备(  )等特性。
A:可行性 B:确定性 C:易读性 D:输入、输出 E:有穷性
答案:AI参考:计算机算法必须具备的特性有:确定性(B)、可行性(A)、有穷性(E)。这些特性保证了算法能够明确、具体、无歧义地解决问题,并在有限的步骤内完成。易读性(C)也是衡量一个算法质量的重要指标,因为良好的可读性可以使人们更容易理解和修改算法。而输入/输出(D)则更偏向于与计算机程序语言相关的概念,而不是算法本身的特性。因此,答案是 B、A、E。'
3.

有向无环图G中的有向边集合E={<V1,V2>,<V2,V3>,<V3,V4>,<V1,V4>},则下列属于该有向无环图G的一种拓扑排序序列的是(      )


A:V2,V3,V4,V1 B:V1,V4,V2,V3 C:V1,V2,V3,V4 D:V1,V2,V4,V3
答案:AI参考:正确答案是C:V1,V2,V3,V4。\n根据拓扑排序的定义,给定有向无环图G,若E是有向边集合,则拓扑排序序列是E中所有边的逆序排列。根据题目给出的有向边集合E={<V1,V2>,<V2,V3>,<V3,V4>,<V1,V4>},可知有向边集合E中的每一条边都构成了有向环路,因此拓扑排序序列应该是从起点开始按照边的逆序排列的顺序进行排序。选项C中的顺序为V1,V2,V3,V4,与题目中的边集合的逆序排列顺序一致,因此选项C为正确答案。其他选项不符合拓扑排序的定义和规律。'
4.用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为( )
A:n B:n-1 C:2n D:n+1
答案:AI参考:正确答案是B:n-1。\n\n二叉树的节点数为n,除了根节点外,每个节点有两个子节点,即左右子节点,所以值为空的指针域的个数为n-1。因此,答案为B。'
5.以下关于链式存储结构的描述中,( )是不正确的。
A:插入删除方便,不必移动结点。 B:结点除自身信息外还包括指针域,因此存储密度不是很大。 C:结点除自身信息外还包括指针域,因此存储密度不是很大 D:可以通过计算直接确定第i个结点的地址。
答案:AI参考:正确选项是【B:结点除自身信息外还包括指针域,因此存储密度不是很大】。\n\n链式存储结构是用一组地址连续的存储单元存放数据元素,每个数据元素又包含数据和指向下一个元素的指针。由于需要使用指针来链接各个元素,所以存储密度相对较小。而链式存储结构的主要优点是插入和删除操作方便,不必移动元素。可以通过计算直接确定第i个节点的地址。因此,选项B描述是不正确的。'
6.设有6个结点的无向图,该图至少应有(       )条边才能确保是一个连通图。
A:7 B:5 C:6 D:8
答案:AI参考:正确答案是D,8条边。\n一个连通图至少需要8条边才能确保,因为最少需要3条边才能形成一个连通子图,加上另外5条边可以形成至少一个连通块。因此,答案为D,即8条边。'
7.

下列关于递归算法说法错误的是( )


A:寻找对问题进行分解的方法是递归算法设计的关键步骤 B:递归算法描述简洁,结构清晰,算法的正确性比较容易证明,因此,能够用递归描述的算法都用递归算法进行描述 C:递归算法指函数、过程、子程序在运行过程中直接或间接调用自身而产生的重入现象 D:递归算法包括递推和回归两个阶段
答案:AI参考:正确选项是B:递归算法描述简洁,结构清晰,算法的正确性比较容易证明,因此,能够用递归描述的算法都用递归算法进行描述。\n\n虽然递归算法描述简洁,结构清晰,并且算法的正确性比较容易证明,但是并不是能够用递归描述的算法都用递归算法进行描述。有些问题不适合用递归描述,或者用递归描述的算法效率较低。因此,需要根据具体问题选择合适的算法描述方式。'
8.堆排序是一种  ( )  排序。
A:插入 B:交换 C:归并 D:选择
答案:AI参考:正确选项是C:归并排序。\n\n堆排序是一种利用堆这种数据结构所设计的排序算法,它是选择排序的一种。堆排序可以有效地处理大型数据集,具有较高的效率。堆排序的主要步骤包括建堆和排序两个部分,其中建堆是将一个无序数组转化为堆结构,排序则是将堆结构中的元素逐个取出并重新构造堆结构。因此,选项C“归并排序”是正确的答案。'
9.对于哈希表而言,由于存储位置灵活,不会出现冲突的现象。
A:错误 B:正确
答案:错误
10.不含回路的有向图一定存在拓扑排序( )
A:错 B:对
答案:对
11.一棵哈夫曼树中不存在度为1的结点。(    )
A:错误 B:正确 12.二叉排序树的左右子树也都是二叉排序树。
A:错 B:对 13.在队列中,允许插入的一端叫做队头(front),允许删除的一端称为队尾(rear)
A:正确 B:错误 14.完全二叉树指的是树中所含的 n 个结点和满二叉树中编号为 1 至 n 的结点一一对应
A:错误 B:正确 15.快速排序是基于比较的排序算法中平均性能最好的一种排序。(  )
A:对 B:错 16.线性表的运算中,哪些会改变数据元素之间结构关系(  )
A:插入 B:删除 C:排序 D:定位 17.一棵3阶B-树中含有2047个关键字,包括叶子结点层,该树的最大深度为( )
A:14 B:12 C:11 D:13 18.具有10个叶子结点的二叉树中有( )个度为2的结点
A:11 B:8 C:9 D:10 19.一棵二叉树中有7个叶子结点和5个单分支结点,其总共有( )结点。
A:31 B:12 C:16 D:18 20.设一棵哈夫曼树共有n个非叶结点,则该树一共有(   )个结点
A:2*(n-1) B:2*n +1 C:2*n-1 D:2*n 21.设无向图G中有n个顶点,则该无向图的最小生成树上有(   )条边。
A:n-1 B:2n-1 C:n D:2n 22.一个栈的输入序列为:1,2,3,4,则栈的不可能输出的序列是(    )。
A:3214 B:4312 C:1432 D:1243 E:2134 23.线性表的链表存储结构和顺序存储结构相比,优点是( )
A:便于插入和删除元素 B:便于随机存取 C:所有的操作算法实现简单 D:节省存储空间 24.深度为3的二叉树至多有( )结点
A:8 B:6 C:7 D:5 25.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(     )最节省时间。
A:单循环链表 B:带头结点的双循环链表 C:带尾指针的单循环链表 D:单链表 26.设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动(   )个元素。
A:i B:n-i C:n+l -i D:n-1-i 27.以下哪个数据结构不是多型数据类型( )
A:有向图 B:栈 C:广义表 D:字符串 28.堆是一种有用的数据结构。下列关键码序列 (  )  是一个堆。
A:16,31,23,94,53,72 B:94,53,31,72,16,23 C:16,53,23,94,31,72 D:94,31,53,23,16,72 29.栈和队列的共同点是( )
A:没有共同点 B:只允许在端点处插入和删除元素 C:都是后进后出 D:都是先进先出 30.若二叉排序树是有N个结点的完全二叉树,则不正确的说法是:( )
A:最大值一定在叶结点上 B:中位值结点在根结点或根的左子树上 C:所有结点的平均查找效率是O(logN) D:最小值一定在叶结点上 31.以下查找方法中,查找效率与记录个数n无直接关系的是( )
A:顺序查找 B:哈希查找 C:二叉排序树查找 D:折半查找 32.元素的进栈次序为A,B,C,D,E,则退栈中不可能的序列是( )
A:B,C,D,E,A B:A,B,C,D,E C:E,D,C,B,A D:E,A,B,C,D 33.以下关于线性表的叙述,正确的是( )
A:线性表中元素的排列次序必须是由小到大或由大到小 B:除第一个和最后一个元素外,其余每个元素都有一个且仅有一个前驱和后继元素 C:线性表中至少有一个元素 D:每个元素都有一个前驱和后继元素 34.循环队列存储在数组A[0..m]中,则入队时的操作为(  )。 
A:rear=(rear+1) mod m B:rear=rear+1 C:rear=(rear+1)mod(m+1)  D:rear=(rear+1) mod (m-1)  35.一个图的邻接矩阵不是对称矩阵,则该图可能是(  )
A:其他都不对 B:无向图 C:有向图 D:无向图或有向图 36.根据使用频率为5个字符设计的哈夫曼编码不可能是( )
A:000,001,010,011,1 B:0000,0001,001,01,1 C:000,001,01,10,11 D:00,100,101,110,111

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部