数据结构复习题目_副本.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 概论 练习题 一、单项选择题 1.在数据结构中,从逻辑上可以把数据结构分为 (B) A.紧凑结构和非紧凑结构 B.线性结构和非线性结构 C.内部结构和外部结构 D.动态结构和静态结构 2.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为 (D) A.顺序存储结构 B.链式存储结构 C.索引存储结构 D.散列存储结构 3.算法分析的两个主要方面是 (B) A.正确性和简明性 B.时间复杂性和空间复杂性 C.可读性和可维护性 D.数据复杂性和程序复杂性 4.线性表采用链式存储结构时,要求内存中可用存储单元地址 (A) A.不一定连续的 B.部分地址必须是连续的 C.必须是连续的 D.一定是不连续的 5.算法指的是 (C) A.计算机程序 B.解决问题的计算方法 C.解决问题的有限运算序列 D.排序算法 二、填空题 6.数据结构一般包括逻辑结构、存储结构和数据运算三个方面的内容. 7.数据的逻辑结构可分为线性结构、非线性结构两大类. 8.数据的存储结构(物理结构)一般可以用顺序存储结构、链式存储结构、索引存储结构及散列存储结构等四种存储方法表示. 9.在选用求解一个问题的算法时,除了首先考虑算法是“正确的”之外,还主要考虑执行算法所需要的时间、执行算法所需要的存储空间及算法应易于理解、易于编程、易于调试等三点。 10.设有一批数据元素,为了最快地存取某元素,宜用顺序结构存储,为了方便的插入一个元素,宜用链式结构存储. 三、应用题 设n为正整数,利用大“O”记号,写出下列各程序段的时间复杂度. 11.for (i = 1; i = n; i++){ y = y + 1; for (j = 1; j = 2 * n; j++) x = x + 1;} 分析:语句 “y = y + 1;”执行n次,语句“x = x + 1;”各执行次,故该程序段的时间复杂度为O(). 12.s = 0; while (n = (s + 1) * (s + 1)) s = s + 1; 分析:语句 “s = s + 1;”执行次,故该程序段的时间复杂度为O(). 13.x = 1; sum = 0; for (i = 0; i = n; i++){ x = x * i; sum = sum + x; } 分析:语句 “x = x * i”和“sum = sum + x;”各执行n次,故该程序段的时间复杂度为O(n). 14.for (i = 1i = n; i++) if (3 * i =n) for (j = 3 * i; j = n; j++){ x++; y = 3 * x + 2; } 分析:语句 “x++”和“y = 3 * x + 2;”各执行次,故该程序段的时间复杂度为O(). 15.for (i = 1; i = n; i++) for (j = 1; = i; j++){ x = x + 1; } 分析:语句 “x = x + 1;”执行次,故该程序段的时间复杂度为O(). 16.sum = 0; i = 0; while (i = 100){ sum = sum + i; i++; }sum = sum + i;”和“i++;”各执行100次,故该程序段的时间复杂度为O(1). 17.x = 1; s = 0; for (i = 1; i = n; i++){ ++x; s += x; } for (j = 1; j = n; j++) for (k = 1; k = n; k++){ x++; s = s + x; }++x;”执行n次,语句“x++;”和“s = s + x;”各执行次,故该程序段的时间复杂度为O(). 第2章 n的顺序表的第i 个位置上插入一个元素,元素的移动次数为 (A) A. B. C. D. 2.若一个顺序表中第一个元素的存储地址为1000,每个元素占4个地址单元,那么,第6个元素的存储地址应是 (A) A.1020 B.1010 C.1016 D.1024 3.带头结点的单链表(以head为头指针)为空的判断条件是 (C) A.head != NULL B.head ? next == head C.head ? nex

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档