数据结构练习题 第一章 概论
第一章数据结构概论习题

第一章概论习题一、选择题1.数据结构是具有【B 】的数据元素的集合。
A.相同性质B.相互关系C.相同运算D.数据项2.在计算机的存储结构中,逻辑上相邻的结点存储在物理位置上也相邻的连续存储单元里,称之为【 B 】。
A.逻辑结构B.顺序存储结构C.链式存储结构D.散列存储结构3.语句for(i=1;i<=n;i++) x++;的时间复杂度为【B 】。
A.O(1) B.O(n) C.O(n2) D.O(n3)4.下面不属于数据的存储结构的是【D 】。
A.散列存储B.链式存储C.索引存储D.压缩存储5.数据结构研究的是数据的【 A 】及它们之间的相互关系。
A.存储结构和逻辑结构B.存储和抽象C.理想与抽象D.理想与逻辑6.下面程序段的时间复杂度是【D 】。
for(i=0;i<2*n;i++)for(j=1;j<3*n;j++)A[i][j]=0;A.O(n) B.O(5n) C.O(6n2) D.O(n2) 7.数据的逻辑结构有两大类,分别是【 B 】。
A.顺序存储结构和链式存储结构B.线性结构和非线性结构C.压缩结构和非压缩结构D.有序结构和无序结构8.以下与数据的存储结构无关的术语是【D 】。
A.循环队列B.链表C.哈希表D.栈9.算法分析的两个主要方面是【A 】。
A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性10.下面程序段的时间复杂度是【D 】。
S=0;for(i=0;i<n;i++)for(j=0;j<m;j++)s=s+a[i][j];A.O(1) B.O(m+n) C.O(log2mn) D.O(m*n) 11.能够输入计算机并能被计算机处理的符号统称为【A 】。
A.数据B.数据元素C.数据结构D.数据类型12.以下属于逻辑结构的是【C 】。
A.顺序表B.哈希表C.有序表D.单链表13.线性结构的数据元素之间存在着【A 】的关系。
数据结构1-4章习题答案

第1章概论习题参考解答一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:()、()、()、()。
【答】集合、线性结构、树型结构和图状结构。
2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:()、()、()、()。
【答】顺序存储方法、链接存储方法、索引存储方法和散列存储方法。
二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】B。
2、算法的每一步,必须有确切的定义。
也就是说,对于每步需要执行的动作必须严格、清楚地给出规定。
这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】C。
3、算法原则上都是能够由机器或人完成的。
整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作。
这是算法的()。
(A)正确性(B)有穷性(C)确定性(D)可行性【答】D。
三、简答题1、算法与程序有何异同?【答】尽管算法的含义与程序非常相似,但两者还是有区别的。
首先,一个程序不一定满足有穷性,因此它不一定是算法。
例如,系统程序中的操作系统,只要整个系统不遭受破坏,它就永远不会停止,即使没有作业要处理,它仍处于等待循环中,以待一个新作业的进入。
因此操作系统就不是一个算法。
其次,程序中的指令必须是计算机可以执行的,而算法中的指令却无此限止。
如果一个算法采用机器可执行的语言来书写,那么它就是一个程序。
2、什么是数据结构?试举一个简单的例子说明。
【答】数据结构是指数据对象以及该数据对象集合中的数据元素之间的相互关系(即数据元素的组织形式)。
例如,队列的逻辑结构是线性表(先进先出);队列在计算机中既可以采用顺序存储也可以采用链式存储;对队列可进行删除、插入数据元素以及判断是否为空队列、将队列置空等操作。
3、什么是数据的逻辑结构?什么是数据的存储结构?【答】数据元素之间的逻辑关系,也称为数据的逻辑结构。
数据结构第一章课后习题与答案资料

数据结构第一章课后习题与答案资料1.什么是数据结构?答:数据结构是指数据对象以及数据对象之间的关系、操作和约束的一种逻辑结构。
它关注如何将数据以及数据之间的关系组织起来,以便更高效地进行操作和使用。
2.数据结构的分类有哪些?答:数据结构可以分为线性数据结构和非线性数据结构。
线性数据结构包括数组、链表、栈和队列;非线性数据结构包括树和图。
3.什么是算法?答:算法是指解决特定问题的一系列步骤和规则。
它可以描述为一个有限的指令集,用于将输入数据转换为输出结果。
4.算法的特征有哪些?答:算法具有以下特征:•输入:算法必须有输入,可以是零个或多个。
•输出:算法必须有输出,可以是零个或多个。
•有穷性:算法必须在有限步骤内结束。
•确定性:算法的每一步骤必须明确且无歧义。
•可行性:算法的每一步骤必须可行,即可以执行。
5.算法的时间复杂度是什么?如何表示时间复杂度?答:算法的时间复杂度是指算法执行所需的时间。
它通常用大O符号表示。
常见的时间复杂度有O(1)、O(n)、O(n^2)等。
6.算法的空间复杂度是什么?如何表示空间复杂度?答:算法的空间复杂度是指算法执行所需的额外空间。
它通常用大O符号表示。
常见的空间复杂度有O(1)、O(n)、O(n^2)等。
7.什么是数据的逻辑结构?答:数据的逻辑结构是指数据对象之间的关系。
常见的逻辑结构有线性结构、树形结构和图形结构。
8.什么是数据的存储结构?答:数据的存储结构是指数据在计算机内存中的表示方式。
常见的存储结构有顺序存储结构和链式存储结构。
9.顺序存储结构和链式存储结构有什么区别?答:顺序存储结构将数据存储在一块连续的内存空间中,可以随机访问元素,但插入和删除操作需要移动大量元素。
链式存储结构将数据存储在不连续的内存空间中,通过指针相连,插入和删除操作只需要修改指针,但访问元素需要遍历链表。
10.数组和链表的区别是什么?答:数组是一种顺序存储结构,元素在内存中连续存储,可以通过下标直接访问元素;链表是一种链式存储结构,元素在内存中不连续存储,通过指针相连。
最新版《数据结构》各章习题及答案

最新版《数据结构》各章习题及答案第一章绪论一、选择题1.组成数据的基本单位是()(A)数据项(B)数据类型(C)数据元素(D)数据变量2.数据结构是研究数据的()以及它们之间的相互关系。
(A)理想结构,物理结构(B)理想结构,抽象结构(C)物理结构,逻辑结构(D)抽象结构,逻辑结构3.在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算等的学科。
① (A)数据元素(B)计算方法(C)逻辑存储(D)数据映像② (A)结构(B)关系(C)运算(D)算法5.算法分析的目的是()。
(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性6.计算机算法指的是(①),它必须具备输入、输出和(②)等5 个特性。
① (A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法② (A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性二、判断题1.数据的机内表示称为数据的存储结构。
()2.算法就是程序。
()3.数据元素是数据的最小单位。
()4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。
()5.算法的时间复杂度取决于问题的规模和待处理数据的初态。
()三、填空题1.数据逻辑结构包括________、________、_________ 和__________ 四种类型,其中树形结构和图形结构合称为_____ 。
2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______ 个前驱结点;最后一个结点______后续结点,其余每个结点有且只有 _______ 个后续结点。
3.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。
数据结构第1章习题兼解答

1. 填空(1)()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素(2)()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。
(3)从逻辑关系上讲,数据结构主要分为()、()、()和()。
【解答】集合,线性结构,树结构,图结构(4)数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系(5)算法具有五个特性,分别是()、()、()、()、()。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性(6)在一般情况下,一个算法的时间复杂度是()的函数。
【解答】问题规模(7)设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。
【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
则表示该遗产继承关系的最合适的数据结构应该是()。
A 树B 图C 线性表D 集合【解答】B【分析】将丈夫、妻子和子女分别作为数据元素,根据题意画出逻辑结构图。
⑶算法指的是()。
数据结构第一章考试题库(含答案)

数据结构第一章考试题库(含答案)数据结构第一章考试题库(含答案)一、选择题1. 以下哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 链表D. 哈希表答案:B2. 在队列中,元素的插入操作称为什么?A. EnqueueB. DequeueC. PushD. Pop答案:A3. 哪种数据结构是一种不允许重复元素的集合?A. 栈B. 队列C. 链表D. 集合答案:D4. 以下哪种数据结构是后进先出(LIFO)的?A. 栈B. 队列C. 链表D. 哈希表答案:A5. 使用链表实现的栈或队列的时间复杂度是多少?A. O(1)B. O(n)C. O(log n)D. O(n^2)答案:A二、填空题1. 广度优先搜索(BFS)使用的数据结构是______。
答案:队列2. 深度优先搜索(DFS)使用的数据结构是______。
答案:栈3. 在二叉树中,每个节点最多有几个子节点?答案:24. 快速排序使用的分治策略是将数组分成几个子数组进行排序?答案:25. 哈希表的平均查找时间复杂度是多少?答案:O(1)三、简答题1. 请简要解释栈和队列的区别。
答案:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作;队列是一种先进先出(FIFO)的数据结构,只能在队尾插入,在队头删除。
2. 请解释什么是链表。
答案:链表是一种动态数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
与数组不同,链表的节点在内存中可以不连续存储,通过指针来链接每个节点。
3. 请简述快速排序的思想和算法步骤。
答案:快速排序使用分治的思想,首先选择一个元素作为基准值,然后将数组划分为两个子数组,小于基准值的元素放在左侧,大于基准值的元素放在右侧。
然后对左右子数组递归地进行快速排序,直到排序完成。
4. 请解释什么是哈希表及其应用场景。
答案:哈希表是一种基于哈希函数进行查找的数据结构,通过将关键字映射到哈希表中的位置来实现高效的查找。
数据结构第一章自测题及答案
《数据结构》课程第一章小测验一、判断题:(每题2分,共4分)1、数据元素是数据的最小单位。
F2、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
F链表的存储中结点之间可以是连续的,也可以是不连续的。
但结点内部是连续的。
答题区二、选择题:(每题2分,共16分)1、线性表是具有n个()的有限序列。
C(A)表元素(B)字符(C)数据元素(D)数据项2、如果数据结构中每个结点都有一个前驱,则该结构属于()。
A(A)图状结构(B)树形结构(C)循环结构(D)线性结构3、如果数据结构中每个结点都没有后继,则该结构属于()。
D(A)独立结构(B)散列结构(C)树形结构(D)非线性结构4、算法的时间复杂度与()有关。
A(A)问题规模(B)计算机硬件性能(C)编译程序质量(D)程序设计语言5、算法的执行时间一般与()无关。
D(A)问题规模的大小(B)计算机的档次(C)程序设计语言的种类或版本(D)算法设计者的水平6、算法分析的主要任务是分析()。
D(A)算法是否具有较好的可读性(B)算法中是否存在语法错误(C)算法的功能是否符合设计要求(D)算法的执行时间和问题规模之间的关系7、某算法的时间复杂度为O(2n),表明该算法的()。
C(A)问题规模是2n(B)执行时间等于2n(C)执行时间与2n成正比(D)问题规模与2n成正比8、在决定选取何种存储结构时,一般不考虑()。
A(A)各结点的值如何(B)结点数目的多少(C)对数据有哪些运算(D)所用编程语言实现这种结构是否方便三、填空题:(每空2分,共14分)1、数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
2、一个算法的效率可分为时间效率和空间效率。
3、线性表是具有n个数据元素有限序列。
四、简答题:(每题10分,共20分)1.数据结构和数据类型两个概念之间有区别吗?答:简单地说,数据结构定义了一组按某些关系结合在一起的数据元素。
数据结构第1章作业参考答案
第一章概述一、单项选择题1.数据结构是(C )。
A. 一种数据类型B. 数据的存储结构C. 相互之间存在一种或多种特定关系的数据元素的集合D. 一组性质相同的数据元素的集合2.数据元素及其关系在计算机存储器内的表示,称为数据的(D )。
A. 线性结构B. 非线性结构C. 逻辑结构D. 存储结构3.在数据结构中,数据的逻辑结构可以分成(C )。
A. 内部结构和外部结构B. 紧凑结构和非紧揍结构C. 线性结构和非线性结构D. 动态结构和静态结构4.计算机算法指的是(C )。
A. 计算方法B. 排序方法C. 解决问题的步骤序列D. 调度方法5.一个算法是(c )。
A. 程序B. 要满足五个基本特性C. 具体问题求解步骤的描述D. A和C6.算法必须具备(B)这3个特性。
A. 可执行性、可移植性、可扩充性B. 可行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性7.下面关于算法的叙述中错误的是(A )。
A. 一个算法应有一个或多个输入B. 算法最终必须由计算机程序实现C. 为解决某问题的算法同为该问题编写的程序含义是相同的D. 算法中的每条指令都必须有明确的含义8.若一个算法的时间复杂度用T(n)表示,其中n的含义是( C )。
A. 循环层数B. 语句条数C. 问题规模D. 函数数量9.下面说法正确的是(A)。
A. 健壮的算法不会因非法的数据输入而出现莫名其妙的状态B. 程序一定是算法C. 算法的时间复杂度只依赖于问题的规模D. 算法的优劣与算法描述语言无关,但与所用计算机有关D. 一组性质相同的数据元素的集合10.算法与程序的主要区别在于算法的( B )A.可行性 B.有穷性 C.确定性 D.有输入输出11.算法分析的两个主要方面是( A )。
A.空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程度复杂性12.以下数据结构中哪一个是非线性结构?( D )A. 队列B. 栈C. 线性表D. 二叉树13.以下数据结构中哪一个是线性结构?( A )A. 队列B.二叉树C. 图D. 集合二、判断题1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。
算法与数据结构C语言版课后习题参考答案(机械工业出版社)1绪论习题详细答案
第1章概论习题参考答案一、基础知识题1.简述下列概念数据,数据元素,数据类型,数据结构,逻辑结构,存储结构,算法。
【解答】数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据类型是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总体描述。
每一种计算机程序设计语言都定义有自己的数据类型。
“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科学的概念。
作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作(运算)。
而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一种简化情况。
数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。
数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则依赖于存储结构。
数据结构在计算机中的表示称为物理结构,又称存储结构。
是逻辑结构在存储器中的映像,包括数据元素的表示和关系的表示。
逻辑结构与计算机无关。
算法是对特定问题求解步骤的一种描述,是指令的有限序列。
其中每一条指令表示一个或多个操作。
一个算法应该具有下列特性:有穷性、确定性、可行性、输入和输出。
2.数据的逻辑结构分哪几种,为什么说逻辑结构是数据组织的主要方面?【解答】数据的逻辑结构分为线性结构和非线性结构。
(也可以分为集合、线性结构、树形结构和图形即网状结构)。
逻辑结构是数据组织的某种“本质性”的东西:(1)逻辑结构与数据元素本身的形式、内容无关。
(2)逻辑结构与数据元素的相对位置无关。
(3)逻辑结构与所含数据元素的个数无关。
数据结构第1章习题参考答案
习题知识点:数据结构的概念一、选择题1① 数据结构一般是研究数据的( A )及它们之间的彼此联系。
A.存储和逻辑结构B.存储结构C.顺序结构D.链式存储结构2① 数据在计算机存储器内表示时,物理地址与逻辑地址相同而且是持续的,称之为( C )A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构3① 线性结构是数据元素之间存在一种(D )。
A.一对多关系 B. 多对多关系 C 多对一关系D 一对一关系4① 计算机内部数据处置的大体单位是( B )。
A. 数据B.数据元素 C.数据项D.数据库5② 从逻辑上可以把数据结构分为(C )两大类。
【武汉交通科技大学1996】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构二、填空题1① 数据结构按逻辑结构可分为四大类,它们别离是集合、线性、树、图。
2① 数据的存储结构可用四种大体的存储方式表示,它们别离是顺序、链式、散列、索引。
三、判断题(F)1① 数据元素是数据的最小单位。
(T )2① 记录是数据处置的最小单位。
(F )3① 数据的逻辑结构是指数据的各数据项之间的逻辑关系。
(T )4① 数据的物理结构是指数据在计算机内的实际存储形式。
四、简答题1① 简述什么是数据结构?2② 数据结构与数据类型有什么区别? 【哈尔滨工业大学2021】知识点:算法的概念一、选择题1① 计算机算法指的是(C )A.计算方式B.排序方式C.解决问题的有限运算序列D.调度方式2① 算法分析的目的是((1)C ),算法分析的两个主要方面((2)A ).(1)A.找出数据结构的合理性B.研究算法中的输入与输出的关系C.分析算法的效率以求改良D.分析算法的易查性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性3② 设语句X++的时间是单位时间,则语句:for(i=1;i<=n;i++)x++;时间复杂度为(C )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概论一、名词解释1.数据表示2.数据处理3.数据4.数据元素5.逻辑关系6.逻辑结构7.结构8.运算 9.基本运算 10.存储结构 11.顺序存储结构 12.链式存储结构13.索引存储结构 14.散列存储结构 15.算法 16.运行终止的程序可执行部分17.伪语言算法 18.非形式算法 19.时空性能 20.时间复杂性 21.数据结构二、填空题1.计算机专业人员必须完成的两项基本任务是:_数据表示__和__数据处理__。
2.数据在计算机存储器中的存在形式称为_机内表示_。
3.概括地说,数据结构课程的主要内容包括: 数据的_逻辑结构__、定义在_逻辑结构上的基本运算__、数据的_存储结构和运算__的实现。
此外,该课程还要考虑各种结构和实现方法的_评价和选择_。
4.由一种_逻辑性_结构和一组_基本运算_构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。
5.存储结构是逻辑结构的_存储_实现。
6.数据表示任务是逐步完成的,即数据表示形式的变化过程是_机外表示_->_逻辑结构_->_存储结构__。
7.数据处理任务也是逐步完成的,即转化过程是_处理要求_->_基本运算和运算_->_算法。
8.从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即_数据_、_数据元素_和_数据项_。
9.根据需要,数据元素又被称为_元素_、_结点_、_顶点_或_记录_。
10.在有些场合下,数据项又称为_字段_或_域_,它是数据的不可分割的最小标识单位。
11.从某种意义上说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据可由若干个_数据元素_构成,数据元素可由若干个_数据项_构成。
12.根据数据元素之间关系的不同特性,通常有_集合_、_线性结构_、_树形结构__、_图状结构_四类基本逻辑结构,它们反映了四类基本的数据组织形式。
13.根据操作的效果,可将运算分成以下两种基本类型:①__加工_型运算,其操作改变了原逻辑结构的“值”,如结点个数、某些结点的内容等;②__引用_型运算,其操作不改变原逻辑结构,只从中提取某些信息作为运算的结果。
14.将以某种逻辑结构S为操作对象的运算称为“_定义在S上的运算_”,简称“_S上运算_”。
15.一般地,可能存在同一逻辑结构S上的两个运算A和B,A的实现需要或可以利用B,而B 的实现不需要利用A。
在这种情况下,称A可以“_归纳_”为B。
16.存储实现的基本目标是建立数据的_机内表示_。
17.一般地,一个存储结构包括_存储结点__、_数据元素之间关联方式的表示_、_附加设施_三个主要部分。
18.通常,存储结点之间可以有_顺序存储方式_、_链式存储方式_、_索引存储方式_、_散列存储方式_四种关联方式,称为四种基本存储方式。
19.可用任何一种存储方式所规定的存储结点之间的关联方式来间接表达给定逻辑结构S中数据元素之间的逻辑关系。
由此得到的存储结构,称为_给定逻辑结构S的存储实现__或_存储映象_。
20.一个运算的实现是指一个完成该运算功能的_程序_。
运算实现的核心是处理步骤的规定,即_算法设计_。
21.任何算法都必须用某种语言加以描述。
根据描述算法的语言的不同,可将算法分为:__运行终止的程序可执行部分_、_伪语言算法_、_非形式算法_三类。
22.数据结构课程着重评论算法的_时空性能_,又称为“_算法分析_”。
23.通常从_正确性能_、_易读性_、_健壮性_、_高效性_等几方面评价算法的(包括程序)的质量。
24.一个算法的时空性能是指该算法的_时间性能_和_空间性能_,前者是算法包含的_计算量,后者是算法需要的_存储量_。
25.通常采用下述办法来估算求解某类问题的各个算法在给定输入下的计算量:①根据该类问题的特点合理地选择一种或几种操作作为“_标准操作_”;②确定每个算法在给定输入下共执行了多少次_标准操作_,并将此次数规定为该算法在给定输入下的_计算量__。
26.通常,一个算法在不同输入下的计算量是不同的。
则可用以下两种方式来确定一个算法的计算量:①以算法在所有输入下的计算量的最大值作为算法的计算量,这种计算量称为算法的____最坏情况时间复杂性_或_最坏情况时间复杂度_。
②以算法在所有输入下的计算量的加权平均值作为算法的计算量,这种计算量称为算法的_平均时间复杂性_或_平均时间复杂度__。
27.最坏情况时间复杂性和平均时间复杂性统称为_时间复杂性_或_时间复杂度___。
28.在一般情况下,一个算法的时间复杂性是_算法输入规模_的函数。
29.一个算法的输入规模或问题的规模是指_作为该算法输入的数据所含数据元素的数目,或与此数目有关的其他参数__。
30.常见时间复杂性的量级有:常数阶O(_1__)、对数阶O(_log2n __)、线性阶O (_n _)、平方阶O(_n2_)、和指数阶O(_2n_)。
通常认为,具有指数阶量级的算法是_实际不可计算_,而量级低于平方阶的算法是_高效_的。
31.数据结构的基本任务是数据结构的_设计_和_实现__。
32.数据结构的课程的主要内容可以概括为:_数据结构的定义_、_数据结构的实现、_数据结构的评价_和_选择_。
33._数据的逻辑结构_与数据元素本身的内容和形式无关。
34.从逻辑关系上讲,数据结构主要分为两大类,它们是_线性结构_和__非线性结构_。
35.程序段“for(i=l;i<=n;i++){k++;for(j=1;j<=n;j++)l+=k;}”的时间复杂度T(n)= O(n2)。
36.程序段“i=1;while(i<=n)i=i*2;”的时间复杂度T(n)= o(log2n) _。
三、单项选择题1.以下说法错误的是2①用数字式计算机解决问题的实质是对数据的加工处理②程序设计的实质是数据处理③数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式④运算实现是完成运算功能的算法,或这些算法的设计⑤数据处理方式总是与数据某种相应的表示形式相联系,反之亦然2.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式。
以下解释错误的是 ( 1 )①集合中任何两个结点之间都有逻辑关系但组织形式松散②线性结构中结点按逻辑关系依次排列形成一条"锁链"③树形结构具有分支、层次特性,其形态有点像自然界中的树④图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接3.关于逻辑结构,以下说法错误的是 ( 2 )①逻辑结构与数据元素本身的形成、内容无关②逻辑结构与数据元素的相对位置有关③逻辑结构与所含结点个数无关④一些表面上很不相同的数据可以有相同的逻辑结构⑤逻辑结构是数据组织的某种"本质性"的东西4.根据操作的效果,可将运算分成加工型运算、引用型运算两种基本类型。
对于表格处理中的五种功能以下解释错误的是 ( 3 )①查找引用型运算,功能是找出满足某种条件的结点在s(线形结构)中的位置②读取引用型运算功能是读出s(线形结构)中某指定位置结点的内容③插入引用型运算,功能是在s(线形结构)的某指定位置上增加一个新结点④删除加工型运算,功能是撤消s(线形结构)某指定位置上的结点⑤更新加工型运算,功能是修改s(线形结构)中某指定结点的内容5.一般地,一个存储结构包括以下三个主要部分。
以下说法错误的是 ( 1 )①存储结点每个存储结点可以存放一个或一个以上的数据元素②数据元素之间关联方式的表示也就是逻辑结构的机内表示③附加设施,如为便于运算实现而设置的“哑结点”等等6.一般地,一个存储结构包括以下三个主要部分。
以下说法错误的是①每个存储结点只能存放一个数据元素 ( 2 )②数据元素之间的关联方式可由存储结点之间的关联方式直接表达③一种存储结构可以在两个级别上讨论。
其一是机器级,其二是语言级④语言级描述可经编译自动转换成机器级因此也可以看成是一种机内表示7.通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质量。
以下解释错误的是 ( 4 )①正确性算法应能正确地实现预定的功能(即处理要求)②易读性算法应易于阅读和理解以便于调试修改和扩充③健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果④高效性即达到所需要的时间性能8.对于数据结构课程的主要内容,以下解释正确的是 ( 3 )①数据结构的定义,包括逻辑结构、存储结构和基本运算集②数据结构的实现,包括存储实现、运算实现和基本运算集③数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储选择9,与数据元素本身的形式、内容、相对位置、个数无关的是数据的 ( 3 )①存储结构②存储实现③逻辑结构④运算实现10顺序存储结构 ( 3 )①仅适合于静态查找表的存储②仅适合于动态查找表的存储③既适合静态又适合动态查找表的存储④既不适合静态又不适合动态查找表的存储11.算法的时间复杂度,都要以通过算法中执行频度最高的语句的执行次数来确定这种观点 ( 2 )①正确②错误12以下说法正确的是 ( 2 )①所谓数据的逻辑结构指的是数据元素之间的逻辑关系。
②逻辑结构与数据元素本身的内容和形式无关③顺序文件只适合于存放在磁带上,索引文件只能存放在磁盘上④基于某种逻辑结构之上的运算,其实现是惟一的13以下说法正确的是 ( 4 )①数据元素是数据的最小单位②数据项是数据的基本单位③数据结构是带有结构的各数据项的集合④数据结构是带有结构的数据元素的集合14以下说法错误的是 ( 4 )①所谓数据的逻辑结构指的是数据元素之间的逻辑关系的整体②数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要而建立的③数据结构、数据元素、数据项在计算机中的映象分别称为存储结构、结点、数据域④数据项是数据的基本单位15通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 ( 2 )①数据元素具有同一特点②不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致③每个数据元素都一样④数据元素所包含的数据项的个数要相等四、简答及应用1数据与数据元素有何区别?2·为什么说数据元素之间的逻辑关系是数据内部组织的主要方面?3·逻辑结构与存储结构是什么关系?4·运算与运算的实现是什么关系?有哪些相同点和不同点?5,类C语言与标准C语言的主要区别是什么?五、算法设计1、设计求解下列问题的类C语言算法,并分析其最坏情况时间复杂性及其量级。
(1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。