数据结构课后练习题汇编.pdf
《数据结构课后练习题汇编.pdf》由会员分享,可在线阅读,更多相关《数据结构课后练习题汇编.pdf(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课后练习题第一章绪论-、选择题1、数据结构被形式定义为(D,S),其 中 口 是()的有限集合,S 是 D 上 的()有限集合。A、算 法 B、数 据 元 素 C、数 据 操 作 D、逻 辑 关 系 E、操 作 F、映 象 G、存 储 H、关系2、数据结构是一门研究非数值计算的程序设计问题中计算机的(1)以及它们之间的()和运算的学科。(1)A、操作对象 B、计算方法 C、逻辑存储 D、数据映象(2)A、结构 B、关系 C、运算 D、算法3、算法分析的目的是(),算法分析的二个主要方面是(A、给出数据结构的合理性 B、研究算法中输入输出的关系C、空间复杂性和时间复杂性D、分析算法的效率
2、以求改进E、正确性和简明性F、分析算法的易懂性和文档性4、在数据结构中,从逻辑上可以把数据结构分成()。A、动态和静态结构B、紧凑接和非紧凑结构C、线性与非线性结构D、内部结构和外部结构5、计算机算法指的是(),它必具备输入、输 出 和()5 个特性。A、计 算 方 法 B、排 序 方 法 C、解决问题的有限运算序列D、可行性、可移植性和可扩充性E、可行性、确定性和有穷性6、线性表的顺序存储结构是一种()的存储结构,线性表的链式存储结构是 种()A、随 机 存 取 B、顺 序 存 取 C、索引存取 D、散列存取7、算法的时间复杂度取决于()A、问 题 的 规 模 B、待处理数据的初态C、问题的
3、规模和待处理数据的初态8、线性表若采用链表存储结构时,要求内存中可用存储单元的地址()A、必须是连续的 B、部分地址必须是连续的C、一定是不连续的 D、连续不连续都可以9、在以下的叙述中,正确的是()A、线性表的线性存储结构优于链式存储结构B、二维数组是它的每个数据元素为一个线性表的线性表C、栈的操作方式是先进先出D、队列的操作方式是先进后出10、根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式。以下解释错误的是()A、集合中任何两个结点之间都有逻辑关系但组织形式松散B、线性结构中结点按逻辑关系依次排列形成一条“锁链”C、树形结构具有分支、层次特性,其形态有点
4、像自然界中的树D、图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接11、以下说法正确的是()A、数据元素是数据的最小单位B、数据项是数据的基本单位C、数据结构是带有结构的各数据项的集合D、数据结构是带有结构的数据元素的集合二、填空题1、数据逻辑结构包括()四种类型,树型和图型结构合称()。2、对于给定的n个元素,可以构造出的逻辑结构有()、()、()和()四种。3、算法的五个重要特性是()。4、评价算法的性能从利用计算机资源角度看主要从()方面进行分析。5、线性结构中元素之间存在()关系,树型结构中元素之间存在()关系,图型结构中元素之间存 在()关系。6、下面程序段的时间复杂度
5、是()。i=s=O;w h i l e(s n)i+;s+;7、下面程序段的时间复杂度是()。s=0;f o r(I=0;k n;I+)f o r(j=0;j m;j+)s+=a i j;8、所 谓 数 据 的 逻 辑 结 构 指 的 是 数 据 元 素 之 间 的。9、数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容。1 0、在线性结构中,开始结点 前驱结点,其余每个结点有且只有一个结点。1 1、在树形结构中,根 结 点 只 有,根结点无前驱,其余每个结点有且只有 前驱结点;叶子结点没有 结点,其 余 每 个 结 点 的 后 继 结 点 可 以。1 2、在图形结构
6、中,每 个 结 点 的 前 驱 结 点 和 后 继 结 点 可 以 有。1 3、存储结构是逻辑结构的 实现。1 4、从数据结构的观点看,通常所说的数据”应分成三个不同的层次,即、和1 5、根据需要,数 据 元 素 又 被 称 为、或。1 6、通常,存 储 结 点 之 间 可 以 有、四种关联方式,称为四种基本存储方式。1 7、通常从、等几方面评价算法的(包括程序)的质量。1 8、一 个算法的时空性能是指该算法的 和,前者是算法包含的.后 者 是 算 法 需 要 的。1 9、在一般情况下,一个算法的时间复杂性是 的函数。2 0、常见时间复杂性的量级有:常数阶0()、对数阶0()、线性阶0 ()、
7、平方阶0()、和指数阶0()。通常认为,具有指数阶量级的算法是 的。2 1、数据结构的基本任务是数据结构的 和。2 2、数据对象是性质相同的 的集合。2 3、抽象数据类型是指一个 以及定义在该模型上的一组操作。三、判断题1 .数据元素是数据的最小单位。2 .数据结构是带有结构的数据元素的集合。3 .数据结构,数据元素,数据项在计算机中的映象分别称为存储结构,结点,数据域。4.数据项是数据的基本单位。5 .数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。6 .数据的物理结构是数据在计算机中实际的存储形式。7 .算法和程序没有区别,所以在数据结构中二者是通用的。8 .顺序存储结
8、构属于静态结构,链式存储结构属于动态结构。四、计算应用题1、设n为正正数。确定下列各程序段中前置以记号 的语句的频度。(1)I=l;k=0;While(In-l)k+=10*I;1+;k=0;for(I=l;I=n;I+)for(j=I;j=n;j+)k+;(2)I=l;j=O;While(I+jj)j+;else 1+;2、写出下面算法中带标号语句的频度。Void perm(int a,k,n)int xj;(1)if(k=n)(2)for(I=1 ;I=n;I+)(3)printf(d”,aI);else(4)for(I=k;I=n;I+)(5)aI+=I*I;(6)perm(a,k+l,
9、n);执行函数调用语句perm(a,l,n)3、指出下列两个算法的时间复杂度。(1)int sum 1 (int n)int p=l,sum=0,I;for(I=1 ;I=n;I+)p*=I;sum+=p;return(sum);(2)int sum2(int n)int sum=0,I,j;for(I=l;I=n;I+)p=1 ;for(j=1 ;j=I;j+)p*=j;sum+=p;returm(sum);4、有下列几种用二元组表示的数据结构,画出它们对应的逻辑图形表示,并指出它们属于哪种结构。(1)A=(K,R),其 中:K=a,b,c,d,e,f,g,h R=(r)r=,(2)B=(K
10、,R)淇 中:K=a,b,c,d,e,f,g,h R=(r)r=,(3)C=(K,R),其中:k=1,2,345,6 R=r r=(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)(4)D=(K.R),K=48,25,64,57,82,36,75),R=rl,r2rl=,r2=,5、设有如图所示的逻辑结构图,给出它的逻辑结构。KI6、简述下列术语:数据,数据元素,数据结构,数据对象。7、逻辑结构与存储结构是什么关系?8、将 数 量 级 n,n2,n nlog2n,log2n,2n,品,n!,(2/3),n2)按增长率进行排列。五、算法设计题1.已知输
11、入x,y,z三个不相等的整数,设计一个算法,使得这三个数按从大到小输出,并考虑所用算法的比较次数和元素移动次数。2.编写在输入10个数中找出最小或最大的数的算法。3.在数组An中查找值为k 的元素,若找到则输出其位置i(lWiWn),否则输出0 作为标志。设计求解此问题的类C 语言算法,并分析其最坏情况时间复杂度。第二章线性表练习题一、选择题1、表长为N 的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为(),删除一个元素需要移动的元素个数为()。A.(N-l)/2 B.N C.N+l D.N-l E.N/2 F.(N+l)/2 G(N-2)/22、线
12、性表是具有N 个()的有限序列。A、表 元 素 B、字 符 C、数据元素 D、数据项 E、信息3、”线性表的逻辑顺序和物理顺序总是一致的。”这个结论是()。A、正 确 的 B、错误的 C、不一定,与具体结构有关。4、线性表采用链式存储结构时,要求内存中可用存储单元的地址()oA、必须是连续的 B、部分地址必须是连续的 C、一定是不连续的 D、连续或不连续都可以。5、带头结点的单链表为空的判定条件是()。A、head=NULL B、head-next=NULL C head-next=head D、head!=NULL6、不带头结点的单链表head为空的判定条件是()。A、head=NULL B
13、、head-next=NULL C、head-next=head D、head!=NULL7、非空的循环单链表head的尾结点P 满 足()。A、P-NEXT=NULL B、p=NULL C p-next=head D p=head8、在一个具有n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()。A、0(1)B、0(n)C、0(n2)D、O(nlog2n)9、在一个单链表中,若删除P 所指结点的后继结点,则 执 行()。A、p-next=p-next-next B、p=p-next;p-next=p-next-next C、p-next=p-next;D、p=p-next-ne
14、xt;10、在一个单链表中,若在P 所指结点之后插入S 所指结点,则 执 行()。A、s-next=p;p-next=s;B、s-next=p-next;p-next=s;C、s-next=p-next;p=s;D、p-next=s;s-next=p;11、在一个单链表中,已知q 是 p 的前趋结点,若 q 和 p 之间插入结点s,则 执 行()。A、s-next=p-next;p-next=s;B、p-next=s-next;s-next=p;C、q-next=s;s-next=p;D、p-next=s;s-next=q;12、假设双链表结点的类型如下:typedef struct link
15、nodeint data;/数据域struct linknode*llink;/指向前趋结点的指针域struct linknode*rlink;/指向后继结点的指针域bnode现将一个q 所指新结点作为非空双向链表中的p 所指结点的前趋结点插入到该双链表中,能iE确完成此要求的语句段是()。A、q-rlink=p;q-llink=p-llink;p-llink=q;p-llink-rlink=q;B、p-Ilink=q;q-rlink=p;p-llink-rlink=q;q-llink=p-llinkC、q-llink=p-rlink;q-rlink=p;p-llink-rlink=q;p-l
16、link=q;D、以上都不对1 3、如上题结点结构,如在此非空循环双向链表的结点p 之后插入结点s 的操作序列是()oA、p-rlink=s;s-llink=p;p-rlink-llink=s;s-rlink=p-rlink;B、p-rlink-s;p-rlink-llink=s;s-llink=p;s-rlink=p-rlink;C、s-llink=p;s-rlink=p-rlink;p-rlink=s;p-rlink-llink=s;D、s-llink=p;s-rlink=p-rlink;p-rlink-llink=s;p-rlink=s;14、在一个长度为n 的单链表上,设有头和尾两个指
17、针,执 行()操作与链表的长度无关。A、删除单链表中的第一个元素 B、删除单链表中最后一个元素 C、在单链表第一个元素前插入一个新元素 D、在单链表最后个元素后插入一个新元素15、线性结构中的一个结点代表一个()A、数据元素 B、数据项 C、数据 D、数据结构16、非空线性表L=(ai,a2,a,,an),下列说法正确的是()A、每个元素都有一个直接前驱和直接后继B、线性表中至少要有一个元素C、表中诸元素的排列顺序必须是由小到大或由大到小的D、除第一个元素和最后一个元素外其余每个元素都有一个且仅有一个直接前驱和直接后继17、顺序表是线性表的()A、链式存储结构 B、顺序存储结构 C、索引存储结
18、构 D、散列存储结构18、对于顺序表,以下说法错误的是()A、顺序表是用-维数组实现的线性表,数组的下标可以看成是元素的绝对地址B、顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列C、顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻D、顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中19、对顺序表上的插入、删除算法的时间复杂性分析来说,通 常 以()为标准操作。A、插入操作 B、结点移动 C、算术表达式 D、删除操作20、对于顺序表的优缺点,以下说法错误的是()A、无需为表示结点间的逻辑关系而增加额外的存储空间B、可以方便地随机存取表中的任一结点C、插入和删
19、除运算较方便D、山于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配)21、若某线性表中最常用的操作是取第i 个元素和找第i 个元素的前趋元素,则 采 用()存储方式最节省时间。A、顺序表 B、单链表 C、双链表 D、单循环链表22、循环链表主要优点是()A、不再需要头指针了B、已知某个结点的位置后,能够容易找到它的直接前趋C、在进行插入、删除运算时,能更好地保证链表不断开D、从表中任一结点出发都能扫描到整个链表23、在线性表的下列存储结构中,读取元素花费时间最少的是()A、单链表 B、双链表 C、循环链表 D、顺序表二、填空题1、在线性结构中,第一个结点()前趋结点,其余每个结点有且
20、只有()个前趋结点。2、在顺序表中插入或删除一个元素,需要平均移动()元素,具体移动的元素个数与()有关3、已知L 是无表头结点的单链表,试从下列提供的答案中选择合适的语句序列,分别实现:(1)表首插入S 结点的语句序列是()。(2)表尾插入S 结点的语句序列是()。A、P-next=S;B、P=L;C、L=S;D、P-next=S-next;E、S-next=P-next;F、S-next=L;G、S-next=NULL;H、while(P-next!=Q)p=p-next;I、while(P-nexl!=NULL)P=P-next;4、已知L 是带表头结点的非空单链表,试从下列提供的答案中
21、选择合适的语句序列。(1)删除首元结点的语句序列是(),(2)删除尾元结点的语句序列是()A、P=P-next;B、P-next=P-next-next;C、while(P!=NULL)p=p-next;D、while(Q-next!=NULL)P=Q;Q=Q-next;E while(P-next!=Q)P=P-next;F、Q=P;G Q=P-next;H、P=L;I、L=L-next;J、free(Q);5、已知L 是带表头结点的非空链表,且 P 结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。(1)删除P 结点的直接后继结点的语句序列是(),(2)删 除 P
22、 结点的直接前趋结点的语句序列是()A、P-next=P-next-next;B、P=P-Pnext-next;C、while(P-next!=Q)P=P-next;D、while(P-next-next=Q)P=P-next;E、Q=P;F、Q=P-next;G、P=L;H、L=L-next;I、free(Q);6、已知结点编号,在各结点查找概率相等的情况下,从 n 个结点的单链表中查找一个结点,平均要访问()个结点,从 n 个结点的双链表中查找一个结点,平均要访问()个结点。7、对于一个具有n 个结点的单链表,在已知p 所指结点后插入一个新结点的时间复杂度是();在值域为给定值的结点后插入
23、一个新结点的时间复杂度是()。8、单链表是()的链接存储表示。9、单链表中设置头结点的作用是()。10、在单链表中,除首元结点外,任一结点的存储位置由()指示。11、在非空双向循环链表中,在结点q 的前面插入结点p 的过程如下:p-prior=q-prior;q-prior-next=p;p-next=q;();12、在双向链表中,每个结点有两个指针域,一个指向(),另一个指向()。13、顺序表中逻辑上相邻的元素的物理位置()相邻。单链表中逻辑上相邻的元素的物理位置()相邻。14、为了便于讨论,有时将含n(n20)个结点的线性结构表示成(a“a?,a j,其中每个去代表一个。ai称为 结点,a
24、称为 结点,i 称 为 由 在 线 性 表 中 的。对任意一对相邻结点ai、a+i(lWin),ai称为ai+i的直接,ai+i称为4 的直接。15、线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接 外,其他结点有且仅有一个直接;除终端结点没有直接 外,其 它 结 点 有 且 仅 有 一 个 直 接.16、所有结点按1对 1 的邻接关系构成的整体就是 结构。17、线性表的逻辑结构是 结构。其所含结点的个数称为线性表的 o18、在单链表中,指针p 所指结点为最后个结点的条件是 o三、判断题1.顺序存储的线性表可以随机存取。2.顺序存储的线性表的插入和删除操作不需要付出很大的代价,因
25、为平均每次操作只有近一半的元素需要移动。3.线性表中的元素可以是各种各样的,但同线性表中的数据元素具有相同的特性,因此是属于同数据对象。4.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻。5.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。6.在单链表中,可以从头结点进行查找任何一个元素。7.线性表的链式存储结构优于顺序存储结构。8.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。9.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。10.顺序存储方式只能用于存储线性结构。四、简答题1、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课后 练习题 汇编
限制150内