《数据结构基础教程》习题及解答
数据结构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.1 什么是数据结构?数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,包括数据的逻辑结构、物理结构和数据元素之间的运算。
1.2 数据的逻辑结构有哪些?数据的逻辑结构包括线性结构、树形结构和图状结构。
1.3 数据的物理结构有哪些?数据的物理结构包括顺序存储结构和链式存储结构。
1.4 数据结构的主要目标是什么?数据结构的主要目标是提高数据的存储效率和运算效率。
第二章:线性表2.1 线性表的定义线性表是由n(≥0)个数据元素组成的有限序列。
线性表是一种常见的数据结构,常用的实现方式包括数组和链表。
2.2 线性表的顺序存储结构线性表的顺序存储结构是将线性表中的元素存储在连续的存储空间中,通过元素在内存中的物理位置来表示元素之间的关系。
2.3 线性表的链式存储结构线性表的链式存储结构是通过指针将线性表中的元素连接在一起,每个元素包括数据域和指针域。
2.4 线性表的基本操作包括初始化线性表、插入元素、删除元素、查找元素等。
第三章:栈与队列3.1 栈的定义与特性栈是一种具有后进先出特性的线性表,只允许在一端进行插入和删除操作,被称为栈顶。
3.2 栈的顺序存储结构和链式存储结构栈的顺序存储结构和链式存储结构与线性表的存储结构类似,不同之处在于栈只允许在一端进行插入和删除操作。
3.3 栈的应用栈在表达式求值、函数调用和递归等场景中有广泛应用。
3.4 队列的定义与特性队列是一种具有先进先出特性的线性表,允许在一端插入元素,在另一端删除元素。
3.5 队列的顺序存储结构和链式存储结构队列的顺序存储结构和链式存储结构与线性表的存储结构类似,不同之处在于队列允许在一端插入元素,在另一端删除元素。
3.6 队列的应用队列在模拟排队系统、操作系统进程调度等场景中有广泛应用。
第四章:树与二叉树4.1 树的基本概念树是由n(≥0)个节点组成的有限集合,其中有一个称为根节点,除了根节点之外的其余节点被分为m(m≥0)个互不相交的集合,每个集合本身又是一棵树。
数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
最新版《数据结构》各章习题及答案

最新版《数据结构》各章习题及答案第一章绪论一、选择题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.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。
数据结构考试题目及答案pdf

数据结构考试题目及答案pdf一、单项选择题(每题2分,共10分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。
A. 数据元素之间是否有逻辑关系B. 是否有且仅有一个根节点C. 是否有多个根节点D. 数据元素之间是否有顺序关系答案:A2. 链表中每个节点包含数据元素和()。
A. 一个指针B. 多个指针C. 一个数据域D. 一个数据域和一个指针答案:D3. 在二叉树的遍历中,先序遍历的顺序是()。
A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表解决冲突的方法不包括()。
A. 开放寻址法B. 链地址法C. 线性探测法D. 二分查找法答案:D5. 堆是一种特殊的完全二叉树,其特点是()。
A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都大于或等于其子节点的值D. 每个节点的值都小于或等于其子节点的值答案:C二、填空题(每题2分,共10分)1. 在顺序表中,插入一个元素的平均时间复杂度为 O(n) 。
2. 栈是一种特殊的线性表,其特点是后进先出(LIFO),即后进的元素先出栈。
3. 快速排序的时间复杂度在最坏情况下为 O(n^2) 。
4. 广义表的表示形式为 (a, b, c) ,其中a、b、c可以是数据元素或子表。
5. 在图的遍历中,深度优先搜索(DFS)使用的是栈数据结构。
三、简答题(每题10分,共20分)1. 请简述二叉搜索树和平衡二叉树的区别。
答:二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的值,右子树只包含大于该节点的值。
平衡二叉树除了满足二叉搜索树的性质外,还要求每个节点的左子树和右子树的高度差不超过1,以保持树的平衡,从而提高查找效率。
2. 什么是图的连通分量?请举例说明。
答:图的连通分量是指图中的最大的连通子图。
如果一个图不是连通的,那么它将被划分为若干个连通分量,每个连通分量内部的顶点都是相互连通的,但不同分量之间没有直接的边相连。
数据结构题库及答案详解

数据结构题库及答案详解一、选择题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构习题(包含全部答案解析)

数据结构习题集(自编)第一章绪论一、选择题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、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
《数据结构》基本习题答案

第1章绪论1 自测习题二、选择题1.以下数据结构中,属于线性结构的是 ( B )A)有向图B)串C)线索二叉树D)B树2.下列与数据元素有关的叙述中错误的是 (A)A)数据元素是有独立含义的数据最小单位B)数据元素是描述数据的基本单位C)数据元素可以称做结点D)数据元素可以称做记录3.以下术语中与数据的存储结构无关的是 (A)A)栈B)散列表C)顺序表D)双链表4.以下数据结构中,属于线性结构的是 (B)A)有向图B)串C)线索二叉树D)B树三、填空题1.数据结构包括的三方面内容分别是:数据的逻辑结构、数据的存储结构和数据的运算。
2.数据元素是数据的基本单位,在某些情况下也可以称为结点、记录和顶点。
3.数据逻辑结构的4种基本形态包括集合结构、线性结构、树型结构和图(网)结构。
4.一个正确的算法应该具有5个特性:输入、输出、确定性、可行性和有穷性。
5.数据的存储结构包括顺序、链式、索引和散列四种。
6.一个数据结构在计算机中的映象称为存储结构。
7.一个算法的效率主要是指该算法的时间效率和空间效率。
8.以下程序段的时间复杂度T(n)=_)nO_____。
(2sum=0;for(i=0 ; i<n; i++)for( j=0; j<n; j++)sum+=a[i][j];printf("%d\n",sum);第2章线性表2 自测习题二、选择题1.以下链表结构中,从当前结点出发能够访问到任一结点的是(B) A)单向链表和双向链表B)双向链表和循环链表C)单向链表和循环链表D)单向链表、双向链表和循环链表2.线性表是具有n 个 (B) 的有限序列。
A )数据项B )数据元素C )表元素D )字符3.若长度为n 的线性表采用链式存储结构,访问其第i 个元素的算法时间复杂度为 (B)A )O(1)B )O(n)C ) O(n 2)D )O(log 2n)4.在长度为n 的顺序表中,若要删除第i (1≤i ≤n )个元素,则需要向前移动的元素的次数为 (B)A )iB )n-iC )n-i+1D )n-i-15.在长度为n 的顺序表中第i (1≤i ≤n )个位置上插入一个元素时,为留出插入位置所需移动元素的次数为 (C)A )n-iB )iC )n-i+1D )n-i-1三、填空题1.有一单链表结构如下:图2-1 填空题1附图若要删除值为c 的结点,应做的操作是 p->link=p->link->link 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构基础教程》习题解答(新)第1章习题解答一、填空1.数据就是指所有能够输入到计算机中被计算机加工、处理得符号得集合。
2.可以把计算机处理得数据,笼统地分成数值型与非数值型两大类。
3.数据得逻辑结构就就是指数据间得邻接关系。
4.数据就是由一个个数据元素集合而成得。
5.数据项就是数据元素中不可再分割得最小标识单位,通常不具备完整、确定得实际意义,只就是反映数据元素某一方面得属性。
6.数据就是以数据元素为单位存放在内存得,分配给它得内存区域称为存储结点。
7.每个数据元素都具有完整、确定得实际意义,就是数据加工处理得对象。
8.如果两个数据结点之间有着逻辑上得某种关系,那么就称这两个结点就是邻接得。
9.在一个存储结点里,除了要有数据本身得内容外,还要有体现数据间邻接关系得内容。
10.从整体上瞧,数据在存储器内有两种存放得方式:一就是集中存放在一个连续得内存存储区中;一就是利用存储器中得零星区域, 分散地存放在内存得各个地方。
11.在有些书里,数据得“存储结构”也称为数据得“物理结构”。
12.“基本操作”就是指算法中那种所需时间与操作数得具体取值无关得操作。
二、选择1.在常见得数据处理中, B 就是最基本得处理。
A.删除B.查找C.读取D.插入2.下面给出得名称中, A 不就是数据元素得同义词。
A.字段B.结点C.顶点D.记录3. D 就是图状关系得特例。
A.只有线性关系B.只有树型关系C.线性关系与树型关系都不D.线性关系与树型关系都4.链式存储结构中,每个数据得存储结点里 D指向邻接存储结点得指针,用以反映数据间得逻辑关系。
A.只能有1个B.只能有2个C.只能有3个D.可以有多个5.本书将采用 C 来描述算法。
A.自然语言B.流程图(即框图)C.类C语言D.C语言6.有下面得算法段:for (i=0; i<n; i++)k++;其时间复杂度为 B 。
A.O(1)B.O(n)C.O(log2n)D.O(n2)三、问答1.中国百家姓中得赵、钱、孙、李、周、吴、郑、王……等姓氏数据之间,就是一种什么样得邻接关系,为什么?答:就是一种线性关系,因为这些姓氏之间符合关系得“有头有尾,顺序排列”得特点。
2.什么就是数据结点?什么就是存储结点?它们间有什么关系?答:数据结点即就是数据集合中得一个数据元素,存储结点就是存放数据结点得内存单位。
在存储结点里,不仅要存放数据结点得内容,还要(显式或隐式地)存放数据结点间得逻辑关系。
3.为什么说链式存储既提高了存储得利用率,又降低了存储得利用率?答:由于链式存储就是通过指针来体现数据元素之间得逻辑关系得,因此,存储结点可以不占用存储器得连续存储区。
从这个意义上说,链式存储能够充分利用存储器中小得存储区,因此提高了存储器得利用率。
另一方面,链式存储中得存储结点不仅要存放数据元素,还要占用适当得存储区来存放指针,这就是一种额外得存储开销。
从这个意义上说,链式存储降低了存储器得利用率。
4.列举几个数据之间具有树型结构得实际例子。
答:学校各级管理之间,就是一种分支层次结构;一本书得书目,就是一种分支层次结构。
5.判断如下除法过程就是否就是一个算法,为什么:(1)开始;(2)给变量m赋初值5,给变量n赋初值0;(3)m=m/n;(4)输出m;(5)结束。
答:因为0不能为除数,本题第(3)步不具有有效性,所以它不就是一个算法。
但如果n 得初值不为0,则就是一个正确得算法。
四、应用1.用类C语言中得do-while语句,描述输出整数1、2、3、……、9、10得过程。
答:算法编写如下。
void num (){i=1;do{printf (“i = %d\n”, i );i = i +1;} while (i<= 10);}2.用类C语言中得if-else语句,编写算法,描述当输入得数据大于等于0时,输出信息:“输入得就是正数”;当输入得数据小于0时,输出信息:“输入得就是负数”。
答:算法编写如下。
void judge (){scanf (“%d\n”, &x);if (x>=0)printf (“输入得就是正数”);elseprintf (“输入得就是负数”);}3.分析算法段中标有记号“#1”与“#2”得基本操作得执行次数:for ( i=0; i<n; i++)for (j=0; j<n; j++){#1 y=1;for (k=0; k<n; k++)#2 y=y+1;}答:标有记号“#1”得基本操作得执行次数就是:n2;标有记号“#2”得基本操作得执行次数就是:n3。
4.给出下面3个算法段得时间复杂度:(1)x++;(2)for (j=1; j<n; j++)x++;(3)for (j=1; j<=n; j++){printf (“j=%”, j);for (k=j; k<=n; k++)x++;}答:(1)得时间复杂度为O(1);(2)得时间复杂度O(n);(3)中“printf (“j=%”, j);”执行次数得数量级为O(n),“x++;”执行次数就是:n+(n-1)+(n-2)+……+2+1 = n(n+1)/2其数量级为O(n2),因此整个算法段得时间复杂度应该就是O(n2)。
第2章习题解答一、填空在数据结构里就称其为线性表。
被称为顺序表。
4.以链式存储结构实现得线性表,被称为链表。
5.不带表头结点得链表,就是指该链表得表头指针直接指向该链表得起始结点。
6.在一个双链表中,已经由指针ptr指向需要删除得存储结点,则删除该结点所要执行得两条操作就是①ptr->Prior->Next = ptr->Next; ②ptr->Next->Prior = ptr->Prior; 。
7.设tail就是指向非空、带表头结点得循环单链表得表尾指针。
那么,该链表起始结点得存储位置应该表示成 tail->Next->Next 。
8.在一个不带表头结点得非空单链表中,若要在指针qtr所指结点得后面插入一个值为x得结点,则需要执行下列操作:ptr = malloc (size);ptr->Data = x ;ptr->Next = qtr->Next ;qtr->Next = ptr ;9.顺序表Sq = (a1,a2,a3,…,a n)(n≥1)中,每个数据元素需要占用w个存储单元。
若m 为元素a1得起始地址,那么元素a n得存储地址就是m+(n-1)*w。
10.当线性表得数据元素个数基本稳定、很少进行插入与删除操作,但却要求以最快得速度存取表中得元素时,我们应该对该表采用顺序存储结构。
二、选择1.下面,对非空线性表特点得论述, C 就是正确得。
A.所有结点有且只有一个直接前驱B.所有结点有且只有一个直接后继C.每个结点至多只有一个直接前驱,至多只有一个直接后继D.结点间就是按照1对多得邻接关系来维系其逻辑关系得2.一般单链表Lk_h为空得判定条件就是 A 。
A.Lk_h == NULLB.Lk_h->Next == NULLC.Lk_h->Next == Lk_hD.Lk_h != NULL5.在一个单链表中,已知qtr所指结点就是ptr所指结点得直接前驱。
现要在qtr所指结点与ptr所指结点之间插入一个rtr所指得结点,要执行得操作应该就是 C 。
A.rtr->Next = ptr->Next; ptr->Next = rtr;B.ptr->Next = rtr->Next;C.qtr->Next = rtr; rtr->Next = ptr;D.ptr->Next = rtr; rtr->Next = qtr->Next;6.在一个单链表中,若现在要删除ptr指针所指结点得直接后继结点,则需要执行得操作就是 A 。
A.ptr->Next = ptr->Next->Next ;B.ptr = ptr->Next; ptr->Next = ptr->Next->Next ;C.ptr = ptr->Next->Next ;D.ptr->Next ptr ;7.在长度为n得顺序表中,往其第i个元素(1≤i≤n)之前插入一个新得元素时,需要往后移动 B 个元素。
A.n-iB.n-i+1C.n-i-1D.i8.在长度为n得顺序表中,删除第i个元素(1≤i≤n)时,需要往前移动 A 个元素。
A.n-iB.n-i+1C.n-i-1D.i9.设tail就是指向一个非空带表头结点得循环单链表得尾指针。
那么,删除链表起始结点得操作应该就是 D 。
ZkFAM。
A.ptr = tail ;B.tail = tail->Next ;tail = tail->Next ; free (tail) ;free (ptr);C.tail = tail->Next->Next ;D.ptr = tail->Next->Next ;Free (tail); tail->Next->Next = ptr->Next ;Free (ptr); free (ptr);10.在单链表中,如果指针ptr所指结点不就是链表得尾结点,那么在ptr之后插入由指针qtr所指结点得操作应该就是 B 。
A.qtr->Next = ptr ;B.qtr->Next = ptr->Next ;ptr->Next = qtr ; ptr->Next = qtr ;C.qtr->Next = ptr->Next ;D.ptr->Next = qtr ;ptr = qtr ; qtr->Next = ptr ;三、问答1.试问,如下得线性表:L = (29,25,21,17,13,11,7,5,3,1)就是有序线性表还就是无序线性表?答:L就是一个有序线性表。
2.线性表L第i个存储结点a i得起始地址LOC(a i)可以通过下面得公式计算得到:LOC(a i)= LOC(a i-1)+k其中k表示存储结点得长度。
这个公式对吗?为什么?答:这个公式就是对得,因为第i个存储结点a i得起始地址LOC(a i),实际上就就是等于第i-1个存储结点a i-1得起始地址LOC(a i-1)加上一个存储结点得长度k得到。
3.试说明创建顺序表算法Create_Sq ()中,Sq_max与Sq_num得不同之处。
答:Sq_max代表得就是顺序表得最大长度,也就就是它最多可以容纳下多少个数据元素,顺序表创建后,Sq_max就是一个保持不变得常量;Sq_num代表得就是顺序表内当前拥有得数据元素个数,在顺序表创建后,随着对数据元素进行得插入、删除操作,Sq_num将会不断地发生变化。