数据结构1800例题与答案第一章绪论一、选择题(每小题2分)1.算法的计算量的大小称为计算的(B)。【北京邮电大学2000二、3(20/8分)】A.效率B.复杂性C.现实性D.难度2.算法的时间复杂度取决于(C)。【中科院计算所1998二、1(2分)】A.问题的规模B.待处理数据的初态C.A和BD.都不是3.计算机算法指的是(①C),它必须具备(②B)这三个特性。①A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法②A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性【南京理工大学1999一、1(2分)【武汉交通科技大学1996一、1(4分)】4.一个算法应该是(B)。【中山大学1998二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.5.下面关于算法说法错误的是(D)【南京理工大学2000一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错误的6.下面说法错误的是(C)【南京理工大学2000一、2(1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1)B.(1),(2)C.(1),(4)D.(3)7.从逻辑上可以把数据结构分为(C)两大类。【武汉交通科技大学1996一、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是(D)。【北方交通大学2000二、1(2分)】A.循环队列B.链表C.哈希表D.栈9.以下数据结构中,哪一个是线性结构(D)?【北方交通大学2001一、1(2分)】A.广义表B.二叉树C.稀疏矩阵D.串10.以下那一个术语与数据的存储结构无关?(A)【北方交通大学2001一、2(2分)】A.栈B.哈希表C.线索树D.双向链表11.在下面的程序段中,对x的赋值语句的频度为(C)【北京工商大学2001一、10(3分)】FORi:=1TOnDOFORj:=1TOnDOx:=x+1;A.O(2n)B.O(n)C.O(n2)D.O(log2n)12.程序段FORi:=n-1DOWNTO1DOFORj:=1TOiDOIFA[j]A[j+1]THENA[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是(D)A.O(n)B.O(nlogn)C.O(n3)D.O(n2)【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型(D)【中山大学1999一、3(1分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,(A)是非线性数据结构【中山大学1999一、4】A.树B.字符串C.队D.栈15.下列数据中,(C)是非线性数据结构。【北京理工大学2001六、1(2分)】A.栈B.队列C.完全二叉树D.堆16.连续存储设计时,存储单元的地址(A)。【中山大学1999一、1(1分)】A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续17.以下属于逻辑结构的是(C)。【西安电子科技大学应用2001一、1】A.顺序表B.哈希表C.有序表D.单链表二、判断题1.数据元素是数据的最小单位。(2)【北京邮电大学1998一、1(2分)】【青岛大学2000一、1(1分)】【上海交通大学1998一、1】【山东师范大学2001一、1(2分)】2.记录是数据处理的最小单位。(2)【上海海运学院1998一、5(1分)】3.数据的逻辑结构是指数据的各数据项之间的逻辑关系;(2)【北京邮电大学2002一、1(1分)】4.算法的优劣与算法描述语言无关,但与所用计算机有关。(2)【大连海事大学2001一、10(1分)】5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。(1)【大连海事大学2001一、11(1分)】6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。(2)【西安交通大学1996二、7(3分)】7.程序一定是算法。(2)【燕山大学1998二、2(2分)并改错】8.数据的物理结构是指数据在计算机内的实际存储形式。(1)【山东师范大学2001一、2(2分)】9.数据结构的抽象操作的定义与具体实现有关。(2)【华南理工大学2002一、1(1分)】10.在顺序存储结构中,有时也存储数据结构中元素之间的关系。(2)【华南理工大学2002一、2(1分)】11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(2)【上海海运学院1999一、1(1分)】12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。(1)【华南理工大学2002一、5(1分)】13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.(2)【上海海运学院1998一、1(1分)】三、填空1.数据的物理结构包括数据元素的表示和数据元素间关系的表示。【燕山大学1998一、1(2分)】2.对于给定的n个元素,可以构造出的逻辑结构有集合,线性结构,树形结构,__图状结构或网状结构_四种。【中科院计算所1999二、1(4分)】3.数据的逻辑结构是指数据的组织形式,即数据元素之间逻辑关系的总体。而逻辑关系是指数据元素之间的关联方式或程“邻接关系”【北京邮电大学2001二、1(2分)】4.一个数据结构在计算机中表示(又称映像)称为存储结构。【华中理工大学2000一、1(1分)】5.抽象数据类型的定义仅取决于它的一组_逻辑特性_,而与_在计算机内部如何表示和实现_无关,即不论其内部结构如何变化,只要它的_数学特性不变,都不影响其外部使用。【山东大学2001三、3(2分)】6.数据结构中评价算法的两个重要指标是算法的时间复杂度和空间复杂度【北京理工大学2001七、1(2分)】7.数据结构是研讨数据的_逻辑结构_和_物理结构_,以及它们之间的相互关系,并对与这种结构定义相应的_操作(运算)_,设计出相应的算法_。【西安电子科技大学1998二、2(3分)】8.一个算法具有5个特性:有穷性、确定性、可行性,有零个或多个输入、有一个或多个输出。【华中理工大学2000一、2(5分)】【燕山大学1998一、2(5分)】9.已知如下程序段FORi:=nDOWNTO1DO{语句1}BEGINx:=x+1;{语句2}FORj:=nDOWNTOiDO{语句3}y:=y+1;{语句4}END;语句1执行的频度为n+1;语句2执行的频度为n;语句3执行的频度为n(n+3)/2;语句4执行的频度为n(n+1)/2。【北方交通大学1999二、4(5分)】10.在下面的程序段中,对x的赋值语句的频度为_1+(1+2++(1+2+3)+…+(1+2+3+…+n)=n(n+1)(n+2)/60(n的立方)____(表示为n的函数)FORi:=1TOnDOFORj:=1TOiDOFORk:=1TOjDOx:=x+delta;【北京工业大学1999一、6(2分)】11.下面程序段中带下划线的语句的执行次数的数量级是:【合肥工业大学1999三、1(2分)】i:=1;WHILEinDOi:=i*2;12.下面程序段中带下划线的语句的执行次数的数量级是()。【合肥工业大学2000三、1(2分)】i:=1;WHILEinBEGINFORj:=1TOnDOx:=x+1;i:=i*2END;13.下面程序段中带有下划线的语句的执行次数的数量级是()【合肥工业大学2001三、1(2分)】i:=n*nWHILEi1DOi:=idiv2;14.计算机执行下面的语句时,语句s的执行次数为_______。【南京理工大学2000二、1(1.5分)】FOR(i=l;in-l;i++)FOR(j=n;j=i;j--)s;15.下面程序段的时间复杂度为________。(n1)sum=1;for(i=0;sumn;i++)sum+=1;【南京理工大学2001二、1(2分)】16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。①以下是该函数的程序段,请将未完成的部分填入,使之完整intf(m,n)intm,n;{if(m==1)return(1);if(n==1){return(2);}if(mn){returnf(m,m);}if(m==n){return1+(3);}returnf(m.n-1)+f(m-n,(4));}②执行程序,f(6,4)=。【中科院软件所1997二、1(9分)】17.在有n个选手参加的单循环赛中,总共将进行______场比赛。【合肥工业大学1999三、8(2分)】四、应用题1.数据结构是一门研究什么内容的学科?【燕山大学1999二、1(4分)】2.数据元素之间的关系在计算机中有几种表示方法?各有什么特点?【燕山大学1999二、2(4分)】3.数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?【北京邮电大学1994一(8分)】4.回答问题(每题2分)【山东工业大学1997一(8分)】(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗?举例说明之。(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。这样说法对吗?举例说明之。(4)评价各种不同数据结构的标准是什么?5.评价一个好的算法,您是从哪几方面来考虑的?【大连海事大学1996二、3(2分)】【中山大学1998三、1(5分)】6.解释和比较以下各组概念【华南师范大学2000一(10分)】(1)抽象数据类型及数据类型(2)数据结构、逻辑结构、存储结构(3)抽象数据类型【哈尔滨工业大学2000一、1(3分)】(4)算法的时间复杂性【河海大学1998一、2(3分)】(5)算法【吉林工业大学1999一、1(2分)】(6)频度【吉林工业大学1999一、2(2分)】7.根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?【北京科技大学1998一、1】【同济大学1998】8.对于一个数据结构,一般包括哪三个方面的讨论?【北京科技大学1999一、1(2分)】9.当你为解决某一问题而选择数据结构时,应从哪些方面考虑?【西安电子北京科技大学2000】10.若将数据结构定义为一个二元组(D,R),说明符号D,R应分别表示什么?【北京科技大学2001一、1(2分)】11.数据结构与数据类型有什么区别?【哈尔滨工业大学2001三、1(3分)】12.数据的存储结构由哪四种基本的存储方法实现?【山东科技大学2001一、1(4分)】13.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,写出这些结构?【山东师范大学1996二、2(2分)】14.运算是数据结构的一个重要方面。试举一例,说明两个数据结构的逻辑结构和存储方式完全相同,只是对于运算的定义不同。因而两个结构具有显著不同的特性,是两个不同的结构。【北京大学1998一、1(5分)】15.在编制管理通讯录的程序时,什么样的数据结构合适?为什么?【长沙铁道学院1998四、3(6分)】16.试举一例,说明对相同的逻辑结构,同一种运算在不同的存储方式下实现,其运算效率不同。【北京理工大学2000三、1(4.5分)】17.有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为Tl=O(2n),A2的