数据结构习题集(包含全部答案)
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
数据结构习题集(包含全部答案)

数据结构习题集(自编)之阳早格格创做第一章绪论一、采用题1.数据结构是一门钻研非数值估计的步调安排问题中的支配对付象以及它们之间的()战运算的教科.A.结构B.闭系 C.运算 D.算法2.正在数据结构中,从逻辑上不妨把数据结构分成(). A.动背结媾战固态结构 B.紧稀结媾战非紧稀结构C.线性结媾战非线性结构D.逻辑结媾战保存结构3.线性表的逻辑程序战保存程序经常普遍的,那种道法().A.精确B.不精确 C.无法决定 D.以上问案皆分歧过得4.算法分解的手段是().A.找出算法的合理性 B.钻研算法的输人与输出闭系C.分解算法的灵验性以供矫正 D.分解算法的易懂性5. 算法的时间搀纯度与决于()A.问题的规模B待处理数据的初态 C. A战B6.一个算法该当是().A.步调B.问题供解步调的形貌C.要谦脚五个基础个性 D.A战C.7. 底下闭于算法道法过得的是()A.算法最后必须由估计机步调真止C. 算法的可止性是指指令不克不迭有二义性D. 以上几个皆是过得的8.以下与数据的保存结构无闭的术语是().A.循环行列 B. 链表 C. 哈希表 D. 栈9.正在底下的步调段中,对付x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;A. 2n B.n C.n2 D.log2n10.以下数据结构中,()利害线性数据结构A.树 B.字符串 C.行列 D.栈11. 下列数据中,()是线性数据结构.A.哈妇曼树 B.有背无环图 C. 二叉排序树 D. 栈12.以部下于逻辑结构的是().A.程序表 B. 哈希表 D. 单链表二、挖空题1、_______是疑息的载体,是对付客瞅真物的标记表示,它不妨被估计机辨别、保存、加工战处理,________是对付不妨灵验的输人到估计机中而且不妨被估计机处理的标记的总称.(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结面、顶面、记录等.(基础单位)3、________是数据不可分隔的最小单元,是具备独力含意的最小标记单位.比圆形成一个数据元素的字段、域、属性等皆可称之为________.(数据项、数据项)4、数据的逻辑结构是指数据之间的________.逻辑结构是从________上形貌数据,它与简曲保存无闭,是独力于估计机的.果此逻辑结构不妨瞅做是从简曲问题抽象出去的______________.(逻辑闭系、逻辑闭系、数教模型)5、数据的________指数据元素及其闭系正在估计机保存器内的表示._________是逻辑结构正在估计机里的真止,也称之为映像.(保存结构、保存结构)6、数据逻辑结构不妨分为四种基础的典型,_______结构中的元素除了只是不过共属于一个_________________,不存留什么闭系.(集中、集中)7、数据逻辑结构的四种基础典型中,________中的元素是一种一对付一的闭系,那种结构的个性是:若结构利害空集,则有且惟有一个启初结面战一个末端结面,而且所有结面最多只可有一个间接前驱战一个间接后继.(线性结构)8、数据逻辑结构的四种基础典型中,____________中的元素是一种一对付多的闭系.(树形结构)9、图型结构大概图状结构是一种________的闭系.正在那种逻辑结构中,所有结面均不妨有多个前驱战多个后继.(多对付多)10、奇我也可将树型结构、集中战图型结构称为__________,那样数据的逻辑结构便不妨分为__________战________二大类.(非线性结构、线性结构、非线性机构)11、____________办法是指逻辑上相邻的结面被保存到物理上也相邻的保存单元中.那种保存结构只保存结面的数值,不保存结面之间的闭系,结面之间的闭系是通过保存单元的相邻闭系隐含的表示出去的.(程序保存)12、_______办法是种保存要领,不央供逻辑上相邻的结面正在物理上也相邻,即数据元素不妨保存正在任性的位子上.(链式保存)13、_________办法是利用结面闭键字的值间接估计出该结面保存单元天面,而后将结面按某种办法存人该天面的一种要领.(集列保存大概哈希保存)14、所谓算法(Algorithm)是对付特定问题供解步调的一种形貌,它是指令的其中每个指令表示一个大概多个支配.算法的五个要害个性是__________、__________、__________、__________战__________.(有限序列、有贫性、决定性、可止性、输进、输出)15、算法的_______性是指算法必须不妨正在真止有限个步调之后中断,而且每个步调皆必须正在有贫的时间内完成.(有贫性)16、算法的________性是指算法中的每一个步调必须是有明决定义的,不允许有模棱二可的阐明,也不允许有多义性.而且,正在所有条件下,算法只可有惟一的一条真止路径,即只消输人是相共的便只可得到____________的输出截止.(决定性、相共)17、算法的____________性又称为算法的能止性,是指算法中形貌的支配是不妨通过已经真止的基础运算真止有限次去真止.(可止性)18、推断一个算法的利害主要以下几个尺度:________、________、________、_________.(精确性、可读性、结实性、时间效用战空间效用)19、算法分解是对付一种算法所消耗的估计机资材的估算,其中包罗估计机_________的少短战___________________的大小.(运止时间、所吞噬空间)20、空间搀纯度(SPace ComPlexity)也是度量一个算法利害的尺度,它所形貌的是算法正在运止历程中所占用_____________的大小.(保存空间)三、推断题1.程序保存办法只可用于保存线性结构.(×)2.数据元素是数据的最小单位.(×)3.算法的劣劣与算法形貌谈话无闭,然而与所用估计机有闭.(×)4.结实的算法不会果非法的输进数据而出现莫名其妙的状态.()5.数据的逻辑结构是指各元素之间的逻辑闭系,是根据用户需要而建坐的.6.数据结构、数据元素、数据项正在估计机中的映像分别称为保存结构、结面、数据域.()7.数据的物理结构是指数据正在估计机中本量的保存形式.()8.具备存与任一元素的时间相等那一个性的保存结构称为随机存与结构.9.算法本量上便是步调,步调也一定是算法.(×)10. 正在程序保存结构中,奇我也保存数据结构中元素之间的闭系.(×)11. 程序保存办法的便宜是保存稀度大,且拔出、简略运算效用下.(×)12. 数据结构的基础支配的树坐的最要害的规则是,真止应用步调与保存结构的独力.()13. 数据的逻辑结构道明数据元素之间的程序闭系,它依好于估计机的储藏结构. (×)14. 推断一个算法的利害主要以下几个尺度:精确性、有贫性、结实性战可止性.(×)15.算法的时间搀纯度T(n)=O(f(n))表示随问题规模n的删大,算法真止时间的删少率与函数f(n)的删少率相共.()四、概括题1.用大O形式表示底下算法的时间搀纯度:for(i=0;i<m;i十十)for(j=0;j<n;j++)A[i][j]=i*j;2.写出底下算法的时间搀纯度:i=0;s=0;while(s<n){ i++;s+=i;}3.写出以下算法的时间搀纯度:for(i=0; i<m; i++)for(j=0 ; j<t; j++)c[i][j]=0;for(i=0;i<m;i++)for(j=o; j<t; j++)for(k=0;k<n;k++)c[i][j]+=a[i][k]*b[k][j];4.写出底下算法的时间搀纯度:i=1;while(i<=n)i=i*3;5.供底下函数中各条语句的频度战算法的时间搀纯度:prime(int n){int i=2;while ((n%i)!=0&&i<sqrt(n) )i++;if(i>sqrt(n) )printf(”%d is a prime number.\n”,n);elseprintf(”%d is not a prime number.\n”,n);}1. 该算法的时间搀纯度为:O(m×n).2. 该算法的时间搀纯度为:3. 该算法的时间搀纯度为:O(m×n×t).4. 该算法的时间搀纯度为:log3(n).5. 该算法的时间搀纯度为:6.将下列函数,按它们正在n→∝时的无贫大阶数,从小到大排序.n, n-n3+7n5, nlogn, 2n/2, n3, logn, n1/2+logn, (3/2)n, ,n!, n2+logn从小到大排列为:logn, n1/2+logn, n, nlogn, n2+logn,n3, n-n3+7n5, 2n/2, (3/2)n, n!,第二章线性表一、采用题1.正在一个少度为n的程序表中简略第i个元素(0<i<=n)时,需要背前移动( )个元素.A.n-i B.n-i+1 C.n-i-1D.i+12.从一个具备n个元素的线性表中查找其值等于x的结面时,正在查找乐成的情况下,需仄稳比较( )个元素结面.A.n/2 B.n C.(n-1)/2 D.(n +1)/23.对付一个具备n个元素的线性表,建坐其单链表的时间搀纯度为( ).A.O(n) B.O(1) C.O(n2) D.O(long2n)4.线性表采与链式保存时,其天面( ).A.必须是连绝的 B.一定是不连绝的C.部分天面必须连绝D.连绝与可均不妨5.正在一个具备n个结面的有序单链表中插人一个新的结面,使得链表仍旧有序,该算法的时间搀纯度是( ).A.O(long2n) B.O(l) C.O(n2)D.O (n)6.线性表是( ).A.一个有限序列,不妨为空B.一个有限序列,不不妨为空C.一个无限序列,不妨为空D.一个无限序列,不不妨为空7.正在一个少度为n的程序表中,背第i个位子(0一1<n+1)拔出一个新元素时,需要背后移动( )个元素.A.n-i B.n-i+1 C.n-i-1 D.i+18.如果某链表中最时常使用的支配是与第i个结面及其前驱,则采与( )保存办法最节省时间.A.单链表 B.单背链表 C.单循环链表D.程序表9.一个程序保存线性表的第一个元素的保存天面是90,每个元素的少度是2,则第6个元素的保存天面是().A.98 B.100 C.102 D.10610.正在程序保存的线性表(a1……a n)中,简略任性一个结面所需移动结面的仄稳移动次数为( )A.n B.n/2 C.(n-1)/2 D.(n+l)/2 11.正在线性表的下列保存结构中,读与第i个元素泯灭的时间最少的是().A.单链表 B.单链表 C.循环链表D.程序表12.若某链表中最时常使用的支配为正在末尾一个结面之后拔出一个结面战简略末尾一个结面,则采与()保存办法最节省时间.A.单链表 B.单链表 C.单循环链表D.戴头结面的单循环链表13.正在单链表中简略指针p所指结面的后继结面,则真止()支配.A.p->next=p->next->nextB.p->next=p->nextC.p=p->next->nextD.p=p->next; p->next=p->next->next14.正在一个单链表中,已知q所指结面是p所指结面的前驱,若正在q战p之间拔出s所指的结面,则真止()支配.A.s->next=p->next; p->next=s;B.q->next=s; s->next=p;C.p->next=s->next; s->next=p;D.p->next=s; s->next=q;15.正在单链表中附加头结面的手段是为了().A.包管单链表中起码有一个节面B.标记单链表中尾结面的位子C.便当运算的真止D.道明单链表是线性表的链式保存16.循环单链表的主要便宜是().A.不再需要头指针了B.从表中任性一个结面出收皆能扫描到所有链表C.已知某个结面的位子后,不妨简单找到它的前驱D.正在举止拔出、简略支配时,能更好天包管链表不竭启17.非空的循环单链表L的尾结面p谦脚().A.p->next=NULL B.p=NULL C.p->next=L D.p=L18.正在单背循环链表中,正在p指针所指背的结面前拔出一个指针q所指背的新结面,其建改指针的支配是( ).注:单背链表的结面结构为(prior,data,next). 供采用的问案:A.p->prior=q;q->next=p;p->prior->next=q; q->prior=q;B.p->prior=q;p->prior->next=q; q->next=p;q->prior=p->prior;C.q->next=p;q->prior=p->prior;p->prior->next=q; p->prior=q;D.q->prior=p->prior;q->next=p;p->prior=q;p->prior=q;19.正在单背链表保存结构中,简略p所指的结面时须建改指针().A.p->prior->next=p->next; p->next->prior=p->prior;B.p->prior=p->prior->prior; p->prior->next=p;(删p 的前趋)C.p->next->prior=p; p->next=p->next->next;D.p->next= p->prior->prior; p->prior= p->next->next;二、挖空题1.线性表(Linear List)是最简朴、最时常使用的一种数据结构.线性表中的元素存留着__________的相互闭系.(一对付一)2.线性表中有且仅有一个启初结面,表中有且仅有一个末端结面,除启初结面中,其余每个元素有且仅有一个__________,除末端结面中,其余每个元素有且仅有一个______.3.线性表是n(n>=0)个数据元素的________.其中n为数据元素的个数,定义为线性表的__________.当n为整时的表称为_________.4.所谓程序表(Sequential LISt)是线性表的__________,它是将线性表中的结面按其____________依次存搁正在内存中一组连绝的保存单元中,使线性表中相邻的结面存搁正在____________的保存单元中.5.单链表不央供逻辑上相邻的保存单元正在物理上也一定要相邻.它是调配一些_______的保存单元去保存线性表中的数据元素,那些保存单元不妨分别正在内存中的_________的位子上,它们正在物理上不妨是一片连绝的保存单元,也不妨是__________的.果此正在表示线性表那种数据结构时,必须正在保存线性表元素的共时,也保存线性表的.6.线性表的链式保存结构的每一个结面(Node)需要包罗二个部分:一部分用去存搁元素的数据疑息,称为结面的_________;另一部分用去存搁元素的指背间接后继元素的指针(即间接后继元素的天面疑息),称为________大概____________.7.线性链表的逻辑闭系是通过每个结面指针域中的指针去表示的.其逻辑程序战物理保存程序不再普遍,而是一种_________保存结构,又称为__________.8.如果将单链表末尾一个结面的指针域改为存搁链表中的头结面的天面值,那样便形成了______________.9.为了不妨赶快天查找到线性表元素的间接前驱,可正在每一个元素的结面中再减少一个指背其前驱的指针域,那样便形成了___________.10.单背链表某结面的指针P,它所指背结面的后继的前驱与前驱的后继皆是p_______.11.正在单链表中,简略指针P所指结面的后继结面的语句是____________.12.正在单循环链表中,简略指针P所指结面的语句序列是P->prior->next=p->next及__________.13.单链表是___________的链接保存表示.14.不妨使用___________表示树形结构.15.背一个少度为n的背量的第i个元素(l≤i≤n+1)之前插人一个元素时,需背后移动__________个元素. 16.简略一个少度为n的背量的第i个元素(l≤i≤n)时,需背前移动_______个元素.17.正在单链表中,正在指针P所指结面的后里插人一个结面S的语句序列是__________.18.正在单循环链表中,正在指针P所指结面前插人指针S 所指的结面,需真止语句_______.19.与出广义表A=((x,(a,b,c,d))中本子c的函数是_________.20.正在一个具备n个结面的有序单链表中插人一个新结面并使之仍旧有序的时间搀纯度为_______________. 21.写出戴头结面的单背循环链表L为空表的条件________________.22.线性表、栈战行列皆是_________________结构. 23.背栈中插人元素的支配是先移动栈_____________针,再存人元素.1. 一对付一2. 间接前驱、间接后继3. 有限序列、少度、空表4. 程序保存结构、逻辑程序、天面相邻5. 任性、任性、不连绝、逻辑闭系6. 数据域、指针域、链域7. 非程序、非程序映像8. 循环链表9. 单背链表10. 所指背的结面自己11. P->next=p->next->next12. P->next->prior=P->prior13. 线性表14. 单链表15. n-i+116. n-i17. S->next=P->next; P->next=S18. p->prior->next=S;s->prior=p->prior;s->next=p;p->prior=s;19. head(tail(tail((head(tail(head(A))))))20. O(n)21. (L==L->Next) && (L==L->Prior)22. 线性23. 顶三、推断题1.线性表采与链表保存时,结面战结面里里的保存空间不妨是不连绝的.(×)2.正在具备头结面的链式保存结构中,头指针指背链表中的第一个数据结面.(×)3.程序保存的线性表不不妨随机存与.(×)4.单链表不是一种随机存与结构.()5.程序保存结构线性表的拔出战简略运算所移动元素的个数与该元素的位子无闭.(×)6.程序保存结构是动背保存结构,链式保存结构是固态保存结构.(×)7.线性表的少度是线性表所占用的保存空间的大小.(×) 8.单循环链表中,任性一结面的后继指针均指背其逻辑后继.(×)9.线性表的惟一保存形式是链表.(×)1. 过得:链表保存中,结面之间不妨连绝也不妨不连绝,然而结面里里是连绝的.2. 过得:头指针指背头结面而不是数据结面.3. 过得:程序保存的线性表不妨随机存与.4. 精确.5. 过得.6. 过得:程序保存结构是固态保存结构,链式保存结构是动背保存结构.7. 过得:先止表的少度是线性表中结面的个数.8. 过得:注意末尾一个结面.9. 过得:也不妨有程序保存的形式.第三章栈战行列一、采用题l.一个栈的序列是:a,b,c,d,e,则栈的不可能输出的序列是().A.a,b,c,d,e B.d,e,c,b,a C.d,c,e,a,b D.e,d,c,b,a2.若一个栈的输人序列是1,2,3,…,n,输出序列的第一个元素是n,则第k个输出元素是().A.k B.n-k-1 C.n-k+1 D.不决定3.判决一个栈S(最多有n个元素)为空的条件是(). A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n4.判决一个栈S(最多有n个元素)为谦的条件是(). A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n5.背一个栈顶指针为top的不戴头结面的链栈中插人一个*S结面的时间,应当真止语句().A.top->next=S; B.S->next=top;top=S;C.S->next=top->next;top->next=S;D.S->next=top;top=S->next;6.背一个戴头结面、栈顶指针为top的链栈中插人一个*S 结面的时间,应当真止语句().A.top->next=S; B.S->next=top;top=S;C.S->next=top->next;top->next=S; D.S->next=top;top=S->next;7.判决一个行列Q(最多有n个元素)为空的条件是().A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =nC.Q->rear = = Q->front D.Q->rear +1= = Q->front 8.判决一个行列Q(最多有n个元素)为谦的条件是(). A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =n C.Q->rear = = Q->front D.Q->rear +1= = Q->front 9.判决一个循环行列Q(最多有n个元素)为空的条件是().A.Q->rear = = Q->front B.Q->rear = = Q->front+l C.Q->front= =(Q->rear +1)%n D.Q->front= =(Q->rear -1)%n10.判决一个循环行列Q(最多有n个元素)为谦的条件是().A.Q->rear = = Q->front B.Q->rear = = Q->front+lC.Q->front= =(Q->rear +1)%n D.Q->front= =(Q->rear -1)%n11.正在一个链行列中,假定front战rear分别为头指针战尾指针,则拔出一个结面*S的支配是().A.front=front->next B.S->next=rear;rear=S C.rear->next=S;rear=S D.S->next=front;front=S 12.正在一个链行列中,假定front战rear分别为头指针战尾指针,简略一个结面的支配是().A.front=front->next B.rear=rear->nextC.rear->next=front D.front->next=rear13.栈与行列皆是().A.链式保存的线性结构B.链式保存的非线性结构C.节制存与面的线性结构D.节制存与面的非线性结构14.若进栈序列为l,2,3,4,则()不可能是一个出栈序列.A.3,2,4,1 B.l,2,3,4 C.4,2,3,1 D.4,3,2,l15.正在办理估计机主机与挨印机之间速度不匹配问题时常常树坐一个挨印数据缓冲区,主机将要输出的数据依次写人该缓冲区,而挨印机则从该缓冲区中与走数据挨印.该缓冲区该当是一个()结构.A.堆栈B.行列 C.数组 D.线性表1. C2. C3. B4. D5. B6. C7. C8. A9. A 10. C11. C12. A 13. C 14. C 15. B二、挖空回1.栈(stack)是规定正在________一端举止插人大概简略支配的线性表.正在栈中,允许插人战简略支配的一端称为__________,而另一端称为_________.不含元素的栈称为_______.2.正在栈的运算中,栈的插人支配称为________大概________,栈的简略支配称为_________大概__________. 3.根据栈的定义,每一次进栈的元素皆正在本___________之上,并成为新的__________;每一次出栈的元素经常目前的_____________,果此末尾进栈的元素经常__________,所以栈也称为___________线性表,简称为____________表.4.栈是一种支配受到节制的线性表,是一种特殊的线性表,果此栈也有__________战_________________二种保存结构,分别称为______________战___5.当栈谦的时间,再举止人栈支配便会爆收____________,那种情况的溢出称为___________;当栈空的时间,如果再举止出栈支配,也会_____________,那种情况下的溢出称为__________________.6.栈的链式保存结构简称为____________,是一种__________________.7.人们凡是估计用到的表黑式皆被称为____________,那是由于那种算术表黑式的运算符被置于二个支配数中间. 8.估计机中常常使用___________,那是一种将运算符置于二个支配数后里的算术表黑式.那种表黑式是由波兰科教家开维奇提出的,果此又称为_____________9.行列(Queue)也是一种___________,然而它与栈分歧,行列中所有的插人均规定正在表的一端举止,而所有的简略则规定正在表的另一端举止.允许插人的一端称为_________,允许简略的一端称为_______________. 10.行列的个性是_________,果此行列又被称为_______________.的线性表,大概称为_________________表.11.行列的_________又称为__________,是用一组天面连绝的保存单元依次存搁行列中的元素.12.由于行列中的元素时常变更,对付于行列的简略战插人分别正在队头战队尾举止,果此需要树坐二个指针分别指背__________战__________,那二个指针又称为__________战_____________.13.循环程序行列(Circular Sequence Queue)时常简称为___________,它是将保存程序行列的保存天区瞅成是一个尾尾贯串的一个环,将要队尾战队尾元素对接起去产死一个环形表.尾尾贯串的状态是通过数教上的_________________去真止的.14.正在算法大概步调中,当一个函数间接调用自己大概通过一系列语句间接调用自己的时间,则称那个函数为,也称为____________.函数间接调用自己,则称为__________;当一个函数通过另一个函数去调用自己则称为_________________.15.正在循环行列中确定:当Q->rear= =Q->front的时间循环行列为___________,当(Q->rear+1)%MAXSIZE=front的时间循环行列为____________________.16.用链表办法表示的行列称为____________________. 17.已知栈的输人序列为1,2,3,…,n,输出序列为a1,a2,…,an,切合a2= =n的输出序列公有__________________.18.一个栈的输人序列是12345,则栈的输出序列为43512是________(挖是可大概).19.一个栈的输人序列是12345,则栈的输出序列为12345是_________(挖是可大概).20.设sq[1..maxsize]为一个程序保存的栈,变量top指示栈顶元素的位子,则做进栈支配的条件是______________.21.设sq[1..maxsize]为一个程序保存的栈,变量top指示栈顶元素的位子,如果把栈顶元素弹出并支到X中,则需真止语句______________.22.栈的个性是__________________.23.对付栈举止退栈时的支配是先与出元素,后移动_________.24.设s[1..max]为一个程序保存的栈,变量top指示栈顶位子,栈为谦的条件是____.25.设链栈的栈顶指针为top,则栈非空的条件是___________.26.已知循环行列用数组data[1...n]保存元素值,用f,r分别动做头尾指针,则目前元素个数为____________. 27.正在一个循环行列中,队尾指针指背队尾元素的________位子.(前一个大概后一个)28.行列中允许举止简略的一端称为_______________. 29.链行列本量上是一个共时戴有头指针战尾指针的单链表(1..n),尾指针指背该单链表的第___________个元素.30.设单背链表链列为lq,lq的头指针为lq.Front,尾指针为lq.Rear,则行列为空的条件是____________.31.从循环行列中简略一个元素,其支配是先与出一个元素,后移动____________32.行列中允许举止拔出的一端称为_________.1. 表尾、栈顶、栈底、空栈2. 进栈、进栈、退栈、出栈3. 栈顶元素、栈顶元素、栈顶元素、最先出栈、后进先出、LIFO4. 程序、链式、程序栈、链栈5. 溢出、上溢、溢出、下溢6. 链栈、特殊的单链表7. 中缀表黑式8. 后缀表黑式、波兰式9. 特殊的线性表、队尾、队头10. 进步先出、进步先出、FIFO11. 程序保存结构、程序行列12. 队头元素、队尾元素、队头指针、队尾指针13. 循环行列、与模运算14. 递归函数、自调用函数、间接递归调用、间接递归调用15. 空、谦16. 链行列17. n-118. 不可能的19. 大概的20. top!=maxsize21. x=sq[top]; top=top-122. 进步后出23. 栈顶指针24. top==max25. top!=nil26. (n+r-f)mod n27. 前一个28. 队尾29. n30. lq->front==lq->rear31. 栈顶指针32. 队尾三、推断题1.栈战行列皆是节制存与面的线性结构.()2.分歧的进栈战出栈推拢大概得到相共输出序列.()3.与消递归一定要用栈.()4.循环行列是程序保存结构.()5.循环行列不会爆收溢出.()6.循环行列谦的时间rear= =front.()7.正在对付链行列(戴头结面)搞出队支配时不会改变front指针的值.()1. 精确.2. 过得:分歧的进栈战出栈推拢得到分歧输出序列.3. 过得:某些情况如尾递归不妨变换为递推的形式.4. 精确.5. 过得:循环行列不会爆收假溢出.6. 过得.7. 精确.四、概括题1.设有4个元素A、B、C战D进栈,给出它们所有大概的出栈秩序.大概的出栈序列:(共14个)ABCD ABDC ACBD ACDB ADCBBACD BADC BCAD BCDA BDCACBAD CBDA CDBADCBA不可能的出栈序列:(共10个)ADBCBDACCABD CADB CDABDABC DACB DBAC DBCA DCAB习题四一、采用项l.空串与空格串().A.相共 B.不相共 C.大概相共 D.无法决定2.设有二个申S1与S2,供串S2正在S1中尾次出现位子的运算称做().A.对接 B.供子串 C.模式匹配 D.判子串3.串与一般的线性表相比较,它的特殊性体目前().A.程序的保存结构 B.链接的保存结构C.数据元素是一个字符 D.数据元素不妨任性4.设有串S=‘Computer’,则其子串的数目是().A.36 B.37 C.8 D.91. B2. C3. C4. B二、境空题1.串是由整个大概多个字符组成的____________.常常记做:s=“c1,c2,…,cn”(n=>0),其中,S称为________;串中的Ci(1<=i<=n)不妨是字母、数字字格大概其余字符.用单引号括起去的部分是_________.即串S 的真量.2.串中字符的个数称为串的________.3.不含有所有字符的串称为_________,它的少度为___________.4.由一个大概多个空格形成的串称为____________,它的少度为___________.5.串中任性多个连绝字符组成的子序列称为该串的____________;包罗___________的串称为主串.6.字符正在序列中的序号称为该字符正在串中的________________.7.二个字符串相等是指二个字符串的,也便是道那二个字符串不然而__________,而且对付应位子上的字符也.8.二个串的比较本量上是_________的比较.二个串从第一个位子上的字符启初举止比较,当第一次出现_____________大的串为大,若比较历程中出现一个字符串中断的情况,则另一个串为_________________.9.串的_______________便是把串所包罗的字符序列,依次存人连绝的保存单元中去.10.有些估计机系统中为了充分利用保存空间,允许一个保存单元不妨存搁多个字符,串的那种保存办法是一种__________________.11.串的______________是以保存单元为保存单位,一个保存单元中只存搁__________.正在那种情况下,纵然一个保存单元能存搁多个字符,那时间也只存搁________________.12.串正在非紧缩办法下,串少度的保存是隐式的,__________即串的少度.13.一些估计机是以字节为存与单位,恰好一个字符占用一个字节,自然产死了每个保存单元存搁__________的调配办法,那种办法便是一种__________.那种办法普遍不需要存搁____________的保存单元,而需要以步调中各变量值所、的字符为中断符.14.串的链式保存结构是将保存天区别成一系列大小相共的结面,每个结面有二个乡:____________域战________域.其中___________域用于存搁数据,。
数据结构习题集及参考答案(重要)

第一章绪论一、填空题1.数据是描述客观事物的数、字符以及所有能输入到计算机且能够被计算机程序加工处理的符号集合。
_________是数据的基本单位;___________是数据的最小单位。
通常被计算机加工处理的数据不是孤立无关的,而是彼此之间存在着某种联系,将这种数据间的联系称为________。
2.数据结构进行形式化定义时,可以从逻辑上认为数据结构DS是_________的集合D和D上_________的集合R所构成的二元组:DS=(D,R)。
3.已知某数据结构的二元组形式表示为:A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>}。
则此数据结构属于_____________结构。
4.一个算法的时间复杂度通常用问题规模大小的函数来表示,当一个算法的时间复杂度与问题规模n大小无关时,则表示为__________;成正比关系时,则表示为___________;成对数关系时,则表示为___________;成平方关系时,则表示为__________。
5.数据结构的逻辑结构包括_____________、树型结构和图型结构三种类型,其中树型结构和图型结构合称为_____________;数据结构的存储结构主要包括____________和____________两种类型。
6.线性结构的特点是:第一个结点_______前驱结点,其余结点有且仅有_______个前驱结点;最后一个结点_______后继结点,其余每个结点有且仅有_______个后继结点。
7.树型结构的特点是:根结点没有________结点,其余每个结点有且仅有________个前驱结点;叶子结点_________后继结点,其余结点可以有_________个后继结点。
数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。
5. 哈希表的冲突可以通过______方法来解决。
答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。
答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。
然后对这两个子数组递归地应用快速排序算法。
7. 解释什么是递归,并给出一个递归函数的例子。
答案:递归是一种在函数中调用自身的编程技术。
递归函数必须有一个明确的终止条件,以避免无限递归。
例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。
答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构试题库及答案

数据结构试题库及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()来存储。
A. 链表B. 栈C. 队列D. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。
A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。
A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。
A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。
A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。
答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。
答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。
答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。
数据结构习题集(包含全部答案)

数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系C.运算D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B .紧凑结构和非紧凑结构C.线性结构和非线性结构 D .逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确C.无法确定D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性5.算法的时间复杂度取决于()A.问题的规模 B 待处理数据的初态 C. A 和 B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C .要满足五个基本特性D.A和C.7.下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B.链表 C.哈希表 D.栈9.在下面的程序段中,对 x 的赋值语句的频度为()for ( i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;2nA. 2n B.n D.logC.n210.以下数据结构中,()是非线性数据结构A.树B.字符串 C .队列D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C.二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B.哈希表 C.有序表 D.单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理, ________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的 ______,有些情况下也称为元素、结点、顶点、记录等。
数据结构习题集和答案

数据结构习题集和答案第1章绪论1、填空题1.常见的数据结构有集合,_线性__结构,__树形___结构,__图形__结构等四种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
2、选择题1. 算法的计算量的大小称为计算的(B)。
A.效率B. 复杂性C. 现实性D. 难度2. 算法的时间复杂度取决于(C)A.问题的规模 B. 待处理数据的初态 C. A和B D. 以上都不对3.计算机算法指的是(1)(c),它必须具备(2)(B)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4. 下面关于算法说法错误的是(D)A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的3、应用题1、给出以下算法的时间复杂度.void fun(int n){int i=1,k=100;while(i<n)< bdsfid="88" p=""></n)<>{k=k+1;i=i+2;}}时间复杂度为____O(n)_____。
2、给出以下算法的时间复杂度.void fun2(int n){int i=1,k=100;while(i<n)< bdsfid="100" p=""></n)<>{i=i*10;k=k+1;}}时间复杂度为____O(log n)___________。
数据结构试题库及答案

数据结构试题库及答案一、选择题1. 在数据结构中,线性结构的特点是:A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系答案:A2. 栈(Stack)是一种特殊的线性表,其特点是:A. 只能在一端进行插入和删除操作B. 可以在两端进行插入和删除操作C. 只能在一端进行插入操作,另一端进行删除操作D. 可以在任意位置进行插入和删除操作答案:A3. 在二叉树中,度为1的节点数目为2,度为0的节点数目也为2,该二叉树的节点总数是:A. 5B. 6C. 7D. 8答案:B二、简答题1. 请简述什么是哈希表,并说明其主要优点。
答案:哈希表是一种通过哈希函数将键映射到表中一个位置来访问记录的数据结构。
其主要优点包括:平均情况下,查找、插入和删除操作的时间复杂度为O(1),即常数时间内完成操作;空间效率高,能够存储大量数据。
2. 描述图的深度优先搜索(DFS)算法的基本思想。
答案:深度优先搜索算法的基本思想是从一个顶点开始,尽可能深地搜索图的分支。
搜索过程中使用一个栈来保存路径上的顶点。
当搜索到一个顶点时,先访问该顶点,然后依次搜索其所有未被访问过的邻接顶点。
如果当前顶点的所有邻接顶点都被访问过,则回溯到上一个顶点,继续搜索其他邻接顶点。
三、应用题1. 给定一个无向图,使用邻接表表示,请编写一个算法找出图中的所有连通分量。
答案:首先,创建一个访问过的顶点集合。
然后,从图中任意一个未被访问的顶点开始,执行深度优先搜索(DFS)。
每次DFS完成后,就找到了一个连通分量。
重复这个过程,直到所有顶点都被访问过,即可找到图中的所有连通分量。
2. 假设有一个数组,需要频繁地进行查找、插入和删除操作,请设计一个适合这种场景的数据结构,并说明其优势。
答案:对于这种场景,可以使用平衡二叉搜索树(如AVL树或红黑树)。
这些数据结构可以保证在最坏情况下,查找、插入和删除操作的时间复杂度为O(log n)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构习题集(包含全部答案)数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
(基本单位)3、________是数据不可分割的最小单元,是具有独立含义的最小标识单位。
例如构成一个数据元素的字段、域、属性等都可称之为________。
(数据项、数据项)4、数据的逻辑结构是指数据之间的________。
逻辑结构是从________上描述数据,它与具体存储无关,是独立于计算机的。
因此逻辑结构可以看作是从具体问题抽象出来的______________。
(逻辑关系、逻辑关系、数学模型)5、数据的________指数据元素及其关系在计算机存储器内的表示。
_________是逻辑结构在计算机里的实现,也称之为映像。
(存储结构、存储结构)6、数据逻辑结构可以分为四种基本的类型,_______结构中的元素除了仅仅只是同属于一个_________________,不存在什么关系。
(集合、集合)7、数据逻辑结构的四种基本类型中,________中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
(线性结构) 8、数据逻辑结构的四种基本类型中,____________中的元素是一种一对多的关系。
(树形结构)9、图型结构或图状结构是一种________的关系。
在这种逻辑结构中,所有结点均可以有多个前驱和多个后继。
(多对多)10、有时也可将树型结构、集合和图型结构称为__________,这样数据的逻辑结构就可以分为__________和________两大类。
(非线性结构、线性结构、非线性机构)11、____________方式是指逻辑上相邻的结点被存储到物理上也相邻的存储单元中。
这种存储结构只存储结点的数值,不存储结点之间的关系,结点之间的关系是通过存储单元的相邻关系隐含的表示出来的。
(顺序存储)12、_______方式是种存储方法,不要求逻辑上相邻的结点在物理上也相邻,即数据元素可以存储在任意的位置上。
(链式存储)13、_________方式是利用结点关键字的值直接计算出该结点存储单元地址,然后将结点按某种方式存人该地址的一种方法。
(散列存储或哈希存储)14、所谓算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的其中每个指令表示一个或多个操作。
算法的五个重要特性是__________、__________、__________、__________和__________。
(有限序列、有穷性、确定性、可行性、输入、输出)15、算法的_______性是指算法必须能够在执行有限个步骤之后结束,并且每个步骤都必须在有穷的时间内完成。
(有穷性)16、算法的________性是指算法中的每一个步骤必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。
并且,在任何条件下,算法只能有惟一的一条执行路径,即只要输人是相同的就只能得到____________的输出结果。
(确定性、相同)17、算法的____________性又称为算法的能行性,是指算法中描述的操作是可以通过已经实现的基本运算执行有限次来实现。
(可行性)18、判断一个算法的好坏主要以下几个标准:________、________、________、_________。
(正确性、可读性、健壮性、时间效率和空间效率)19、算法分析是对一种算法所消耗的计算机资源的估算,其中包括计算机_________的长短和___________________的大小。
(运行时间、所占据空间)20、空间复杂度(SPace ComPlexity)也是度量一个算法好坏的标准,它所描述的是算法在运行过程中所占用_____________的大小。
(存储空间)三、判断题1.顺序存储方式只能用于存储线性结构。
(×)2.数据元素是数据的最小单位。
(×)3.算法的优劣与算法描述语言无关,但与所用计算机有关。
(×)4.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
()5.数据的逻辑结构是指各元素之间的逻辑关系,是根据用户需要而建立的。
6.数据结构、数据元素、数据项在计算机中的映像分别称为存储结构、结点、数据域。
()7.数据的物理结构是指数据在计算机中实际的存储形式。
()8.具有存取任一元素的时间相等这一特点的存储结构称为随机存取结构。
9.算法实际上就是程序,程序也一定是算法。
(×)10. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。
(×)11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
(×)12. 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
()13. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。
(×)14. 判断一个算法的好坏主要以下几个标准:正确性、有穷性、健壮性和可行性。
(×)15.算法的时间复杂度T(n)=O(f(n))表示随问题规模n的增大,算法执行时间的增长率与函数f(n)的增长率相同。
()四、综合题1.用大O形式表示下面算法的时间复杂度:for(i=0;i<m;i十十)for(j=0;j<n;j++)A[i][j]=i*j;2.写出下面算法的时间复杂度:i=0;s=0;while(s<n){ i++;s+=i;}3.写出以下算法的时间复杂度:for(i=0; i<m; i++)for(j=0 ; j<t; j++)c[i][j]=0;for(i=0;i<m;i++)for(j=o; j<t; j++)for(k=0;k<n;k++)c[i][j]+=a[i][k]*b[k][j];4.写出下面算法的时间复杂度:i=1;while(i<=n)i=i*3;5.求下面函数中各条语句的频度和算法的时间复杂度:prime(int n){int i=2;while ((n%i)!=0&&i<sqrt(n) )i++;if(i>sqrt(n) )printf(”%d is a prime number.\n”,n);elseprintf(”%d is not a prime number.\n”,n);}1. 该算法的时间复杂度为:O(m×n)。
2. 该算法的时间复杂度为:3. 该算法的时间复杂度为:O(m×n×t)。
(n)。
4. 该算法的时间复杂度为:log3。
5. 该算法的时间复杂度为:n, n-n3+7n5, nlogn, 2n/2, n3, logn, n1/2+logn, (3/2)n, ,n!, n2+logn 从小到大排列为:logn, n1/2+logn, n, nlogn, n2+logn,n3, n-n3+7n5, 2n/2, (3/2)n, n!,第二章线性表一、选择题1.在一个长度为n的顺序表中删除第i个元素(0<i<=n)时,需要向前移动( )个元素。
A.n-i B.n-i+1 C.n-i-1 D.i+1 2.从一个具有n个元素的线性表中查找其值等于x的结点时,在查找成功的情况下,需平均比较( )个元素结点。
A.n/2 B.n C.(n-1)/2 D.(n +1)/2 3.对一个具有n个元素的线性表,建立其单链表的时间复杂度为( )。
A.O(n) B.O(1) C.O(n2) D.O(long2n) 4.线性表采用链式存储时,其地址( )。
A.必须是连续的 B.一定是不连续的C.部分地址必须连续D.连续与否均可以5.在一个具有n个结点的有序单链表中插人一个新的结点,使得链表仍然有序,该算法的时间复杂度是( )。
A.O(long2n) B.O(l) C.O(n2)D.O(n)6.线性表是( )。
A.一个有限序列,可以为空 B.一个有限序列,不可以为空 C.一个无限序列,可以为空 D.一个无限序列,不可以为空7.在一个长度为n的顺序表中,向第i个位置(0一1<n+1)插入一个新元素时,需要向后移动( )个元素。
A.n-i B.n-i+1 C.n-i-1 D.i+18.如果某链表中最常用的操作是取第i个结点及其前驱,则采用( )存储方式最节省时间。
A.单链表 B.双向链表 C.单循环链表D.顺序表9.一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是()。
A.98 B.100 C.102 D.10610.在顺序存储的线性表(a1……an)中,删除任意一个结点所需移动结点的平均移动次数为( )A.n B.n/2 C.(n-1)/2 D.(n+l)/2 11.在线性表的下列存储结构中,读取第i个元素花费的时间最少的是()。