《C题库期末复习》课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C题库期末复习》课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C题库期末复习 题库 期末 复习 课件
- 资源描述:
-
1、BUPT期末复习BUPT1第一章 绪论 数据结构的基本概念和术语 数据、数据元素、数据项、数据对象、数据结构等基本概念 数据结构的逻辑结构,存储结构及数据运算的含义及其相互关系 数据结构的四种逻辑结构及四种常用的存储表示方法 抽象数据类型的概念及其与数据结构的关系BUPT2 算法的描述和分析 算法、算法的时间复杂度和空间复杂度的概念 算法描述和算法分析的方法 BUPT3第二章 线性表线性表的逻辑结构 线性表的逻辑结构特征 线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算 BUPT4 线性表的顺序存储结构 顺序表的存储方式及它如何映射线性表中元素之间的逻辑关系 顺序表的存储结构定义 线
2、性表基本运算在顺序表上的实现方法及其时间性能分析 利用顺序表设计算法解决应用问题 BUPT5 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。解题思路:在递增有序的顺序表中插入一个元素解题思路:在递增有序的顺序表中插入一个元素x,首先应查找待插入元素的位置。因顺序表元素递首先应查找待插入元素的位置。因顺序表元素递增有序,采用折半查找法比顺序查找效率要高。增有序,采用折半查找法比顺序查找效率要高。查到插入位置后,从此位置直到线性表尾依次向查到插入位置后,从此位置直到线性表尾依次向后移动一个元素位置,之后将元素后移动一个元素位置,之后将元素x插入即可
3、。假插入即可。假设顺序表设顺序表va存放在数组存放在数组A中(假设下标从中(假设下标从1开开始)。始)。void Insert(ElemType A,int size,ElemType x)。low=1;high=num;/假设下标从1开始 while(lowx)high=mid-1;else low=mid+1;for(i=num;i=low;i-)Ai+1=Ai;元素后移。Ai+1=x;将元素x插入。算法结束 BUPT6 线性表的链式存储结构 链表的存储方式及它如何映射线性表中元素之间的逻辑关系 链表中头指针和头节点的使用 单链表、双链表、循环链表在链接方式上的区别 各种链表的存储结构定义
4、 线性表基本运算在链表上的实现方法及其时间性能分析 循环链表上尾指针取代头指针的作用 利用链表设计算法解决简单的应用问题BUPT7 已知线性表中的元素以值递增有序排列,并以单链表(带头结点)作为存储结构,试写一算法删除表中所有值大于mink且小于maxk的元素。解题思路:首先找到最后一个元素值小于等于解题思路:首先找到最后一个元素值小于等于mink的结点的结点位置(位置(q);再往后依次删除结点直到第一个值大于等于);再往后依次删除结点直到第一个值大于等于maxk结点为止。结点为止。void delete(sqlist*la,int mink,int mark)sqlist*p,*q,;q=l
5、a;p=la-next;while(p&p-datanext;while(p&p-datanext;free(p);q-next=p;BUPT8 写出单链表(带头结点)就地逆置算法。void reverse(linklist*h)linklist p,q;p=h-next;h-next=NULL;while(p!=null)q=p;/q指向当前结点 p=p-next;/p指向下一个结点 q-next=h-next;/将*q插入到*h之后 h-next=q;BUPT9 顺序表和链表的比较 顺序表和链表的主要优缺点 根据应用问题的时空要求,为线性表选择合理的存储结构BUPT10第三章 栈与队列栈的
6、逻辑结构,存储结构及其相关算法栈的逻辑结构特点,栈与线性表的关系顺序栈和链栈的存储结构定义顺序栈和链栈上进栈、退栈等基本运算的实现方法栈上的“上溢”和“下溢”的概念及其判别条件递归过程中栈的作用设计递归程序的原则和方法利用栈设计算法解决简单的应用问题 BUPT11 假设以S和X分别表示入栈和出栈操作,则对初态和终态均为空的栈操作可由S和X组成的序列表示(如SXSX)。(1)试指出判别给定序列是否合法的一般规则。(2)两个不同合法序列(对同一输入序列)能否得到相同的输出元素序列?如能得到,请举列说明。(1)通常有两条规则。第一是给定序列中S的个数和X的个数相等;第二是从给定序列的开始,到给定序列
7、中的任一位置,S的个数要大于或等于X的个数。(2)可以得到相同的输出元素序列。例如,输入元素为A,B,C,则两个输入的合法序列ABC和BAC均可得到输出元素序列ABC。对于合法序列ABC,我们使用本题约定的SSS操作序列;对于合法序列BAC,我们使用SSS操作序列。BUPT12 试证明:若借助栈由输入序列1,2,n得到输出序列为P1,P2,Pn(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着ijk,使PjPkPi。如果ij,则对于pipj的情况,则说明要将pj压到pi之上,也就是在pj出栈之后pi才能出栈。这就说明,对于ijk,不可能出现pjpkdata=x;s-next
8、=rear-next;/将s结点链入队尾 rear-next=s;rear=s;/rear指向新队尾void DeQueue(LinkedList rear)if(rear-next=rear)printf(“队空n”);exit(0);s=rear-next-next;/s指向队头 rear-next-next=s-next;/队头出队。printf(“出队元素是”,s-data);if(s=rear)rear=rear-next;/空队列 free(s);BUPT15第四章 串 串及其运算 串的概念及其与线性表的关系 串上定义的基本运算,并能利用基本运算构造出较复杂的运算 BUPT16 串
9、的存储结构和基本运算的实现 串的两种主要存储结构顺序串和链串的存储结构定义(C语言的类型描述)顺序串上串的基本运算的实现 朴素的模式匹配算法与朴素的模式匹配算法与KMP算法的算法思想及算法的算法思想及时间复杂度分析时间复杂度分析 KMP算法中算法中next和和nextval数组的求值方法数组的求值方法 BUPT17 求模式串t1=aaab,t2=abcabaa,t3=adabbadada的next和nextval数组值 BUPT18第六章 树 树的概念 树的逻辑结构特征 树的常用术语及含义BUPT19 二叉树 二叉树的定义,二叉树与树的差别 完全二叉树和满二叉树的概念 二叉树的性质 二叉树的顺
10、序存储结构和链式存储结构的定义(C语言的类型描述)和表示方法BUPT20 二叉树的遍历 二叉树的先序、中序、后序、层序遍历算法 求给定二叉树的先序、中序、后序遍历对应的结点访问序列 由二叉树的先序和中序、中序和后序、中序和层序的序列确定二叉树 以遍历算法为基础,设计有关算法解决简单的应用问题BUPT21 线索二叉树 二叉树线索化的目的 线索二叉树存储结构的表示方法 在线索二叉树中查找给定结点的前趋和后继的方法BUPT22 树和森林 树和森林与二叉树之间的转换方法和对应关系 树的各种存储结构的表示方法及其特点 树的先序和后序遍历方法 森林的先序和中序遍历方法BUPT23 哈夫曼树及其应用 最优二
展开阅读全文