电大数据结构综合体
最新电大数据结构(本)综合题 精选

三、综合题(每小题10分,共30分)1.设查找表为(7,15,21,22,40,58,68,80,88,89,120),元素的下标依次为1,2,3, (11)(1)画出对上述查找表进行折半查找所对应的判定树(树中结点用下标表示)图4(2)说明成功查找到元素40需要经过多少次比较?4次(3)求在等概率条件下,成功查找的平均比较次数?ASL=(1+2*2+3*4+4*4)/11=32.(1)如果二叉树中任一结点的值均大于其左孩子的值、小于其右孩子的值,则该树为二叉排序树,这种说法是否正确?若认为正确,则回答正确,若认为不正确,则举例说明。
不正确。
例(图5)(2)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据,构造一棵二叉排序树。
图63.(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树,给出相应权重值叶结点的哈夫曼编码。
图72:00003:00014:0017:108:119:01(2)一棵哈夫曼树有n个叶结点,它一共有多少个结点?简述理由?2n-1个,因为非叶结点数比叶结点数少一个1.一组记录的关键字序列为(46,79,56,38,40,84)(l)利用快速排序的方法,给出以第一个记录为墓准得到的一次划分结果。
(给出逐次交换元素的过程,要求以升序排列)初始序列46,79,56,38,40,8440,79,56,38,40,8440,79,56,38,79,8440,38,56,38,79,8440,38,56,56,79,8440,38,46,56,79,84(2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。
2.设查找表为(16,15,20,53,64,7)(1)用冒泡法对该表进行排序(要求升一序排列),要求写出每一趟的排序过程,通常对n个元素进行冒泡排序要进行多少趟冒泡?第j趟要进行多少次元素间的比较?(2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树。
中央广播电视大学 - 浙江广播电视大学

浙江广播电视大学软件开发与应用、计算机网络与维护等专业《数据结构》考试大纲第一部分考核说明第一部分考核说明《数据结构》课程是浙江广播电视大学软件开发与应用、计算机网络与维护等专业的一门核心课程,起到承上启下的作用和地位,主要任务是讨论数据的各种逻辑结构、存储结构以及相应运算的算法。
考核对象:浙江广播电视大学软件开发与应用、计算机网络与维护等专业的学生。
教学媒体:主教材《数据结构》许卓群主编中央广播电视大学出版社出版。
实验教材《数据结构实验》徐孝凯编中央广播电视大学出版社出版。
录像教材《数据结构》20讲刘杰主讲中央电大音像出版社出版。
命题依据:本考核说明严格按照浙江广播电视大学软件开发与应用、计算机网络与维护等专《数据结构》课程教学大纲编写。
考核要求:考核学生掌握和运用数据结构基本概念和知识分析和编写数据处理算法的能力。
具体考核要求分为以下3个层次:了解:了解数据结构的一些基本概念。
包括线性表、栈、队列、链表、树、二叉树、二叉搜索树、堆、哈夫曼树、图、网、二分查找、索引查找、分块查找、散列查找、堆排序、快速排序、归并排序等概念。
掌握:能够分析现成程序和算法,即指出功能或写出运行结果;能够写出对已知数据进行相应运算的数据变化过程和最终结果。
应用:能够根据解决问题的需要选择数据结构和编写算法。
命题原则:1. 严格按照该课程教学大纲和考核说明的要求命题。
2. 试题的覆盖面较广,并适当突出重点。
3.试题的难易程度和题量适当,按难易程度分为三个层次:容易占40%,一般占40%,较难占20%。
4.题型有五种:单选题、填空题、运算题、阅读算法并回答问题、编程题。
考核形式:采用期末考核与形成性考核相结合的方式。
形成性考核:视平时作业和实验等情况给分,占考核总成绩的20%。
形成性考核成绩由所在教学点评定。
期末考核:采用笔试,占总成绩的80%,由浙江广播电视大学统一命题,考试方式为闭卷,答卷时限为90分钟。
第二部分考核内容及要求第一章绪论重点掌握的内容:1. 数据结构的二元组表示,对应的图形表示,序偶和边之间的对应关系。
(中央电大)数据结构实验报告2

实验结论: 栈和队列是运算受限制的线性表 ? 栈:后进先出(LIFO) ? 例:进栈b, c, d, e, f 出栈可能为 f, e, d, c, b; b, c, d, e, f ; c, b, e, d, f ???但不可能是e, d, f, b, c ? 队列:先进先出(FIFO) ? 例:入队1,2,3,4,5 出队1,2,3,4,5
中央广播电视大学实验报告(学科:数据结构 ) 姓名 成绩评定 班级 学号 教师签名 实验日期 批改日期
实验名称:实验二 栈、列队、递归程序设计 2.1 栈和队列的基本操作 【问题描述】 编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。 【基本要求】 (1)正确理解栈的先进后出的操作特点,建立初始栈,通过相关操作显示栈底元素。 (2)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作规则 打印结果栈中的元素。 【实验步骤;】 (1) 运行PC中的Microsoft Visual C++ 6.0程序, (2) 点击"文件"→"新建" →对话窗口中"文件" →"c++ Source File" →在"文件名"中 输入"X1.cpp" →在"位置"中选择储存路径为"桌面" →"确定", (3) 输入程序代码, 程序代码如下: #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int top; //栈顶指针 } SeqStack;//定义栈 typedef struct { ElemType elem[MaxSize]; int front,rear; //队首和队尾指针 } SqQueue;//定义队列 //---初始栈函数 void InitStack(SeqStack *&s) { s=(SeqStack *)malloc(sizeof(SeqStack)); s->top=-1; } //----进栈函数 int Push(SeqStack *&s,ElemType e) { if (s->top==MaxSize-1) return 0; s->top++; s->data[s->top]=e;
《数据结构》(开放本科)课程教学一体化设计方案

《数据结构》(开放本科)课程教案一体化设计方案一、课程的性质和任务《数据结构》是计算机科学与技术专业本科生的一门必修课程。
本课程介绍如何组织各种数据在计算机中的存储、传递和转换。
内容包括:线性表、栈和队列、串、数组与广义表、树与二叉树、图、查找、排序等。
C 语言作为算法的描述工具,强化数据结构基本知识和程序设计基本能力的双基训练。
为后续计算机专业课程的学习打下坚实的基础。
二、先修课要求C语言、计算机数学(离散数学)。
三、课程的教案基本要求1 、掌握重要数据结构的概念、使用方法及实现技术;2 、学会做简单的算法分析,包括算法的时间代价和空间代价。
四、教案方法和教案形式建议面授辅导为主、辅以网上答疑,小组讨论,专题论坛,学生自主观看教案光盘。
教师阶段性的进行作业评讲,总结复习、同时进行必要的上机实验。
五、考试期末考试由中央电大统一命题,统一评分标准,统一考试时间。
学生的本课程成绩按平时的形成性考核成绩满分 20 分,其中平时作业占50%,上机实验占30%,网上学习占20%;期末考试满分80 分,合并计算。
六、文字教材及媒体本课程的文字教材包括《数据结构》主教材。
中央广播电视大学出版社出版,李伟生编著;计算机网页:安徽电大及电大在线挂有教案信息、重难点辅导、作业安排、模拟试卷等。
七、教案环节有三个教案环节:授课,作业和教案实验,考试。
面授辅导课安排8次:主要精讲重难点、答疑解惑、作业讲评、与学生讨论交流、专题讲座、指导学员掌握自主学习方法等。
网上教案:网络非实时答疑,过电大在线课程论坛进行。
根据需要布置一次网络期中测试。
学生也可通过安徽电大在线了解本课程的教案信息、重难点辅导、作业安排、模拟试卷等。
实验教案:实验课安排4次。
实验地点在电教楼3楼。
要求在开通实验前在所有教案微机上安装C的编译程序。
使用Turbo c为实验语言。
课程总成绩的记分方法:形成性考核成绩在课程总成绩中占20%,终结性考试成绩在课程总成绩中占80%。
(中央电大)数据结构实验报告

中央广播电视大学实验报告(学科:数据结构)姓名单位班级学号实验日期成绩评定教师签名批改日期实验名称:实验一线性表线性表的链式存储结构【问题描述】某项比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:(1)显示在评分中给出最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)。
(2)在链表中删除一个最高分和一个最低分的结点。
(3)计算该参赛者去掉一个最高分和一个最低分后的平均成绩。
【基本要求】(1)建立一个评委打分的单向链表;(2)显示删除相关结点后的链表信息。
(3)显示要求的结果。
【实验步骤】(1)运行 PC中的 Microsoft Visual C++ 6.0 程序,(2)点击“文件”→“新建”→对话窗口中“文件”→“ c++Source File ”→在“文件名”中输入“ X1.cpp ”→在“位置”中选择储存路径为“桌面”→“确定”,(3)输入程序代码,程序代码如下 :#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <iostream.h>#include <conio.h>#define NULL 0#define PWRS 5 // 定义评委人数struct pw // 定义评委信息{ char name[6] 。
float score。
int age。
} 。
typedef struct pw PW 。
struct node // 定义链表结点{struct pw data 。
struct node * next 。
} 。
typedef struct node NODE 。
NODE *create(int m) 。
//创建单链表int calc(NODE *h) 。
//计算、数据处理void print(NODE *h)。
国家开放大学(电大)数据结构(本)阶段性学习测验答案

一、单项选择题(每小题3分,共60分)题目1把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
A. 物理结构题目2下列说法中,不正确的是()。
C. 数据项可由若干个数据元素构成题目3一个存储结点存储一个()。
C. 数据类型题目4数据结构中,与所使用的计算机无关的是数据的()。
A. 逻辑结构题目5在线性表的顺序结构中,以下说法正确的是()。
B. 逻辑上相邻的元素在物理位置上也相邻题目6对链表, 以下叙述中正确的是()。
D. 不能随机访问任一结点题目7下列的叙述中,不属于算法特性的是()。
B. 可读性题目8算法的时间复杂度与()有关。
A. 算法本身题目9设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
B. n-i+1题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
C. n-i题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
C. p->next=q->next题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
A. s->next=p->next; p->next=s;题目13非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
A. p->next==head题目14链表不具有的特点是()。
B. 可随机访问任一元素题目15带头结点的链表为空的判断条件是()(设头指针为head)。
C. head->next==NULL题目16在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。
则原顺序表的长度为()。
C. 20题目17有关线性表的正确说法是()。
B. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继题目18向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。
最新国家开放大学电大本科数据结构期末题库及答案

最新国家开放大学电大本科《数据结构》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《数据结构》题库及答案一一、单项选择题。
在括号内填写所选择的标号(每小题2分。
共l8分)1.下面程序段的时间复杂度为( )。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;A.O(m2) B.O(n2)C.O(m*n) D.0(m+n)2.在二维数组中,每个数组元素同时处于( )个向量中。
A.0 B.1C.2 D.n3.设有两个串t和P,求P在t中首次出现的位置的运算叫做( )。
A.求子串 B.模式匹配C.串替换 D.串连接4.利用双向链表作线性表的存储结构的优点是( )。
A.便于单向进行插入和删除的操作B.便于双向进行插入和删除的操作C.节省空间D.便于销毁结构释放空问5.设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行( )操作。
A.top一>link=S;B.s一>link=top一>link;top一>link=S;C.S-->link=top;top—S;D.s一>link=top;top—top一>link;6.一棵具有35个结点的完全二叉树的高度为( )。
假定空树的高度为一l。
A.5 B.6C.7 D.87.向具有n个结点的堆中插入一个新元素的时间复杂度为( )。
A.O(1) B.0(n)C.O(log2n)D.O(nlog2n)8.在一棵AVL树中,每个结点的平衡因子的取值范围是( )。
2021国开大学电大本科《数据结构》期末试题及答案(试卷号:1252)

国家开放大学电大本科《数据结构》期末试题及答案〔试卷号:1252〕用分|评卷人| 工.———一、单项选择腰〔把合适的选项Ml号填写在括号内。
符小分.共----------------------- 45 分〕】・在数据结构中.从谟捌上可以把数据结枸分为《A.动态结构和静态结构C.内部结构和外部结构2.下面程序段的时间复杂度是〔J.H.紧密籍构和非紧漠结构D.找性结构和非线性结构for(i=l i!<- nii4-4 )fcr(i=顷 V = n$ j + 十〞for(k=l ik< = nilc-f- +)cCiWAcEE+MiNk】"住1口\2(XD& 0( logj n >C. O(n)D.〔〕3〕3.在一个单堡表中p指向结点a・q疳向结点A的宜接后撰结点b.要删除结点b.可执行〔〕•A. p~ >ncxt ~q >nrxt C. p —>next = qB. p«q ->nextD・ p—>next = q4.讹0 •个氏世为■的响序戊•要在.第,个兀素之UU〔也就是柚人无素作为新&的t 元蒙〕・!•人一个兀索•网椎劫元泰个散为〔A> n—1B. n-i^ 1C n—i+l D・i5.一个队刊的入队序州站L2.LL南队列的知出序列惬〔A. 4.3,2J C L4.3.2K 1.2.3.4 11 3,2.1.16. 在一个tUKM*l为mp的燃蚀中.将一卜pIMf所桁的M点入校•应执Ae top—>next*pK p—>nrx< - top :>nrxt i lop- >nrxt p(\ p >next*tupi 1叫尸"Pfh p >next top >nrxti top lt)p->nexi7. n|Wr-个棚环队州Q(JB 8几•素为m)为满的条fllH )・A. Q->front - - Q -: -rearK Q- > front I Q— >gr〔*. Q —Xronl 《Q—Arsr+1〕% n\D. Q —>froni! IQ—>fr"+1〉X m8. OR个甲p和加4中地p的子巾•求Q在p中H次出现的位置的算Ifc林为〔〕•A.求子申H.C模式西ft! 口,求中长9. -个N空广义&的AK 〕.A.不可能是障于H.RfiB暴于取C HIBftUK-f D・可以址于去或瞬*10. 料中的留点散等于所础点的度数如〔〕・A. IB. 0C 2 D.一1it a m h.»5/2的靖仪故皱参为〔〕.A- M H. 15c« 1612.在一个图G中,所有顶点的度数之和等于所有边数之和的〔〕倍。
2023年7月国开电大本科《数据结构》期末考试试题及答案

2023年7月国开电大本科《数据结构》期末考试试题及答案试题部分1. 请简述数据结构的定义及其作用。
2. 什么是栈和队列?请分别描述它们的特点和应用场景。
3. 字符串是一种常见的数据类型,请列举至少两种常见的字符串操作方法,并解释它们的作用。
4. 请说明二叉树的定义和特点,并给出一个二叉树的示例。
5. 简要描述图的基本概念,并给出一个使用邻接矩阵表示图的例子。
6. 请解释深度优先搜索(DFS)和广度优先搜索(BFS)算法的原理,并说明它们在图的遍历中的应用。
7. 树的遍历是指按照一定顺序访问树中的所有节点。
请解释前序遍历、中序遍历和后序遍历的概念。
8. 请解释散列函数的作用和原理,并说明散列表在实际中的应用。
9. 简要介绍至少两种排序算法,并分别说明它们的时间复杂度。
10. 简述动态规划算法的原理及应用场景。
答案部分1. 数据结构是指数据元素之间的关系,以及对数据元素的操作。
它的作用是组织和存储数据,以便高效地访问和操作。
2. 栈是一种只能在一端进行插入和删除操作的线性数据结构,特点是后进先出(LIFO)。
它常用于括号匹配、表达式求值等场景。
队列是一种只能在一端插入,在另一端删除的线性数据结构,特点是先进先出(FIFO)。
它常用于任务调度、缓存管理等场景。
3. 常见的字符串操作方法包括字符串连接、子串查找。
字符串连接用于将两个字符串合并为一个字符串。
子串查找用于在一个字符串中找到特定子串的位置或判断子串是否存在。
4. 二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。
它的特点是具有递归的结构,可以用于实现排序、查找等功能。
例如,下图是一个二叉树的示例:A/ \B C/ \D E5. 图是由节点和边组成的一种数据结构,节点表示实体,边表示节点之间的关系。
邻接矩阵可以用于表示图结构,矩阵的行和列分别表示节点,矩阵中的值表示节点之间的关系。
例如,下面是一个使用邻接矩阵表示的图的例子:| A | B | C |--|---|---|---|A| 0 | 1 | 1 |B| 1 | 0 | 1 |C| 1 | 1 | 0 |6. 深度优先搜索(DFS)和广度优先搜索(BFS)是图的遍历算法。
最新国家开放大学电大《数据结构》期末题库及答案

最新国家开放大学电大《数据结构》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《数据结构》题库及答案一一、单项选择题1. 给定有n个元素的向量,建立一个有序单链表的时间复杂度是( C )。
A. O(1)B. O(n)C. O(n2)D. O(nlog2n)2. 带表头的双向循环链表的空表满足( B )。
A. first=NULL;B. first->rLink==firstC. first->lLink==NULLD. first->rLink==NULL3. 栈的插入和删除操作在( A )进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置4. 在一个顺序存储的循环队列中,队头指针指向队头元素的( A )位置。
A. 前一个B. 后一个C. 当前D. 后面5. 假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为( D )。
A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear6. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行( A )操作。
A. x=top->data; top=top->link;B. top=top->link; x=top->data;C. x=top; top=top->link;D. x=top->data;7. 为增加内存空间的利用率和减少溢出的可能性, 由两个栈共享一块连续的内存空间时, 应将两栈的( D )分别设在这块内存空间的两端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、综合题
1.(1)对给定权值3,1 ,4,4,5,6,构造深度为5的哈夫曼树。
(设根为第1层)。
(2) 求树的带权路径长度。
(3
答:(2) WPL=3*4+1*4+4*3+6*2+4*2+5*2=58 (3) 共11个结点,22个指针域,除根结点外, 每个结点对应一个指针域.,共10个指针域非空, 故有 22-10=12个空指针域, 2.
(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树( 要求每个结点的左子树根结点的权小于等于右子树根结点的权),给出相应权重值叶结点的哈夫曼编码。
(2) 一棵哈夫曼树有n 个叶结点,它一共有多少个结点?简述理由?
答:(1) 2:1110 3: 1111 4:110 7:
00 8:01 9:10
(2)2n-1个,因为非叶结点数比
叶结点数少一个。
3. (1) 如下的一棵树,给出先序遍历序列
(2) 把1,2,3,4,5,6,7,8,9填人,使它成为一棵二叉排序树
提示:设图中的树是二叉排序树,找出中序遍历序列与 1,2,…9的对应关系 (3) 请在该树中再插入一个结点3.5作为叶结点,并使它仍然是一棵二叉排序树 答:1 A1 A2 A4 A7 A8 A5 A9 A3 A6
(2)如图1
4.一组记录的关键字序列为(46,79,56,38,40,84)
(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元素的过程,要求以升序排列) (2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。
79,56,38
84 40
56,3884
405679,84 40,38
79,84 40,3856,79,84 40,3856,79,84
5.设查找表为(5,6,7,8,9,10,11,12,13,14)
(1)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点) (2) 给出二叉排序树的定义,针对上述折半查找所对应的判定树的构造过程,说明判定树 是否是二叉排序树(设树中没有相同结点)?
(3) 为了查找元素5.5,经过多少次元素间的比较才能确定不能查到? 答:(1)
如图
(2)二叉排序树或者是一棵空树,或者是一棵具有下列性质的二叉排: 若它的左子树 非空,则左子树的所有结点的值都小于它的根结点的值; 若它的右子树非空,则右子树的所有结点的值都大于( 若允许结点有相同的值,则大于等于)它的根结点的值; 左,右子树也是一棵二叉排序树,按定义判定树是二叉排序树。
(3). 3次
6.设查找表为(50,60,75,85,96,98,105,110,120,130)
(1) 说出进行折半查找成功查找到元素120需要进行多少次元素间的比较? (2) 为了折半查找元素95,经过多少次元素间的比较才能确定不能查到?
(
3)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点) 答:(1)3次
(2)4次
1. (1) 说明什么是顶点活动网(AOV 网)和拓扑序列 (2)设有向图G 如下,写出3种拓扑序列,
(3)在图G 中增加一条边,使图G 仅有一条拓扑序列 答:(1)顶点活动网(AOV 网):顶点表示活动,
边表示活动间先后关系的有向图叫做顶点活动网(AOV 网)。
拓扑序列:在AOV 网中,若不存在回路,则所有活动可排列成一个线性序列, 使得每个活动的所有前驱活动都排在该活动的前面,此序列叫做拓扑序列。
(2)3种拓扑序列: a, b, d, c
a, d, b, c d, a, b, c
(3)仅有一条拓扑序列为:a, b, d, c
2.设查找表为(16,15,20,53,64,7),
(1)用冒泡法对该表进行排序(要求升序排列),写出每一趟的排序过程,通常对n 个元素进行冒泡排序要进行多少趟冒泡?第j 趟要进行多少次元素间的比较?
(2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树.(要求以数据元素作为树结点) (1)原序列
16 15 20 53 64 7
15 16 20 53 7 64 n-1趟 15 16 20 7 53 64 n-j 次 15 16 7 20 53 64 15 7 16 20 53 64 7 15 16 20 53 64
(3)平均查找长度=(1*1+2*2+3*3)/6=14/6 3.如下是一棵二叉排序树,A1,A2, (9)
表1,2,3,…9中各个不同数字, (1)给出对该树中序遍历的结果 (2) A3,A5,A7的值各为多少?
(3)请在该树中再插入一个结点9 .5作为叶结点, 并使它仍然是一棵二叉排序树
答(1) 中序 A7, A4, A8, A2, A5, A9, A1, A3, A6 (2) A3,A5,A7的值分别为8, 5, 1
4.
(1) 设有查找表{5,14,2,6,18,7,4,16,3},依次取表中数据,构造一棵二叉排序树。
(2)说明如何由序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果。
答案:(2)中序遍历
中序2,3,4,5,6,7,14,16,18
5.
(1) 设有查找表{17,26,14,16,15,30,18,19,28},依次取表中数据构造一棵二叉
排序树.
(2) 对上述二叉树给出后序遍历的结果
(3). 对上述二叉树给出中后序遍历的结果
(4)) 在上述二叉树中查找元素15共要进行多少次元素的比较?
答(2)后序15, 16, 14, 19, 18, 28, 30, 26, 17
(3)中序14, 15, 16, 17, 18, 19, 26, 28, 30
(4)4次
6.(1)对给定权值2,1,3,3,4,5,构造哈夫曼树。
(2)同样用上述权值构造另一棵哈夫曼树,使两棵哈夫曼树有不同的高度,并分别求两棵树的带权路径长度。
wp12=45
1.(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树。
(2)若上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e的大小关系。
(3)给出该树的前序遍历序列。
答:(1)(2)d<b<e<a<c
(3)abdec
2.(1) 以3,4,5,8,9,10作为叶结点的权,构造一棵哈夫曼树。
(2) 给出相应权重值叶结点的哈夫曼编码。
(3) 一棵哈夫曼树有2n-1个结点,它是共有多少个权重值构造而成的?简述理由?
答:(2) 3 0000
4 0001
5 001
10 01
8 10
9 11
(3)n个,因为非叶结点数比叶结点数少一个,
而权值个数=叶结点数
3.(1)利用筛选过程把序列{42,82,67,102,16,32,57,52}建成堆(小根堆),画出相应的完全二叉树(不要求中间过程)。
(2)写出对上述堆对应的完全二叉树进行中序遍历得到的序列。
3.(1)
(2)102,52,42,82,16,67,32,57
4.(1)简述拓扑排序的步骤。
(2)说明有向图的拓扑序列不一定是唯一的原因。
(3)如何利用拓扑排序算法判定图是否存在回路。
(4)设有向图G如下,写出首先删除顶点1的3种拓扑序列。
答:(1) 循环执行以下两步
选择一个度为0的顶点并输出
从网中删除此结点及所有出边
(2)因为选择一个度为0的顶点时不一定是唯一的
(3)由顶点活动网构造拓扑序列的过程中,输出结点后,余下的结点均有前驱
5.设查找表为(11,12,13,14,15,16,17,18,19,20,21) ,元素的下标从0开始。
(1)画出对上述查找表进行折半查找所对应的判定树(树中结点用数值表示)(2)说明成功查找到元素15,19各需要经过多少次比较?
(3)说明查找不到元素10,15.5各需要经过多少次比较?
(4)給出中序遍历判定树的序列。
答:
(2) 4次2次
(3)3次4次
(4)11,12,13,14,15,16,17,18,19,20,21
6.设有序表为(21,22,23,24,25,26,27,28,29,30,31,32),元素的下标从0开始。
(1)说出有哪几个元素需要经过4次元素间的比较才能成功查到。
(2)画出对上述有序表进行折半查找所对应的判定树(树结点用数值表示)
(3)设查找元素为5,需要进行多少次元素间的比较才能确定不能查到。
(4)求在等概率条件下,成功查找的平均比较次数?
答(1)5
(2)
(3) 3
(4) ASL=(1+2*2+3*4+5*4)/12=37/12。