2022年答案-数据结构与算法 .pdf
1若要对 1000个元素排序,要求既快又稳定,则最好采用()方法。B归并排序2在平均情况下速度最快的排序方法为()D快速排序3散列法的主要问题在于( ) C会发生冲突4下面关于折半查找的叙述,正确的是( )。D表必须有序,而且只能以顺序方式存储5有如下程序long int fib(int n) long int f; if (n=1 | n=0) f=1; else f=fib(n-1)+fib(n-2); return(f); fib(5)程序执行后输出结果是 ( ) B 8 6若要从 1000个元素中得到 10个最小值元素,最好采用()方法。B直接选择排序7散列查找时,解决冲突的方法有( ) D再散列法8具有 12 条边的有向完全图有多少个顶点:D4 9若一个元素序列基本有序,则选用()方法较快。A直接插入排序10对于一个无向图,下列说法正确的是( )。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - D有向图中所有顶点的入度之和大于所有顶点的出度之和;11对于一个有向图,若一个顶点的入度为k1,、出度为 k2,则该顶点的度是:Dk1+k2 12在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为( )。Bk+1 13已知一条路径上有k 个顶点数,则该路径长度为:Bk-1 14关键路径是事件结点网络中() 。A从源点到汇点的最长路径15在一个具有n 个顶点和 e 条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为( )。D2*e 16将 50,40,60,45,41,48 按顺序插入至一棵AVL 树中,当插入元素48 时,要执行什么类型的旋转变换使树成为平衡树。A左单旋转B右单旋转C先左后右双旋转D先右后左双旋转17最短路径的生成算法可用() 。C迪杰斯特拉算法18在有个结点的二叉链表中有()个空链域。An+1 19假设有 6 个权值分别为 3,6,9,10,7,11,构造哈夫曼树其带权路径B158 2012 个结点组成的完全二叉树,按层序遍历方式进行编号,根结点为1,则编号为 8 的结点深度为()B3 21在一棵深度为 5(设根深度为 1)的完全二叉树中,至少含有()个节点。C31 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 22(线性)表是一个()。A有限序列,可以为空23计算机算法必须具备输入、输出和()等 5 个特性。B可行性、确定性和有穷性24二叉搜索树重新平衡算法中常用的工具为( ) A结点的旋转变换25设循环队列 A0.n-1中头尾指针分别为: front,rear,其中 front 总是指在队列中第一个元素所在的位置,rear 总是指在队列中最后一个元素的下一个位置(顺时针 ),那么以下哪个语句可以用来成功取读队尾元素()CA(rear-1)%n 26对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为:( ) C用尾指针表示的单循环链表27要表示高校校、系、班级的有关数据及其关系,选择( )比较合适。A线性结构28设依次进入一个队列的元素有5 个,可得到出队的元素序列有()种。C32 29在 n 个结点的顺序表中,算法的时间复杂度都是O(1)的操作是 ( )。B在第 i 个结点后插入一个新结点(1in) 30由三个结点构成的二叉树,共有_种不同的形态C5 31若让元素 1,2,3 依次进栈,则出栈次序不可能出现()种情况。C3,1,2 32有如下程序int func(int a,int b) return (a+b); main() int x=2,y=5,z=8,r;r=func(func(x,y),z);primf( d ,r); 该程序的输出结果是 ( )。D15 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 33数据结构中,与所使用的计算机无关的是数据的()结构A存储34栈中元素的进出原则为() 。A先进先出35计算机内部数据处理的基本单位是() 。B数据元素36对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是() 。A直接选择排序37计算机算法指的是:()C解决问题的有限运算序列38往栈输入序列 a,b,c,d,e,f六个数据, 得到输出数据元素为: b,a,c,f,e,d. 则该栈的容量至少为A3 填空: (1)右单旋 (2)右左双旋 (3) 右左双旋大题(1) 折半算法折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n) 完成搜索任务。Int BinSrch(RecordList 1,KeyType k) /*在有序表 1 中这般查找其关键字等于 K的元素,若找到,则函数值为该元素在表中的位置*/ Low=1;high=1.length; While(low=high) Mid=(low+high)/2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - If(k= =1.rmid.key)return(mid); /*找到待查元素 */ else if(k1.rmid.key)high=mid-1; /*未找到,则继续在前半区间进行查找 */ else low=mid+1; return(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -