- 利用二叉链表存储树,则根结点的右指针是( )。
- 图的邻接矩阵中矩阵中非零元素个数与边数有关。( )
- 用邻接表存储的图的深度优先遍历算法类似于树的层次遍历。( )
- 哈夫曼树是一棵带权路径,长度最短的二叉树,其路径上全治罪越大的节点力根节点越近。( )
- 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。( )
- 图的深度优先搜索序列和广度优先搜索序列不一定是唯一的。( )
- 栈和队列是一种非线性数据结构。( )
- 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型数据结构。( )
- 折半插入排序适合于带排序的元素个数n很大的情况。( )
- 在表结构中最常用的是线性表,栈和队列不太常用。( )
- n个顶点的强连通图至少有( )条边。( )
- 对于一个有向图,若一个顶点的入度为k1、出度为k2,则对应邻接表中该顶点的单链表中的结点数为( )。( )
- 折半查找和二叉排序树的时间性能( )。( )
- 假定一棵三叉树的结点树为50,则它的最小高度为( )。( )
- 以下算法的时间复杂度为( )。( )void fun(int n) {int x = 1;while (x<=n) {x=x*2;}
- 在一个具有n个顶点的无向图中,要连通全部顶点至少需要( )条边。( )
- 从空树开始,依次插入元素52,26,14,32,71,60,93,58,24和41后构成一棵二叉排序树。在该树查找60要进行比较的次数为( )。( )
- 有些排序算法在每趟排序过程中,都会有一个元素被放置到其最终位置上,下列算法不会出现此种情况的是( )。( )
- 散列查找一般适用于( )的情况下的查找。( )
- 将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为26的结点的左孩子编号为( )。( )
- 算法分析的目的是( )。( )
- 线性表采用顺序存储的缺点是( )。( )
- 在一个长度为n的顺序表中删除一个元素时,平均需要移动( )个元素。( )
- 二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二叉树根的右子树的根是( )。( )
- 对有n个记录的表做直接插入排序,在最好的情况下需比较( )次关键字。( )
- 具有n个顶点的有向图最多有( )条边。( )
- 对于前序遍历与中序遍历结果相同的二叉树为( )。( )
- 下列函数的时间复杂度为( )。( )int func(int n) {int i=0, sum=0;while (sum
- 任何一个无向图连通图的最小生成树( )。( )
- 用链表表示线性表的优点是( )。( )
- 递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。
- 有回路的图不能进行拓扑排序。( )
- 循环队列通常用指针来实现队列的头尾相接。( )
- 在有向图中,入度为0的结点称为叶子结点(或叶子)。( )
- 图的邻接矩阵中矩阵元素的行数只与顶点个数有关。( )
- 队列逻辑上是一个下端和上端既能增加又能减少的线性表。( )
- 队列和栈都是运算受限的线性表,只允许在表的两端进行运算。( )
- 即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。( )
- 快速排序算法,在每一趟排序中都能找到一个元素放在其最终位置上。( )
- 取线性表的第i个元素的时间与i的大小有关。( )
- 为了便于实现两个线性表的合并操作,则宜采用( )存储方式。( )
- 在下列存储形式中,哪一个不是树的存储形式?( )。( )
- 构建N个记录的初始堆(heap),其时间复杂度为( )。( )
- 某算法的时间复杂度为O(n2),表明该算法的( )。( )。
- 深度为5的二叉树至多有( )个结点。( )
- 在二叉树的前序序列、中序序列和后序序列中,所有叶子结点的先后顺序( )。( )
- 若具有n个顶点的图是一个环,则它有( )棵生成树。( )
- 在一个具有n个顶点的有向图中,若所有顶点的出度之和为s,则所有顶点的入度之和为( )。( )
- 有关二叉树下列说法正确的是( )。( )
- 以下说法正确的是( )。( )
- 一棵深度为K的完全二叉树最少有( )个结点。( )
- 对由n个元素的组成的序列,按关键字排序时,二路归并排序算法的关键字平均比较次数和所需的辅助存储空间分别为( )。 ( )
- 用Prim算法和Kruskal算法构造图的最小生成树,所得到的的最小生成树( )。( )
- 用单链表方式存储的线性表,存储每个节点需要两个域,一个数据域,另一个是( )。( )
- 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。( )
- 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。( )
- 下列不属于内部排序的算法是( )。( )
- 对于中序遍历与后序遍历结果相同的二叉树为( )。( )
- 每次直接比较两个相邻元素,若出现逆序排列时,就交换他们的位置,此种排序方法称为( )。( )
- 对数据序列{8,9,10,4, 5,6,20,1,2},采用(由后向前次序的)冒泡排序需要进行的趟数(遍数)至少是( )。( )
- 一个图中包含k个连通分量,若按深度优先(DFS)搜索方法访问所有结点,则必须调用( )次深度优先遍历算法。( )
- 下面关于线性表的叙述错误的是( )。( )
- 某二叉树结点的先序序列为:E、A、C、B、D、G、F,中序序列为:A、B、C、D、E、F、G,则其左子树中结点数目为( )。( )
- 已知一个长度为16的顺序表L,其元素按照关键字有序排列,若采用折半查找法查找一个L中不存在的元素,则关键字的比较次数最多是( )。( )
- 对于顺序存储的线性表,访问结点和删除结点的时间复杂度为( )。( )
- 对于链式存储的线性表,访问结点和删除结点的时间复杂度为( )。( )
- 非空的循环单链表head的尾结点(由p所指向)满足 ( )。( )
- 下面的叙述不正确的是( )。( )
- 深度为6的二叉树上最多有( )个结点。( )
- 在有向图G的拓扑序列中,若顶点vi在顶点vj之前,则下列情况下不可能出现的是( )。( )
- 对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为( );所有邻接表中的结点总数是( )。( )
- 在一个线性表中要频繁的进行插入和删除操作,那么线性表宜采用( )存储。( )
- 图的广度优先生成树的树高比深度优先生成树的树高( )。( )
- 在一个无向图中,若两个顶点之间的路径长度为k,则该路径上的顶点数为( )。( )
- 设带有头结点的单向循环链表的头指针变量为head,则其判空条件是( )。( )
- 在一个长度为n的顺序表中插入一个元素时,平均需要移动( )个元素。( )
- 算法的计算量的大小称为计算的( )。( )
- 设某棵二叉树中有2000个结点,则该二叉树的最小深度为( )。( )
- 最小生成树是指该树中( )。
- SiftUp方法的时间复杂度是( )
- 邻接表法只能用于有向图的存储,而邻接矩阵法对于有向图和无向图的存储都适用。( )
- 用一个有向图来表示航空公司所有航班的航线。下列哪种算法最适合解决找给定两城市间最经济的飞行路线问题? ( )。
- 在n个结点的无向图中,若边数 > n-1,则该图必是连通图。( )
- 已知8个数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉搜索树后,最后两层上的结点总数为( )。
- 已知某字符串中共有6种字符a、b、c、d、e、f、g,各种字符出现的次数分别为5次,1次、3次、4次、2次、7次,对该字符串用0、1进行前缀编码,请计算该字符串的编码至少有多少位( )。
- Dijkstra算法用来解决哪个问题?( )
- 建堆的时间复杂度是( )
- 执行排序操作时,根据使用的存储器,可将排序算法分为内排序和外排序。( )
- 当待排序序列基本有序时,以下排序序列当中最不利于其优势的发挥( )。
- 若不考虑基数排序,则在排序过程中主要进行的两种基本操作是比较,移动。( )
- 从待排序的序列当中选出关键字值最大的记录放到有序序列中,该排序方法称为( )。
- 下面给出的4种排序算法中( )是不稳定的排序
- 下列排序方法中,( )所需要的辅助空间最大。
- 已知一个长度为16的顺序表L,其元素按关键字有序排列。若采用二分查找法查找一个L中不存在的元素,则关键字的比较次数最多是( )。
- 二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是( )。
- 对二叉搜索树进行什么遍历可以得到从小到大的排序序列?( )。
- 将{ 32, 2, 15, 65, 28, 10 }依次插入初始为空的二叉搜索树。则该树的前序遍历结果是( )。
- 若二叉搜索树是有N个结点的完全二叉树,则不正确的说法是( )。
- 为了实现图的广度优先搜索,除了需要一个数组标志已经访问过的结点外,还需要队列。( )
- 对有n个顶点,e条边且使用邻接表存储的有向图进行广度优先搜索,其算法时间复杂度是( )
- 用邻接表存储图时,拓扑排序算法的时间复杂度是( )
- 使用邻接表存储图所用的空间大小( )
- 设无向图的顶点个数为n,则该图最多有( )条边
- 具有10个叶结点的二叉树中有度为2的结点有( )个
- 若某棵二叉树的先根遍历序列为ABCDEF,中根遍历序列为CBDAEF,则这棵二叉树的后根遍历序列为( )。
- 一个具有1025个结点的二叉树的深度为( )
- 在有n个结点的二叉树的二叉链表存储结构中有( )个空的指针域。
- 栈与队列是一种特殊操作的线性表。( )
- 用链接方式存储的队列,在进行删除运算时( )。
- 通常使用队列来处理函数或过程的调用。( )
- 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )
- 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
- 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( )。
- 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pN,若pN是n,则pi是( )。
- 设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是( )。
- 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( )。
- 删除顺序表(共有n个数据元素)中第i(0≤i≤n-1)个数据元素时需要移动( )个数据元素。
- 在带头结点的双向循环链表中的p结点之后插入一个新结点s,其修改链的Java语句序列是( )
- 在一个有序单链表(含有n个结点)中插入一个新结点,使单链表仍然保持有序的算法的时间复杂度是( )。
- 在线性表中若经常要存取第i个数据元素及其前驱,则宜采用( )存储方式。
- 以下不是顺序表特点的是( )。
- 数据结构的研究内容涉及( )
- 数据的逻辑结构分为线性结构和非线性结构。( )
- 数据对象是指( )
- 如果使用Java语言描述,链式存储是利用引用变量来表示数据之间的关系。( )
- 数据的存储结构包括数据的表示和数据之间关系的表示。( )
- 方法f3的时间复杂度是( )public int f3(int n) {int x = 2;while (x < n xss=removed>
- 方法f1的时间复杂度是( )public int f1(int n) {int x = 0;while (n >= (x + 1) * (x + 1)) {x = x + 1;}return x;}
- 记问题的规模n=a.length,方法f5的时间复杂度是( )public void f5(int[] a, int x) {int j = a.length;for (int i = 0; i < a> a[i]) {j = i;break;}}for (int i = a.length; i > j; i--) {a[i] = a[i - 1];}a[j] = x;}
- 方法f2的时间复杂度是( )public int f2(int n) {int i = 0;int sum = 0;while (sum < n xss=removed>
- 方法f4的时间复杂度是( )public int f4(int n) {int count = 0;for (int k = 1; k <= n; k *= 2) {for (int j = 1; j <= n; j++) {count++;}}return count;}
答案:空
答案:对
答案:错
答案:对
答案:对
答案:对
答案:错
答案:错
答案:错
答案:错
答案:n
温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!