数据结构复习提纲
- 格式:pdf
- 大小:125.78 KB
- 文档页数:3
试题形式:
一. 判断题(共20分)
二.选择题(共24分)
三.填空题(共20分)
四.应用题(共25分)
五.算法设计(共11分)
大家复习的时候注意借助PPT的演示,以便更好地理解
********************ch1
1,基本概念: 数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储(物理)结构、数据类型、算法(可能题型:判断、选择)
2,四种基本逻辑结构(p5)
3,两种存储结构
4,算法的五个重要特性(p13)、算法设计的原则(p13)(重在理解。
可能题型:判断、选择)
5,时间复杂度、空间复杂度(重在理解)
********************ch2
2.1
1,线性表的逻辑特征(理解)---线性表前驱后继的一对一关系
2,定义逻辑结构----------给出线性表逻辑结构ADT List (基本操作可省略)
2.2
1,用c语言定义一个线性表顺序存储结构(程序)
2,利用以上定义,实现顺序表的各种基本运算(建立、插入、删除等)、并能在基本运算基础上实现更为复杂的算法.(算法题)
2.3
1,用c语言定义一个线性表链式存储结构(程序)
2,利用以上定义,实现链表的各种基本运算(建立、插入、删除等。
插入删除是重点)、并能在基本运算基础上实现更为复杂的算法.(算法题)
3,区分概念:头结点、头指针、首元结点(理解)
4,了解循环链表
补充:
特别提示: 算法原理----理解---链式存储结构的插入和删除原理,建立单链表的两种方法:头插法,尾插法
特别提示: 存储结构图示---按给出的建表序列画出头插法和尾插法建立的单链表
特别提示: 链表和顺序表各自的优缺点(理解)
********************ch3栈和队列
(1)堆栈与队列的基本概念、基本操作。
(2)堆栈与队列的顺序存储结构与链式存储结构的构造原理。
(3)在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作。
栈-基本概念----栈的定义,特性,栈顶,栈底,进栈,退栈栈的操作原则:后进先出.
问题1:根据进栈序列和出栈序列求操作串.
顺序栈---------用c语言定义一个栈的顺序存储结构(程序)
以以上定义为准,实现顺序栈的各种基本运算.(算法题)重点: 进栈Push 出栈Pop
栈的应用: 数制转换(理解算法, 题型:算法填空)
队列-基本概念-------队列的定义,特性,队尾,队首,入队,出队队列的操作原则:先进先出.
------用c语言定义一个队列的链式存储结构(程序)
以以上定义为准,实现链式队列的各种基本运算.(算法题)
*入队列enQueue
*出队列deQueue
------了解循环队列,理解其判空(front==rear)和判满(front==(rear+1)%MAXQSIZE)条件
第六章树和二叉树
(1)树与二叉树的基本术语及概念,包括树形结构的基本特征、名词术语(p120—理解)以及基本操作。
(2)二叉树的基本性质(p123—p124)、二叉树的二叉链表存储结构、二叉树前序、中序、后序和按层次遍历方法以及利用遍历操作解决一些关于二叉树的其它操作。
(3)树和森林(存储结构、互相转换、遍历)
(4)理解最优二叉树(赫夫曼树)的意义、最优二叉树(赫夫曼树)的构造算法、利用最优二叉树得到赫夫曼编码的方法。
要点:
理解------树的递归定义
基本概念(理解)----- 1)度 2)分支结点和叶结点 3)路径和路径长度 4)孩子结点\双亲结点\兄弟结点 5)层次和高度 6)有序树和无序树 7)森林 8)满二叉树,完全二叉树
二叉树的存储结构------顺序结构(掌握基本表示规则即可,注:对照完全二叉树编号规则以及二叉树性质5)
------二叉树的二叉链表存储结构(掌握表示规则并能应用)。
(掌握)-----------二叉树先序,中序,后序遍历的方法
(掌握)-----------根据给定的树求先根遍历及后根遍历序列
(了解)-----------森林的先序遍历及中序遍历序列(可根据定义求,也可转化为二叉树再遍历)存储结构图示-----------根据给定的树画出孩子兄弟存储结构\ 二叉树和树的转换
(掌握)带权路径长度的计算,会构造赫夫曼树, 会生成赫夫曼编码。
第七章图
(1)图的基本概念,包括定义、分类、名词术语。
术语---度,出度,入度,完全图,子图,简单路径,连通图,连通分量(重点),生成树(重点)等等。
(2)邻接矩阵存储方法和邻接表存储方法的构造原理与特点。
画图-----------根据给出的图画邻接矩阵(无向,有向,带权图),以及根据矩阵画图。
画图-----------根据给出的图画邻接表(无向,有向,带权图)以及根据邻接表画图。
(3)深度优先搜索和广度优先搜索(求序列)-----。
(重点)根据邻接表求序列
(4)理解最小生成树及其特点、掌握普里姆算法或克鲁斯卡尔算法(画图—生成最小生成树)。
第9章查找
基本概念-------关键字,静态查找表,动态查找表,平均查找长度ASL
算法-----------理解-------顺序查找的方法(注意:理解监视哨的作用)
算法-----------理解-------折半查找的方法
算法图示-------根据给定静态查找表,画出对应的二叉判定树(p-220),根据判定树分析平均查找长度。
逻辑结构图示-----------二叉排序树的插入和删除操作(画图)
性质--------------二叉排序树中序遍历序列是递增有序序列
二叉排序树和平衡二叉树的构造(画图)
第10章内部排序
理解排序的基本概念及相关概念的区分-----关键字、内部排序、外部排序、排序的稳定性。
理解直接插入排序和折半插入排序的方法(能获得一趟排序后的序列)
理解希尔排序的方法(能获得一趟排序后的序列)
理解快速排序的方法(能获得一趟排序后的序列)
算法设计---一趟快速排序算法(或称为一次划分Partition) (274页)
简单选择排序的优点---数据移动操作少(移动操作为线性阶复杂度)
理解堆排序的方法(画图题---能画出筛选法的结果图\能利用筛选法建堆)
能正确分析几种典型排序算法的复杂度:(起泡排序、快速排序---平均和最坏复杂度;简单选择排序----比较操作的复杂度、移动操作的复杂度;堆排序---平均和最坏复杂度)
2路归并排序的优点---一种稳定排序策略,(而快速排序与堆排序都不稳定)
要点提示:
理解衡量排序算法时间效率包含哪两个基本操作:关键字比较次数、数据移动次数。
堆排序的优点---最坏时间复杂度仍能保持o(nlogn), 而快速排序最坏会退化到起泡排序o(n^2)。