数据结构自学考试辅导--应用题

合集下载

数据结构自考试题和答案

数据结构自考试题和答案

数据结构自考试题和答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。

A. 执行算法所需要的时间B. 执行算法所需要的指令条数C. 算法执行过程中所需要的基本操作次数D. 算法执行过程中所需要的存储空间答案:C2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。

A. 存储密度高B. 存储密度低C. 插入和删除操作快D. 存储空间可以动态分配答案:A3. 在二叉树的遍历过程中,若某结点的左孩子为空,则其右孩子()。

A. 一定为空B. 一定为非空C. 可能为空,也可能为非空D. 以上说法都不对答案:C4. 哈希表的构造方式是()。

A. 数组B. 树C. 链表D. 数组和链表5. 一个长度为n的线性表,若采用顺序存储结构,则其在表中第i个位置的元素(1≤i≤n)的存储地址为()。

A. 100+iB. 100+(i-1)×2C. 100+(i-1)×3D. 100+(i-1)×4答案:B6. 在二叉排序树中,若某结点的左子树非空,则其左子树中任一结点的值()。

A. 都小于该结点的值B. 都大于该结点的值C. 都等于该结点的值D. 都大于等于该结点的值7. 对于图的遍历,以下说法正确的是()。

A. 深度优先搜索只能使用递归实现B. 广度优先搜索只能使用队列实现C. 深度优先搜索和广度优先搜索都可以使用递归和非递归方式实现D. 深度优先搜索和广度优先搜索都必须使用栈实现答案:C8. 在一个具有n个顶点的无向图中,若该图是连通图,则其边数最少为()。

A. n-1B. nC. n+1D. 2n9. 一个栈的入栈序列为1, 2, 3, 4, 5,则可能的出栈序列为()。

A. 1, 3, 5, 2, 4B. 4, 5, 3, 2, 1C. 5, 4, 3, 2, 1D. 2, 4, 1, 3, 5答案:C10. 在一个有向图中,若存在从顶点v到顶点w的有向路径,则称v可达w,若存在从顶点v到图中每一个顶点的路径,则称v是()。

矿产

矿产

矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。

如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。

㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。

(2 列出开发利用方案编制所依据的主要基础性资料的名称。

如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。

对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。

二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。

2、国内近、远期的需求量及主要销向预测。

㈡产品价格分析
1、国内矿产品价格现状。

2、矿产品价格稳定性及变化趋势。

三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。

2、矿区矿产资源概况。

3、该设计与矿区总体开发的关系。

㈡该设计项目的资源概况
1、矿床地质及构造特征。

2、矿床开采技术条件及水文地质条件。

自考数据结构试题及答案

自考数据结构试题及答案

自考数据结构试题及答案一、选择题1. 数据结构是指()A. 数据的存储和管理方式B. 用于组织和管理数据的方法C. 数据的存储结构D. 数据的逻辑结构和物理结构答案:B2. 下列哪种数据结构不是线性结构()A. 栈B. 队列C. 链表D. 树答案:D3. 在一棵完全二叉树中,具有n个节点的左子树中最大可能的节点个数是()A. nB. n+1C. n/2D. 2n答案:C4. 设计一个函数,用于判断一个输入字符串是否为回文串,即正序和逆序都相同的字符串。

以下哪种数据结构最适合解决这个问题()A. 队列B. 栈C. 链表D. 二叉树答案:B5. 在数据结构中,栈是一种()结构。

A. 先进后出B. 先出后进C. 先进先出D. 后进先出答案:A二、填空题1. 在图的深度优先遍历算法中,使用栈来存储待访问节点的顺序。

2. 哈希表是一种利用哈希函数将键映射到索引的数据结构,其查找的平均时间复杂度为O(1)。

3. 线性表中,表头节点的指针域指向(空),表尾节点的指针域指向(空)。

4. 链表的插入和删除操作的时间复杂度都是O(1)。

5. 图是一种由顶点和边组成的数据结构,可以表示实际生活中的各种问题。

三、简答题1. 请简要说明线性表和链表的异同。

线性表和链表都是线性结构,可用于存储有序的数据。

线性表是用数组实现的,需要连续的内存空间来存储数据,查询元素时具有较好的性能。

而链表则是由节点及节点间的指针组成,可以灵活地分配内存空间,插入和删除元素时更为高效。

两者的不同在于数据的存储方式。

线性表具有固定长度,需要提前分配内存空间,而链表可以根据需要动态分配节点,不存在固定长度的限制。

2. 树和图有何区别?树和图都是非线性结构,可以用于表示有关联关系的数据。

它们的区别在于:树是一种特殊的图,具有层级结构且不存在环路,每个节点最多只有一个父节点;而图则没有层级关系和环路的限制,节点之间可以有任意多的关联。

树一般用来表示具有层次关系的数据,如文件系统、家谱等,而图则适用于表示复杂的网络关系,如社交网络、路由图等。

数据结构自考试题及答案

数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,从逻辑上可以把数据结构分为()。

A. 动态结构和静态结构B. 线性结构和非线性结构C. 顺序结构和链式结构D. 内部结构和外部结构答案:B2. 线性表的顺序存储结构和链式存储结构相比,它的优点是()。

A. 存储密度大B. 存储密度小C. 插入和删除操作快D. 可以进行随机访问答案:D3. 下列关于栈的描述中,错误的是()。

A. 栈是先进后出(LIFO)的线性表B. 栈允许在一端进行插入和删除操作C. 栈是具有记忆功能的线性表D. 栈的插入和删除操作必须在栈顶进行答案:C4. 在二叉树的遍历过程中,若某结点的左子树为空,则该结点的左孩子直接与()相连。

A. 右孩子B. 右兄弟C. 父节点D. 子节点答案:C5. 哈希表的构造方式是()。

A. 数组B. 树C. 链表D. 图答案:A6. 在图的遍历过程中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。

A. 遍历顺序B. 是否使用栈C. 是否使用队列D. 是否使用递归答案:C7. 快速排序算法的时间复杂度在最坏情况下是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C8. 以下排序算法中,时间复杂度为O(nlogn)的是()。

A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C9. 在数据库管理系统中,索引的作用是()。

A. 存储数据B. 提高查询效率C. 维护数据完整性D. 实现数据加密答案:B10. 以下不属于查找算法的是()。

A. 顺序查找B. 二分查找C. 哈希查找D. 归并排序答案:D二、填空题(每题2分,共20分)11. 在数据结构中,线性表的顺序存储结构通常使用___________来实现。

答案:数组12. 一个长度为n的顺序表,若在第i个位置插入一个元素(1≤i≤n+1),需要向后移动___________个元素。

数据结构应用题

数据结构应用题

北京语言大学网络教育学院《数据结构》【应用题】(1、已知序列(12,4,17,10,7,30),用直接选择排序法对其进行递增排序,写出每一趟的排序结果。

答:第1趟:4 12 17 10 7 30第2趟:4 7 17 10 12 30第3趟:4 7 10 17 12 30第4趟:4 7 10 12 17 30第5趟:4 7 10 12 17 302、单链表结点的类型定义如下:typedef struct LNode {int data;struct LNode *next;} LNode, *Linklist;写一算法,将带头结点的有序单链表A和B合并成一新的有序表C。

(注:不破坏A和B的原有结构)答:Merge(Linklist A, Linklist B, Linklist &C )void Merge(Linklist A, Linklist B, Linklist &C){ C=(Linklist)malloc(sizeof(LNode));pa=A->next; pb=B->next; pc=C;while(pa&&pb){ pc->next=(Linklist)malloc(sizeof(LNode));pc=pc->next;if(pa->data<=pb->data){ pc->data=pa->data; pa=pa->next;}else{ pc->data=pb->data; pb=pb->next;}}if(!pa) pa=pb;while(pa){ pc->next=(Linklist)malloc(sizeof(LNode));pc=pc->next;pc->data=pa->data; pa=pa->next;}pc->next=NULL;}3、已知一棵非空二叉树,其按中序和后序遍历的结果分别为:中序:CGBAHEDJFI 后序:GBCHEJIFDA请画出这棵二叉树,并写出其前序遍历的结果。

数据结构题库-应用题(上海杉达学院期末总复习题)

数据结构题库-应用题(上海杉达学院期末总复习题)

《数据结构》――应用题复习概要2022年4月1.写出执行下列程序段时,语句S的执行次数。

for (i=1; i<n; i++)for (j=n; j>=i; j--)S;2.假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count的值(以n的函数形式表示)int Time(int n){ int count:=0; x:=2;while (x<n/2){ x:=2*x; count:=count +1 };return (count);}3.已知双向链表、指针P、Q所指的结点和结点的结构(数据域DATA、指针域LL及RL),分别画出经过下述算法后的双向链表。

(1)Q->RL = P->RL; P->RL = Q; Q->RL->LL = Q; Q->LL = P;(2)Q->RL = P; P->LL->RL = Q; Q->LL = P->LL; P->LL = Q;(3)P->LL->RL = P->RL; P->RL->LL = P->LL;4.设栈S的初始状态为空,元素a, b, c, d, e和f依次通过栈S,试分析下列各组出栈次序,每组所用的最大容量。

(1)a,b,c,d,e,f;(2)f,e,d,c,b,a;(3)b,d,c,f,e,a5.有字符串A+B*C-D,试写出利用栈操作将该字符串序列改为ABC*+D-的操作步骤,这里用X和S分别表示字符的进栈和出栈操作(例如把字符ABCD改为ACBD的操作步骤为XSXXSSXS)。

XSXXSXXSSSXXSS6.一棵二叉树的结点数采用顺序存储结构,存于下列数组T中,画出该二叉树。

b7.已知一棵树的双亲表示如下,其中各兄弟结点依此排列,试画出该树及对应的孩子兄弟表示的二叉树。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Data A B C D E F G H I J K L M N OParent 0 1 1 1 2 2 3 3 4 4 5 6 6 7 8ABE CDK FLMGN HOIJ8.有一个完全二叉树按层次顺序存放在一维数组中,如下所示:请指出结点P的父结点,左子女,右子女。

2024王导数据结构综合应用题

2024王导数据结构综合应用题假设2024年,王导是一位深受学生喜爱的计算机科学导师。

他设计了一道综合应用题,旨在考察学生对数据结构的应用能力。

以下是题目内容和解答。

题目:在2024年的某个国家,有许多城市需要进行道路规划。

每个城市可以通过道路连接到其他城市,形成一个网络。

现有一份城市之间的道路连接关系表,其中包含了城市之间可以直接通行的道路及其长度。

请设计一个算法,找到所有城市之间的最短路径及其长度。

解答:为了解决这个问题,我们可以使用图的最短路径算法。

以下是一种常用的算法——Dijkstra算法。

1. 创建一个集合S,用于存放已经找到最短路径的城市,初始时为空。

2. 创建一个数组dist,用于存放每个城市到起点的最短路径长度,初始时所有元素为无穷大。

3. 选取一个起点,设置dist[起点]为0,并将起点加入集合S。

4. 对于起点相邻的每个城市,更新其到起点的最短路径长度,并将其加入集合S。

5. 从剩余的城市中选取一个离起点最近的城市u,将它加入集合S。

6. 对于每个城市v,如果v不在集合S中且通过u可以找到更短的路径,则更新其最短路径长度,并将其加入集合S。

7. 重复步骤5和步骤6,直到所有城市都加入集合S。

使用Dijkstra算法可以找到起点到所有城市的最短路径及其长度。

在这里可以使用优先队列(最小堆)来存储城市和最短路径长度的对应关系,以提高算法效率。

接下来我们以一个具体的例子来说明算法的步骤。

假设有4个城市,用数字1、2、3、4代表,它们之间的道路如下:- 城市1和城市2之间有一条长度为5的道路。

- 城市1和城市3之间有一条长度为9的道路。

- 城市2和城市3之间有一条长度为2的道路。

- 城市2和城市4之间有一条长度为6的道路。

- 城市3和城市4之间有一条长度为3的道路。

现在我们以城市1为起点,按照Dijkstra算法的步骤来求解最短路径及其长度。

1. 初始化操作:- 集合S = {1},dist = [0, ∞, ∞, ∞],表示起点到各个城市的最短路径长度。

2024年自考-自考专业(计算机网络)-数据结构考试历年真题常考点试题带答案篇

2024年自考-自考专业(计算机网络)-数据结构考试历年真题常考点试题带答案(图片大小可任意调节)第1卷一.单选题(共25题)1.设有一个10阶的对称矩阵A,采用行优先压缩存储方式,a11为第一个元素,其存储地址为1,每个元素占一个字节空间,则a85的地址为()。

A.13B.18C.33D.402.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()。

A.3B.37C.50D.973.若栈采用链式存储结构,则下列说法中正确的是()。

A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()。

A.2个B.3个C.4个D.6个5.若一个算法的时间复杂度用T(n)表示,其中n的含义是()。

A.问题规模B.语句条数C.循环层数D.函数数量6.设栈的初始状态为空,入栈序列为1,2,3,4,5,6,若出栈序列为2,4,3,6,5,1,则操作过程中栈中元素个数最多时为()。

A.2 个B.3 个C.4 个D.6 个7.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为()。

A.(rear-front-1) %nB.(rear-front) % nC.(front-rear+1) %nD.(rear-front+n) %n8.二维数组A[10][6]采用行优先的存储方法,若每个元素占4个存储单元,已知元素A[3][4]的存储地址为1000,则元素A[4][3]的存储地址为()。

A.1020B.1024C.1036D.10369.便于进行布尔查询的文件组织方式是()。

A.顺序文件B.索引文件C.散列文件D.多关键字文件10.在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为()。

(完整word版)数据结构应用题练习

1、假设一棵二叉树的层序序列是ABCDEFGHIJ 和中序序列是DBGEHJACIF,请画出该树。

21、有一个完全二叉树按层次顺序存放在一维数组中,如下所示:请指出结点P 的父结点,左子女,右子女。

3、给出下列二叉树的先序序列。

4、已知二叉树的先序遍历序列为ABCDEFGH ,中序遍历序列为CBEDFAGH ,画出二叉树。

答案:二叉树形态AFHGDECB(2)设一棵二叉树的先序序列: A B D F C E G H ,中序序列: B F D A G E H C ①画出这棵二叉树。

②画出这棵二叉树的后序线索树。

③将这棵二叉树转换成对应的树(或森林)。

ABFD CE HG(1) (2)1、已知一棵二叉树的前序序列为:A,B,D,G,J,E,H,C,F,I,K,L中序序列:D,J,G,B,E,H, A,C,K,I,L,F。

i.写出该二叉树的后序序列;ii.画出该二叉树;iii.求该二叉树的高度(假定空树的高度为-1)和度为2、度为1、及度为0的结点个数。

该二叉树的后序序列为:J,G,D,H,E,B,K,L,I,F,C,A。

该二叉树的形式如图所示:该二叉树高度为:5。

度为2的结点的个数为:3。

度为1的结点的个数为:5。

度为0的结点个数为:4。

5、试用权集合{12,4,5,6,1,2}构造哈夫曼树,并计算哈夫曼树的带权路径长度。

答案:215611187341230WPL=12*1+(4+5+6)*3+(1+2)*4=12+45+12=696、已知权值集合为{5,7,2,3,6,9},要求给出哈夫曼树,并计算带权路径长度WPL 。

答案:(1)树形态:325510199761332(2)带权路径长度:WPL=(6+7+9)*2+5*3+(2+3)*4=44+15+20=79(3) 假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。

数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,最基本的数据结构是()。

A. 线性结构B. 非线性结构C. 顺序结构D. 链式结构答案:A2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。

A. 存储密度高B. 存储密度低C. 存储空间少D. 插入和删除操作快答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。

A. i-1B. n-iC. n-i+1D. n-1答案:C4. 栈的基本运算中,不包括()。

A. 入栈B. 出栈C. 读栈顶元素D. 判断栈空答案:D5. 队列的特点是()。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A6. 树的深度为5,其中度为3的结点最多有()个。

A. 3B. 7C. 9D. 15答案:D7. 在二叉树的前序遍历序列、中序遍历序列、后序遍历序列中,唯一与树的形态一一对应的序列是()。

A. 前序遍历序列B. 中序遍历序列C. 后序遍历序列D. 无法确定答案:A8. 在图的遍历过程中,若某结点的入度为0,则该结点()。

A. 一定为起点B. 一定为终点C. 可以为起点或终点D. 既不是起点也不是终点答案:C9. 哈夫曼编码是一种()。

A. 定长编码B. 变长编码C. 唯一编码D. 非唯一编码答案:B10. 用邻接矩阵表示图时,若该图是无向图,则其邻接矩阵一定是()。

A. 对称矩阵B. 非对称矩阵C. 稀疏矩阵D. 密集矩阵答案:A二、填空题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指算法执行过程中所需要的基本运算次数与输入数据量之间的关系。

算法的时间复杂度通常用大O符号表示,例如,O(n)表示时间复杂度与输入数据量成______关系。

答案:线性2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。

答案:链式3. 在栈中,栈顶元素是最后被插入的元素,遵循______原则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构自学考试辅导--应用题数据结构自学考试练习题----应用题1.简述顺序表和链表存储方式的特点。

解:顺序表的优点是可以随机访问数据元素;缺点是大小固定,不利于增减结点(增减操作需要移动元素)。

链表的优点是采用指针方式增减结点,非常方便(只需要改变指针指向,不移动结点)。

其缺点是不能进行随机访问,只能顺序访问;另外,每个结点上增加指针域,造成额外存储空间增大。

2.在单链表和双向链表中,能否从任意结点出发访问到其他任何一个结点?在单链表中不能从任意结点(若结点不是第一结点)出发访问到任何一个结点,链表只能从头指针开始,访问到链表中每个结点。

在双链表中求前驱和后继都容易,从任何一个结点向前到第一结点,向后到最后结点,可以访问到任何一个结点。

3.线性表有两种存储结构:一是顺序表,二是链表。

试问:(1)如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。

在此情况下,应选用哪种存储结构?为什么?(2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?(1)选链式存储结构。

它可动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除时间复杂度为O(1)。

(2)选顺序存储结构。

顺序表可以随机存取,时间复杂度为O (1)。

4.线性表的存储结构分成顺序存储结构(顺序表)和链式存储结构(单链表)。

请用类C语言描述这两种结构。

顺序表类型定义:const maxsize=顺序表的容量typedef struct{ datatype data[maxsize];int last;}sqlist;Sqlist L;单链表类型定义:typedef struct node *pointer;struct node{datatype data;Pointer next;};typedef pointer lklist;5.线性表的顺序存储结构具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。

线性表的链式存储结构是否一定都能够克服上述三个弱点,试讨论之。

链式存储结构一般说克服了顺序存储结构的三个弱点。

首先,插入、删除不需移动元素,只修改指针,时间复杂度为O(1);其次,不需要预先分配空间,可根据需要动态申请空间;其三,表容量只受可用内存空间的限制。

其缺点是因为指针增加了空间开销,当空间不允许时,就不能克服顺序存储的缺点。

6.若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用何种存储结构,为什么?解:宜采用链式存储结构。

因为采用链式结构存储线性表,插入和删除操作需要从头指针起查找插入、删除结点的前驱结点,并修改这些结点的指针域,查找过程需平均移动指针域为表长的一半;而采用顺序结构存储线性表,插入和删除操作需要平均移动表中的一半元素。

移动指针域操作比移动元素操作花费的时间少得多。

7.对链表设置头结点的作用是什么?(至少说出两条好处)解其好处有:(1)对带头结点的链表,在表的任何结点之前插入结点或删除表中任何结点,所要做的都是修改前一个结点的指针域,因为任何元素结点都有前驱结点(若链表没有头结点,则首元素结点没有前驱结点,在其前插入结点和删除该结点时操作复杂些)。

(2)对带头结点的链表,表头指针是指向头结点的非空指针,因此空表与非空表的处理是一样的。

8.在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少?解:以下分三种链表讨论:(1)单链表。

当已知指针p指向某结点时,能够根据该指针找到其直接后续,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前驱。

因此,无法删去该结点。

(2)双链表。

由于这样的链表提供双向链接,因此根据已知结点可以查找到其直接前驱和直接后续,从而可以删除该结点。

其时间复杂度为O(1)。

(3)单循环链表。

根据已知结点位置,可以直接得到其后相邻的结点(直接后续),又因为是循环链表,所以可以通过查找得到p结点的直接前驱。

因此,可以删去p所指结点。

其时间复杂度为O(n)。

9.以下单链表分别单独执行下列各程序段,然后画出新的结果示意图。

(1)R->data = P->data;(2)R->data = P->next->data;(3)T=P; while(T!=NULL) {T->data = T->data * 2; T = T->next;}(4)T=P; while(T->next!=NULL) {T->data = T->data * 2; T = T->next;}10.已知L是带表头结点的非空单链表, P结点既不指向表头结点,也不指向表尾结点. 试从下列提供的答案(即(1)-(13))中选择合适的语句序列填到下划线上。

a.在表首插入S 结点的语句序列是 (7)(5) .(注: 例子)b.在P结点后插入S 结点的语句序列是________________________.c.在P结点前插入S 结点的语句序列是________________________.d.删除P结点的直接后继结点的语句序列是____________________.e.删除P结点本身的语句序列是_________________________.(1)P ->next =S;(2)S->next =P->next;(3)Q=P;(4)while (P->next!=Q) P=P->next;(5)L->next=S;(6)P->next=L->next;(7)S->next = L->next;(8)P->next=P->next->next;(9)while (P->next!=NULL) P=P->next;(10)Q=P->next;(11)P=P->next;(12)P=L;(13)free(Q);11.设有编号为1,2,3,4的四辆列车,顺序进入一个栈式结构的站台,始写出这四辆车开出车站的所有可能的顺序。

12.设有编号为1,2,3,4,5,6的六辆列车,顺序进入一个栈式结构的站台,问:能否得到编号序列为435612和135426的出站顺序,并说明为什么不能得到或者如何得到。

13.有5 个元素,其入栈次序为:A ,B ,C ,D ,E ,在各种可能的出栈次序中,以元素C ,D 最先出栈(即C 第一个且D 第二个出栈)的次序有哪几个?三个:CDEBA ,CDBEA ,CDBAE14.给出数组A [3..8,2..6],当它在内存中按行存放和按列存放时,分别写出数组元素A[i,j]地址计算公式(设每个元素占两个存储单元)。

LOC (A[i,j])=LOC (A[3,2])+[(i-3)*5+(j-2)]×2 (按行存放)LOC (A[i,j])=LOC (A[3,2])+[(j-2)*6+(i-3)]×2 (按列存放)15.如果输入序列为1 2 3 4 5 6,试问能否通过栈结构得到以下两个序列:4 3 5 6 1 2和1 3 5 4 2 6;请说明为什么不能或如何才能得到。

输入序列为123456,不能得出435612,其理由是,输出序列最后两元素是12,前面4个元素(4356)得到后,栈中元素剩12,且2在栈顶,不可能栈底元素1在栈顶元素2之前出栈。

得到135426的过程如下:1入栈并出栈,得到部分输出序列1;然后2和3入栈,3出栈,部分输出序列变为:13;接着4和5入栈,5,4和2依次出栈,部分输出序列变为13542;最后6入栈并退栈,得最终结果135426。

16.对下列稀疏矩阵, 写出它的顺序存储的三元组形式.--00070015000001800000240001400003000000000009120 17.已知一颗树的边集合为{, , , , , , , , , , , , }。

请画出这颗树,并回答下列问题:(1)哪个是根结点?(2)哪些是叶子结点?(3)哪些是结点G 的双亲、祖先和后代?(4)结点B 和N 的层次号分别是多少?(5)树的深度是多少?18.画出下图所示的二叉树的二叉链表存储结构。

19.已知二叉树的前序遍历序列和中序遍历序列分别是:B,A,C,D,F,E,G 和D,C,A,F,G,E,B,试画出该二叉树。

20.试用孩子兄弟(左孩子右兄弟)链表表示法画出下列树T的存储结构图。

21.已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,...n m个度为m的结点,问该树中有多少片叶子?n0=1+n2+2n3+……+(m-1)n m22..对下面的一般树(1)写出它的先序遍历和后序遍历的结果;(2)画出它相应的二叉树;(3)对相应的二叉树,写出它的先序遍历、中序遍历和后序遍历的结果23.找出所有满足下列条件的二叉树;(a) 它们在先序遍历和中序遍历时,得到的结点访问序列相同;(b) 它们在后序遍历和中序遍历时,得到的结点访问序列相同;(c) 它们在先序遍历和后序遍历时,得到的结点访问序列相同。

24.画出下列一般树所对应的二叉树, 同时写出一般树的前序遍历和后序遍历的结果,以及所对应的二叉树的前序遍历、中序遍历和后序遍历的结果。

25.对右面的一般树(4)写出它的先序遍历和后序遍历的结果;(5)画出它相应的二叉树;(6)对相应的二叉树,写出它的先序遍历、中序遍历和后序遍历的结果26.画出下列一般树所对应的二叉树, 同时写出一般树的前序遍历和后序遍历的结果,以及所对应的二叉树的前序遍历、中序遍历和后序遍历的结果.27.已知一棵二叉树的中根序列和后根序列分别为BDCEAFHG和DECBHCFA,试画出这棵二叉树。

28.分别画出含3个结点的树和二叉树的所有不同形态。

29.分别画出在线性表(a,b,c,d,e,f,g)中进行二分查找关键码e和g的过程。

30.一棵二叉排序树的结构如下图,结点的值为1~8 ,请标出各结点的值。

31.设有关键码序列{20,35,40,15,30,25,38}. 试从空树开始,画出二叉排序树的建树过程,然后依次删除结点35和25.32.给定表(19,14,22,02,56,21,85,24,55,10,13),试按元素在表中的次序将它们依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树。

33.给定有序表(87,155,188,210,451,500,520,586,655,680,710,788,800,900),用二分查找法在有序表中查找586,试用图示法表示出查找过程。

相关文档
最新文档