算法与数据结构试题及答案
数据结构与算法分析习题与参考答案
大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
数据结构与算法期末考试题及答案
数据结构与算法期末考试题及答案一、选择题1. 用于分离由加权无向边组成的完全连通图中连通分量中不相邻顶点的单纯形算法是(C)A. 最小生成树算法B. 广度优先搜索算法C. 最大流算法D. 关键路径算法2. 要设计一个使用图来表示的行业里的公司的决策问题,图的顶点应该表示(B)A. 公司拥有的资源B. 公司所面对的决策选择C. 公司内部的组织结构D. 公司的竞争对手3. 算法的计算时间复杂度O(log2n)中的n表示(A)A. 求解问题规模B. 求解算法所处理的数据量C. 求解问题中所涉及的参数量D. 求解算法所进行的求解步骤4. 以树形结构存储的优先队列中元素出队的操作时间复杂度是(C)A. O(1)B. O(n)C. O(log2n)D. O(n2)5. 以下关于贝尔曼-福特算法的描述错误的是(A)A. 贝尔曼-福特算法是求图 G=(V,E)最小生成树的法B. 贝尔曼-福特算法克服了Prim算法因存储顶点增量重复而带来的内存浪费C. 求解过程中,要维护贝尔曼-福特树中任意两个顶点之间的最短距离D. 贝尔曼-福特算法可以解决单源最短路径问题二、简答题1. 请说明拓扑排序的概念,以及如何使用拓扑排序解决求解关键路径的问题。
拓扑排序是指对有向无环图进行排序,得到一个顶点的线性序列,使得对于图中的每条有向边(u,v),均有u在v之前。
拓扑排序可用于求解关键路径,首先对所有活动按照拓扑排序的方法进行排序,计算该活动的最早开始时间ESi和最晚开始时间LSi,若ESi=LSi,则此活动运行期间不能延迟,为关键活动;若ESi≠LSi,则此活动可以合理推迟,不为关键活动。
《算法与数据结构》第1~3章 习题(包含了线性表、栈和队列,含答案)
{ p=p1; p1=p1->next; p->next= pa->next; pa->next= p; p2= p2->next;s1=s1+1;};
的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是(C)。
A. 6 B. 4 C. 3 D. 2
13.若用一个大小为6的数组来实现循环队列,且当前rear和
front的值分别为0和3,当从队列中删除一个元素,再加入两个
元素后,rear和front的值分别为多少?(B)
A. 1和 5 B. 2和4 C. 4和2 D. 5和1
10. 表达式3* 2^(4+2*2-6*3)-5求值过程中当扫描到6时,对
象栈和算符栈为( D ),其中^为乘幂 。
• 3,2,4,1,1;*^(+*- B. 3,2,8;*^- C. 3,2,4,2,2;*^(-
D. 3,2,8;*^(-
算法与数据结构
第1~3章 习题课
5 /31
11.循环队列存储在数组A[0..m]中,则入队时的操作为(D)。
C. q->next=p;q->pre=p->pre;p->pre->next=q;p->pre=q;
D. q->pre=p->pre;q->next=q;p->pre=q;p->pre=q; 5.栈的特点是( B ),队列的特点是( A ),栈和队列都是 ( A )。若进栈序列为1,2,3,4 则( C )不可能是一个出栈序 列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则 ( E )是一个出队列序列。 ①, ②: A. 先进先出 B. 后进先出 C. 进优于出 D. 出 优于进
算法与数据结构题库与答案
一、单项选择题1 某算法的时间复杂度是O(n2 ) ,表明该算法()。
A 问题规模是n2B 问题规模与n2成正比C 执行时间等于n2D 执行时间与n2成正比2、关于数据结构的描述,不正确的是()。
A数据结构相同,对应的存储结构也相同。
B数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C数据结构操作的实现与存储结构有关。
D定义逻辑结构时可不考虑存储结构。
3、按排序策略分来,起泡排序属于()。
A插入排序B选择排序C交换排序D归并排序4、利用双向链表作线性表的存储结构的优点是()。
A便于进行插入和删除的操作 B 提高按关系查找数据元素的速度C节省空间D便于销毁结构释放空间5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。
A 1,2,3,4B 1,3,2,4C 1,4,2,3D 4,3,2,16、 Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。
A按长度递减的顺序求出图的某顶点到其余顶点的最短路径B按长度递增的顺序求出图的某顶点到其余顶点的最短路径C通过深度优先遍历求出图中从某顶点到其余顶点的所有路径D通过广度优先遍历求出图的某顶点到其余顶点的最短路径7、字符串可定义为n( n≥ 0)个字符的有限()。
其中,n是字符串的长度,表明字符串中字符的个数。
A集合B数列C序列D聚合8、在二维数组A[9][10]中,每个数组元素占用 3 个存储单元,从首地址SA 开始按行连续存放。
在这种情况下,元素A[8][5]的起始地址为()。
A SA+141B SA+144C SA+222D SA+2559、已知广义表为L(A(u,v,(x,y),z),C(m,(),(k,l,n),(())),((())),(e,(f,g),h)),则它的长度是()。
A2B3C4D510.对于具有n(n>1)个顶点的强连通图,其有向边条数至少有_____。
A. n+1B. nC. n-1D. n-211.一个递归算法必须包括 __________ 。
数据结构与算法测试题+参考答案
数据结构与算法测试题+参考答案一、单选题(共80题,每题1分,共80分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?A、仅有头指针的单循环链表B、双链表C、仅有尾指针的单循环链表D、单链表正确答案:C2、数据结构研究的内容是()。
A、数据的逻辑结构B、数据的存储结构C、建立在相应逻辑结构和存储结构上的算法D、包括以上三个方面正确答案:D3、下列关于无向连通图特征的叙述中,正确的是:所有顶点的度之和为偶数边数大于顶点个数减1至少有一个顶点的度为1A、只有1B、1和2C、1和3D、只有2正确答案:A4、下面的程序段违反了算法的()原则。
void sam(){ int n=2;while (n%2==0) n+=2;printf(“%d”,n);}A、确定性B、可行性C、有穷性D、健壮性正确答案:C5、对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。
下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 的高度大于 T2 的高度D、T1 与 T2 的结点数相同正确答案:A6、数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?A、快速排序B、选择排序C、插入排序D、冒泡排序正确答案:A7、设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。
采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。
元素59存放在散列表中的地址是:A、11B、9C、10D、8正确答案:A8、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:A、每次划分后,先处理较短的分区可以减少递归次数B、递归次数与每次划分后得到的分区处理顺序无关C、递归次数与初始数据的排列次序无关D、每次划分后,先处理较长的分区可以减少递归次数正确答案:B9、以下数据结构中,()是非线性数据结构。
数据结构与算法单元测试题2及答案
一、单选题1、若串S= 'software',其前缀真子串的数目是()。
A.9B.8C.7D.10正确答案:C2、两个串相等的充要条件是()。
A.两个字符串的长度相等且对应位置上的字符也相等B.两个字符串的长度相等C.两个字符串中对应位置上的字符相等D.两个字符串存储形式相同正确答案:A3、函数strcmp('stcabuc','stbabuc')的返回值是()。
A.1B.-1C.0D.2正确答案:A4、StrIndex (‘DATASTRUCTURE',1,‘STR')= ()。
A.9B.5C.3D.7正确答案:B5、设正文串长度为n,模式串长度为m,则模式匹配的KMP算法的时间复杂度为()。
A.O(n)B.O(m)C.O(m+n)D.O(m*n)正确答案:C6、设S="",则LenStr(S)=()。
A.1B.2C.3D.0正确答案:D7、设目标串T="aabaababaabaa",模式P="abab",朴素匹配算法的外层循环进行了( )次。
A.5B.9C.4D.1正确答案:A8、若串S='SOFT',其子串的数目最多是()。
A.9B.12C.10D.11正确答案:D9、设串S1='ABCDEFG',S2='PQRST' ,则ConcatStr(SubStr(S1,2,LenStr(S2)),SubStr(S1,LenStr(S2),2))的结果串为( )。
A.'BCPQRST'B.'BCDEFEF'C.'BCDEF'D.'BCDEFG'正确答案:B10、某串的长度小于一个常数,则采用()存储方式最节省空间。
A.堆结构B.顺序C.链式D.无法确定正确答案:B11、二维数组A的每个元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则如果A按行存放元素A[8][5]的起始地址与A按列存放时元素()的起始地址一致。
数据结构与算法单元测试题3及答案
一、单选题1、一个具有n个顶点的有向图中,要连通全部顶点至少需要()条弧。
A.nB.n-1C.n+1D.2n正确答案:A2、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则占用的存储空间为()。
A.n+2eB.2eC.nD.n+e正确答案:A3、如果含有n个顶点的图形成一个环,则它有()棵生成树。
A.不确定B.n-1C.nD.n+1正确答案:C4、关键路径是事件结点网络中()。
A.最短回路B.从源点到汇点的最短路径C.从源点到汇点的最长路径D.最长回路正确答案:C5、图G是一个非连通无向图,共有28条边,则该图至少有()个顶点。
A.11B.10C.9D.8正确答案:C6、已知一个图的邻接矩阵表示,删除所有从第i个顶点出发的弧方法是()。
A.将矩阵第i列删除,后序列左移B.将矩阵第i行上的元素全部置0C.将矩阵第i行删除,后序行上移D.将矩阵第i列上的元素全部置0正确答案:B7、连通分量是()的极大连通子图。
A.有向图B.无向图C.图D.树正确答案:B8、下面关于图的存储结构的叙述中正确的是()。
A.邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关B.用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关C.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关D.用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关正确答案:D9、下图中,度为3的结点是()。
A.V1B.V3C.V4D.V2正确答案:D10、如下图所示,从顶点a出发,按广度优先进行遍历,则可能得到的一种顶点序列为()。
A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,d,f,c,bD.a,e,b,c,f,d正确答案:A11、具有12个关键字的有序表,折半查找的平均查找长度( )。
A.25B.25/12C.37/12D.10/12正确答案:C12、以下适合用分块查的数据集是()。
数据结构与算法题库(含参考答案)
数据结构与算法题库(含参考答案)一、单选题(共100题,每题1分,共100分)1、在一次校园活动中拍摄了很多数码照片,现需将这些照片整理到一个PowerPoint 演示文稿中,快速制作的最优操作方法是:A、创建一个 PowerPoint 相册文件。
B、创建一个 PowerPoint 演示文稿,然后批量插入图片。
C、创建一个 PowerPoint 演示文稿,然后在每页幻灯片中插入图片。
D、在文件夹中选中所有照片,然后单击鼠标右键直接发送到PowerPoint 演示文稿中。
正确答案:A2、下面对“对象”概念描述错误的是A、对象不具有封装性B、对象是属性和方法的封装体C、对象间的通信是靠消息传递D、一个对象是其对应类的实例正确答案:A3、设栈与队列初始状态为空。
首先A,B,C,D,E依次入栈,再F,G,H,I,J 依次入队;然后依次出队至队空,再依次出栈至栈空。
则输出序列为A、F,G,H,I,J,E,D,C,B,AB、E,D,C,B,A,J,I,H,G,FC、F,G,H,I,J,A,B,C,D,E,D、E,D,C,B,A,F,G,H,I,J正确答案:A4、设表的长度为 20。
则在最坏情况下,冒泡排序的比较次数为A、20B、19C、90D、190正确答案:D5、设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。
则后序序列为A、DGHEBIJFCAB、JIHGFEDCBAC、GHIJDEFBCAD、ABCDEFGHIJ正确答案:A6、Excel工作表B列保存了11位手机号码信息,为了保护个人隐私,需将手机号码的后 4 位均用“*”表示,以 B2 单元格为例,最优的操作方法是:A、=REPLACE(B2,7,4,"****")B、=REPLACE(B2,8,4,"****")C、=MID(B2,7,4,"****")D、=MID(B2,8,4,"****")第 10 组正确答案:B7、小金从网站上查到了最近一次全国人口普查的数据表格,他准备将这份表格中的数据引用到 Excel 中以便进一步分析,最优的操作方法是:A、通过 Excel 中的“自网站获取外部数据”功能,直接将网页上的表格导入到 Excel 工作表中。
《算法与数据结构》练习一(答案)
习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。
A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。
A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。
A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。
2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。
3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。
例如构成一个数据元素的字段、域、属性等都可称之为_数据项。
4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。
5、数据的逻辑结构是指数据之间的逻辑关系。
逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。
因此逻辑结构可以看作是从具体问题抽象出来的数学模型。
6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。
存储结构是逻辑结构在计算机里的实现,也称之为映像。
7、数据的运算是指对数据施加的操作。
它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。
常用的有:查找、排序、插人、删除、更新等操作。
8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。
9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
数据结构与算法 试题及答案
绪论一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:集合_、线性结构_、树型结构_、图状结构_。
2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:顺序存储_、链式存储_、索引存储_、散列存储_。
二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的(B )。
A、正确性B、有穷性C、确定性D、可行性2、算法的每一步必须有确切的定义,也就是说,对于每步需要执行的动作必须严格、清楚地给出规定,这是算法的(A)。
A、正确性B、有穷性C、确定性D、可行性3、算法原则上都是能够有机器或人所完成的。
整个算法好象是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作,这是算法的(D)A、正确性B、有穷性C、确定性D、可行性三、简单题1、什么是数据结构?什么是算法?两者有什么关系?什么是数据结构?数据结构是按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。
什么是算法?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”两者有什么关系?算法与数据结构关系密切。
选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。
2、什么是复杂度和空间复杂度?时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
3、数据的逻辑结构分几种?存储结构又有哪几种?数据的逻辑结构:结构定义中的“关系”,描述的是数据元素之间的逻辑关系;包括线性结构(线性表、栈、队、串、数组)和非线性结构(图形结构、树形结构);数据的存储结构(物理结构):数据结构在计算机中的表示(又称映像),包括数据元素的表示和关系德表示。
有顺序存贮(向量存贮)、链式存贮、索引存贮、散列存贮。
线性表1、一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是( B)。
数据结构与算法练习题库(含答案)
数据结构与算法练习题库(含答案)一、单选题(共80题,每题1分,共80分)1、对一棵二叉树的结点从 1 开始顺序编号。
要求每个结点的编号大于其左子树所有结点的编号、但小于右子树中所有结点的编号。
可采用▁▁▁▁▁ 实现编号。
A、中序遍历B、先序遍历C、层次遍历D、后序遍历正确答案:A2、设一段文本中包含4个对象{a,b,c,d},其出现次数相应为{4,2,5,1},则该段文本的哈夫曼编码比采用等长方式的编码节省了多少位数?A、5B、4C、2D、0正确答案:C3、两个有相同键值的元素具有不同的散列地址A、一定不会B、一定会C、可能会D、有万分之一的可能会正确答案:C4、将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。
散列函数为:H(Key)=Key%11,采用线性探测法处理冲突。
问:当第一次发现有冲突时,散列表的装填因子大约是多少?A、0.73B、0.27C、0.64D、0.45正确答案:D5、对N个记录进行归并排序,归并趟数的数量级是:A、O(NlogN)B、O(logN)C、O(N)D、O(N2)正确答案:B6、下列说法不正确的是:A、图的遍历是从给定的源点出发每一个顶点仅被访问一次B、图的深度遍历不适用于有向图C、遍历的基本算法有两种:深度遍历和广度遍历D、图的深度遍历是一个递归过程正确答案:B7、二叉树的中序遍历也可以循环地完成。
给定循环中堆栈的操作序列如下(其中push为入栈,pop为出栈): push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()A、6是根结点B、2是4的父结点C、2和6是兄弟结点D、以上全不对正确答案:C8、设最小堆(小根堆)的层序遍历结果为{1, 3, 2, 5, 4, 7, 6}。
算法与数据结构C语言习题参考答案1-5章
置*/ palist->element[q] = palist->element[q+1]; palist->n = palist->n - 1; /* 元素个数减 1 */ return 1 ; } return 0; } 3. 设有一线性表 e = (e0, e1 , e2 , …, e n-1 ),其逆线性 表定义为 e'= (e n-1 , …, e2 , e1 ,e0)。 请设计一个算法,将用顺序表表示的线性表置逆,要求逆线性表 仍占用原线性表的 空间。 【答】 数据结构 采用 2.1.2 节中顺序表的定义。 思路 考虑对数组 element[ ]进行置逆,即把第一个元素和最后一个 元素换位置,把第二个元素和倒数第二个元素换位置……。 注意 这种调换的工作只需对数组的前一半元素进行,所以设置整数变 量 count 用于存放数组长度的一半的值。大家可以考虑一下:为 什么不能对整个数组进行如上的对元素“换位置”的工作?(提
PNode p1; if(llist==NULL) return 0; p1=llist; while(p1!=NULL&&p1->link!=p)p1=p1->link; /*寻找 p 所指结 点的前驱结点*/ if(p1=NULL) return 0; PNode q=(PNode)malloc(sizeof(struct Node));/*申请新结点 */ if(q=NULL) {printf(“Out of space!!!\n”);return 0;} q->info=x; q->link=p1->link; p1->link=q; return 1; } 7.写一算法,在带头结点的单链表 llist 中,删除 p 所指的结点, 并返回删除成功与否的标 志。 【答】 数据结构 采用 2.1.3 节中单链表定义。 思想: 由于在单链表中,只有指向后继结点的指针,所以只有首先找到
智慧树知到《算法与数据结构》章节测试答案
智慧树知到《算法与数据结构》章节测试答案绪论1、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的____和运算等的学科。
A:结构B:算法C:关系D:运算正确答案:关系2、算法的描述形式包括A:自然语言B:流程图C:类程序设计语言D:N-S图正确答案:自然语言,流程图 ,类程序设计语言,N-S图3、算法的特征包括有穷性、确定性、可行性和输入输出。
A:对B:错正确答案:对4、对算法的描述包括程序形式和描述形式。
A:对B:错正确答案:对5、描述形式是算法的最终形式A:对B:错正确答案:错6、“数据结构”是介于( )、( )和( )三者之间的一门核心课程。
A:数学B:计算机硬件C:计算机软件D:语句正确答案:数学,计算机硬件,计算机软件7、著名计算机科学家沃思教授提出的公式:程序 = ( ) + ( ),也说明了数据结构的重要性。
A:算法B:语法C:数据结构D:编程环境正确答案:算法,数据结构8、描述非数值计算问题的数学模型不再是数学方程,而是数据结构( )。
A:表B:树C:图D:集合正确答案:表,树,图,集合9、数据结构是一门研究( )程序设计问题中计算机的( )以及它们之间的( )和( )等的学科。
A:非数值计算B:操作对象C:关系D:操作正确答案:非数值计算,操作对象,关系,操作10、顺序存储结构: 借助元素在存储器中的( )来表示数据元素间的逻辑关系。
A:地址B:结构C:相对位置D:数值正确答案:相对位置第一章1、()是一种最简单的线性结构。
A:图B:线性表C:树D:集合正确答案:线性表2、()线性表的数据元素可以由所描述对象的各种特征的数据项组成。
A:有序存储B:散列存储C:链式存储D:顺序存储正确答案:链式存储3、已知单向链表中指针p指向结点A,( )表示删除A的后继结点(若存在)的链操作(不考虑回收)。
A:p—>next=pB:p=p—>nextC:p=p—>next—>nextD:p—>next=p—>next—>next正确答案:p—>next=p—>next—>next4、已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是。
数据结构算法笔试题及答案
数据结构算法笔试题及答案一、选择题1. 在数据结构中,以下哪个选项不是线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 以下哪个排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B3. 在哈希表中,以下哪个操作的时间复杂度通常是O(1)?A. 插入B. 删除C. 查找D. 遍历答案:C4. 下列关于二叉树的叙述中,错误的是?A. 二叉树的度最多为2B. 二叉树的节点数最多为n^2C. 二叉树的节点数最少为nD. 二叉树的节点数最多为2^n - 1答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的是哪种数据结构?A. 队列B. 栈C. 链表D. 堆答案:B二、填空题1. 在二叉搜索树中,对于任意节点,其左子树中的所有节点的值都____。
答案:小于该节点的值2. 一个完全二叉树的第i层最多有____个节点。
答案:2^(i-1)3. 一个长度为n的链表,删除链表的倒数第k个节点的时间复杂度是____。
答案:O(n)4. 哈夫曼编码是一种基于字符出现频率进行编码的方法,它是一种____编码。
答案:前缀5. 在图的遍历算法中,广度优先搜索(BFS)使用的是____数据结构。
答案:队列三、简答题1. 请简述快速排序算法的基本思想。
答案:快速排序算法的基本思想是选择一个元素作为基准(pivot),然后将数组分为两部分,一部分是小于基准的元素,另一部分是大于基准的元素。
递归地在这两部分上重复这个过程,直到整个数组变为有序。
2. 什么是图的深度优先搜索(DFS)?答案:图的深度优先搜索(DFS)是一种遍历算法,它从一个节点开始,尽可能深地搜索图的分支。
搜索过程中,它会访问一个节点的所有未访问的邻接节点,直到所有可达的节点都被访问过。
3. 请解释什么是哈希表的冲突以及如何解决冲突。
答案:哈希表的冲突是指两个或多个不同的键值对通过哈希函数映射到同一个哈希值。
数据结构与算法习题含参考答案
数据结构与算法习题含参考答案一、单选题(共100题,每题1分,共100分)1、要为 Word 2010 格式的论文添加索引,如果索引项已经以表格形式保存在另一个 Word文档中,最快捷的操作方法是:A、在 Word 格式论文中,逐一标记索引项,然后插入索引B、直接将以表格形式保存在另一个 Word 文档中的索引项复制到 Word 格式论文中C、在 Word 格式论文中,使用自动插入索引功能,从另外保存 Word 索引项的文件中插D、在 Word 格式论文中,使用自动标记功能批量标记索引项,然后插入索引正确答案:D2、下面不属于计算机软件构成要素的是A、文档B、程序C、数据D、开发方法正确答案:D3、JAVA 属于:A、操作系统B、办公软件C、数据库系统D、计算机语言正确答案:D4、在 PowerPoint 演示文稿中,不可以使用的对象是:A、图片B、超链接C、视频D、书签第 6 组正确答案:D5、下列叙述中正确的是A、软件过程是软件开发过程和软件维护过程B、软件过程是软件开发过程C、软件过程是把输入转化为输出的一组彼此相关的资源和活动D、软件过程是软件维护过程正确答案:C6、在 Word 中,不能作为文本转换为表格的分隔符的是:A、@B、制表符C、段落标记D、##正确答案:D7、某企业为了建设一个可供客户在互联网上浏览的网站,需要申请一个:A、密码B、门牌号C、域名D、邮编正确答案:C8、面向对象方法中,将数据和操作置于对象的统一体中的实现方式是A、隐藏第 42 组B、抽象C、结合D、封装正确答案:D9、下面属于整数类 I 实例的是A、-919B、0.919C、919E+3D、919D-2正确答案:A10、定义课程的关系模式如下:Course (C#, Cn, Cr,prC1#, prC2#)(其属性分别为课程号、课程名、学分、先修课程号 1和先修课程号 2),并且不同课程可以同名,则该关系最高是A、BCNFB、2NFC、1NFD、3NF正确答案:A11、循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。
数据结构与算法试题及
数据结构与算法试题及答案参考数据结构与算法试题及答案参考一、选择题1. 数据结构是研究什么的?A. 数据的结构和组织B. 数据的格式和排列C. 数据的读取和写入D. 数据的传输和存储正确答案:A2. 在数据结构中,栈(Stack)的特点是什么?A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:C3. 在链表中,结点的指针指向的是什么?A. 结点本身B. 结点的前一个结点C. 结点的后一个结点D. 结点的数据域正确答案:C4. 在二叉搜索树中,左子树的值都小于根节点,右子树的值都大于根节点。
这种特性被称为什么性质?A. 有序性B. 平衡性C. 完全性D. 二叉性正确答案:A二、填空题1. 算法的复杂度可以分为时间复杂度和________复杂度。
正确答案:空间2. 实现队列数据结构可以采用两个栈的方式,称为______队列。
正确答案:双栈3. 快速排序算法的时间复杂度为______。
正确答案:O(nlogn)三、编程题1. 请编写一个函数,实现对一个数组进行冒泡排序。
正确答案:```pythondef bubble_sort(arr):for i in range(len(arr) - 1):for j in range(len(arr) - 1 - i):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arr```2. 请编写一个递归函数,计算斐波那契数列的第n项。
正确答案:```pythondef fibonacci(n):if n <= 1:return nelse:return fibonacci(n - 1) + fibonacci(n - 2)```四、简答题1. 请简单描述树和图的区别。
答:树是一种特殊的图,它是一个由节点和边组成的非线性数据结构,具有层级关系,且任意两个节点之间有且仅有一条路径相连。
算法与数据结构试题及答案
数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是()。
A.只允许在端点处插入和删除元素B.都是先进后出C。
都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A。
仅修改头指针 B。
头、尾指针都要修改C。
仅修改尾指针 D。
头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A。
队列 B. 栈C。
线性表D。
二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B。
无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。
A.2k—1 B.2K+1 C.2K—1 D。
2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3 B。
9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n) D。
O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( )个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。
A.5B.6C.7 D。
8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
数据结构与算法单元测试题1及答案
一、单选题1、在数据结构中,从逻辑上可以将之分为()结构。
A.线性和非线性结构B.动态和静态结构C.紧凑和非紧凑结构D.内部和非内部结构正确答案:A2、算法的时间复杂度取决于()。
A.问题的规模B.待处理数据的初态C.没有正确答案D.问题的规模以及待处理数据的初态正确答案:D3、某算法的时间复杂度是O(n2),表明该算法的()。
A.执行时间与n2成正比B.问题规模与n2成正比C.执行时间等于n2D.问题规模是n2正确答案:A4、衡量算法效率优劣的不包括()。
A.正确性和可读性B.现实性C.健壮性/鲁棒性D.高效率与低存储正确答案:B5、算法效率分析的两个主要方面是()。
A.空间复杂度和时间复杂度B.数据复杂性和程序复杂性C.正确性和简明性D.可读性和文档性正确答案:A6、下面程序段的时间复杂度为()。
for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;A.O(n*m)B.O(1)C.O(n2)D.O(m2)正确答案:A7、下面程序段的时间复杂度为()。
void sum(int n) //n为正整数{int p=1,sum=0,i;for(i=1;i<=n;i++){p*=i;sum+=p;}}A.O(n2)B.O(n)C.O(1)D.O(√n)正确答案:B8、下述哪一条是顺序存储结构的优点()。
A.插入运算方便B.随机存取C.可方便地用于各种逻辑结构的存储表示D.删除运算方便正确答案:B9、静态链表中指针表示的是()。
A.下一元素在数组中的下标B.左、右孩子地址C.数组下标D.内存地址正确答案:A10、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
A.O(n2)B.O(0)C.O(n)D.O(1)正确答案:C11、对于顺序表,访问结点和删除结点的时间复杂度分别为()。
A.O(n) O(n)B.O(1) O(n)C.O(1) O(1)D.O(n) O(1)正确答案:B12、对于一个带头结点的单链表,其头指针为head,判定该表为空表的条件是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟试题...一、简答题(15分,每小题3分)1.简要说明算法与程序的区别。
2.在哈希表中,发生冲突的可能性与哪些因素有关?为什么?3.说明在图的遍历中,设置访问标志数组的作用。
4.说明以下三个概念的关系:头指针,头结点,首元素结点。
5.在一般的顺序队列中,什么是假溢出?怎样解决假溢出问题?二、判断题(10分,每小题1分)正确在括号内打√,错误打×( )(1)广义表((( a ), b), c ) 的表头是(( a ), b),表尾是( c )。
( )(2)在哈夫曼树中,权值最小的结点离根结点最近。
( )(3)基数排序是高位优先排序法。
( )(4)在平衡二叉树中,任意结点左右子树的高度差(绝对值)不超过1。
( )(5)在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next = s; s->next = p->next;( )(6)抽象数据类型(ADT)包括定义和实现两方面,其中定义是独立于实现的,定义仅给出一个ADT的逻辑特性,不必考虑如何在计算机中实现。
( )(7)数组元素的下标值越大,存取时间越长。
( )(8)用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。
( )(9)拓扑排序是按AOE网中每个结点事件的最早发生时间对结点进行排序。
( )(10)长度为1的串等价于一个字符型常量。
三、单项选择题(10分, 每小题1分)1.排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置。
这是哪种排序方法的基本思想?A、堆排序B、直接插入排序C、快速排序D、冒泡排序2.已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应该:A)将邻接矩阵的第i行删除B)将邻接矩阵的第i行元素全部置为0C)将邻接矩阵的第i列删除D)将邻接矩阵的第i列元素全部置为03.有一个含头结点的双向循环链表,头指针为head, 则其为空的条件是:A.head->priro==NULLB. head->next==NULLC. head->next==headD. head->next-> priro==NULL4. 在顺序表( 3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30 ) 中,用折半法查找关键码值11,所需的关键码比较次数为:A) 2 B) 3 C) 4 D) 55. 以下哪一个不是队列的基本运算?A)从队尾插入一个新元素B)从队列中删除第i个元素C)判断一个队列是否为空D)读取队头元素的值6. 在长度为n的顺序表的第i个位置上插入一个元素(1≤i ≤n+1),元素的移动次数为:A) n –i + 1 B) n –i C) i D) i –17.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为:A) 顺序表B) 用头指针表示的循环单链表C) 用尾指针表示的循环单链表D) 单链表8.对包含n个元素的哈希表进行查找,平均查找长度为:A) O(log2n) B) O(n) C) O(nlog2n) D) 不直接依赖于n9.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号最大的非叶结点的编号为:A、48B、49C、50D、5110.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,则其左子树中结点数目为:A)3 B)2 C)4 D)5四、填空题(10分,每空1分)1.填空完成下面一趟快速排序算法:int QKPass ( RecordType r [ ], int low,int high){ x = r [ low ];while ( low < high ){while ( low < high && r [ ]. key >= x.key )high - -;if ( low < high ){ r [ ] = r [ high ];low++; }while ( low < high && r [ ]. key < x. key )low++;if ( low < high ){ r [ ] = r [ low ];high--; }}r [ low ] = x;return low ;}2. 假设用循环单链表实现队列,若队列非空,且队尾指针为R, 则将新结点S加入队列时,需执行下面语句:;;R=S;3.通常是以算法执行所耗费的和所占用的来判断一个算法的优劣。
4.已知一个3行、4列的二维数组A(各维下标均从1开始),如果按“以列为主”的顺序存储,则排在第8个位置的元素是:5.高度为h的完全二叉树最少有个结点。
五、构造题(20 分)1.(4分)已知数据结构DS的定义如下,请给出其逻辑结构图示。
DS = (D, R)D = { a, b, c, d, e, f, g }R = { T }T = { <a, b>, <a, g>, <b, g>, <c, b>, <d, c>, <d, f>,<e, d>, <f, a>, <f, e>, <g, c>, <g, d>, <g, f> }2.(6分)对以下关键字序列建立哈希表:(SUN, MON, TUE, WED, THU, FRI, SAT),哈希函数为H(K) =(K中最后一个字母在字母表中的序号)MOD 7。
用线性探测法处理冲突,要求构造一个装填因子为0.7的哈希表,并计算出在等概率情况下查找成功的平均查找长度。
3.(6分)将关键字序列(3,26,12,61,38,40,97,75,53,87)调整为大根堆。
4.(4分)已知权值集合为:{ 5,7,2,3,6,9 },要求给出哈夫曼树,并计算其带权路径长度WPL。
六、算法分析题(10分)阅读下面程序,并回答有关问题。
其中BSTree为用二叉链表表示的二叉排序树类型。
(1)简要说明程序功能。
(5分)(2)n个结点的满二叉树的深度h是多少?(3分)(3)假设二叉排序树*bst是有n个结点的满二叉树,给出算法的时间复杂度。
(2分)int Proc (BSTree *bst, KeyType K){ BSTree f, q, s;s=(BSTree)malloc(sizeof(BSTNode));s-> key = K; s-> lchild = NULL; s-> rchild = NULL;if ( *bst == NULL ) { *bst = s; return 1; }f = NULL; q = *bst;while( q != NULL ){ if ( K < q -> key ){ f = q; q = q -> lchild; }else{ f = q; q = q -> rchild; }}if ( K < f -> key ) f -> lchild = s;else f -> rchild = s;return 1;}七、算法设计题(25分)1.已知一个带头结点的整数单链表L,要求将其拆分为一个正整数单链表L1和一个负整数单链表L2。
(9分)2.无向图采用邻接表存储结构,编写算法输出图中各连通分量的结点序列。
(8分)3.编写一个建立二叉树的算法,要求采用二叉链表存储结构。
(8分)2002级《数据结构》试卷参考答案与评分标准一、简答题(15分,每小题3分)6.算法是解决特定问题的操作序列,可以用多种方式描述。
程序是算法在计算机中的实现,与具体的计算机语言有关。
7.主要与哈希函数、装填因子α有关。
如果用哈希函数计算的地址分布均匀,则冲突的可能性较小,如果装填因子α较小,则哈希表较稀疏,发生冲突的可能性较小。
8.图中结点可能有多个前驱,设置访问标志数组主要是为了避免重复访问同一个结点。
9.头指针指向头结点,头结点的后继域指向首元素结点。
10.当队尾到达数组最后一个单元时,就认为队满,但此时数组前面可能还有空单元,因此叫假溢出。
解决的方法是采用循环队列,即令最后一个单元的后继是第一个单元。
二、判断题(10分,每小题1分)(1)(√) (2)(×) (3)(×) (4)(√) (5)(×)(6)(√) (7)(×) (8)(√) (9)(×) (10)(×)三、单项选择题(10分, 每小题1分)1.D)2.B)3.C) 4. C) 5. B)6. A) 7.C) 8.D) 9.C)10.C)四、填空题(10分,每空1分)1.high low low high2. S->next=R->next ;R->next=S ;3.时间空间4.A[2, 3] 5.2h-1五、构造题(20 分)1.(4分)0 1 2 3 4 5 6 7 8 9SUN MON THU FRI WED TUE SAT2.(6分)ASL succ = ( 1×4 + 2×2 + 3 ) / 7 = 11 / 73.(6分)4.(4分)已知权值集合为:{ 5,7,2,3,6,9 },要求给出哈夫曼树,并计算其带权路径长度WPL。
WPL = 2×( 9 + 6 + 7 ) + 3×5 + 4×( 2 + 3 ) = 79六、算法分析题(10分)解:(1)在二叉排序树中插入关键字为K的结点(2)h = log2 ( n+1 ) 或h = [ log2 n ] + 1 (方括号表示向下取整)(3)O ( log2 ( n+1 ) ) 或O ( log2 n )七、算法设计题(25分)(答案略)。