数据结构期末复习重点

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

2011-2012-1数据结构期末复习重点

2011/12/22 注:以第4章-第9章为主,红色表示要求掌握的算法。

Chapter 1 Basic Concepts

1.什么是算法?

2.理解Ω、O、Θ、o的含义。

3.对顺序、条件、单循环、循环嵌套语句进行复杂度分析的一般规则。

4.能够运用大O的复杂度分析的方法,对算法进行复杂度分析,并掌握检验分析结果的方法和测量算法运行时间的方法。

Chapter 3-4 Stacks and Queues, Linked Lists

1.ADT的定义。

2. 单链表表示Lists时的数据结构定义、插入操作和删除操作的实现、时间复杂度分析。

3. List的链表表示中为什么要引入头节点(head node)?

4. 双向循环链表表示Lists时的数据结构定义、插入操作和删除操作的实现、时间复杂度分析

5. 什么叫栈,栈有什么特点?

6. 什么叫队列,队列有什么特点?

7. 循环队列的数据结构定义,循环队列中为什么需要有一个单元空着不用?

8. 循环队列中rear、front 初始值是什么?循环队列判空和判满的条件是什么?

算法:

1. 单链表表示List时的数据结构定义、插入操作和删除操作的实现。

2. 双向循环链表表示List时的数据结构定义、插入操作和删除操作的实现。

3. 循环队列表示队列时的进队列和出队列操作。

Chapter 5 Trees

1.二叉树的基本术语

结点的度、树的深度、双亲结点、孩子结点、兄弟结点、叶子结点、路径、路径长度、结点的深度、结点的高度。

2.树

了解树的树的孩子兄弟表示法和双亲表示法,

(1)能将其与二叉树进行互换;

(2)对于给定的某树,可以画出其孩子兄弟表示法示意图;

(3)对于给定的某树,可以画出其双亲表示法示意图。

3.二叉树:

(1)二叉树的5条性质。

(2)二叉树的存储结构

①数组表示法,对于给定的二叉树,能画出其数组表示示意图,反过来,给定二叉树的数组表示时的存储情况,可以画出该二叉树。

②二叉链表表示法,对于给定的二叉树,能画出其二叉链表表示示意图

③线索化二叉树,对于给定的二叉树,能画出其先序、中序和后序线索化二叉树示意图。(3)二叉树的遍历

①对于给定的二叉树,能给出其先序、中序、后序和层次遍历结果。

②给定某二叉树的中序、先序(或后序)序列能画出该二叉树。

③掌握二叉树的中序非递归算法和层次遍历算法。

④掌握求二叉树叶子结点数、结点数、高度或深度等递归算法。

4. Huffman树

(1)掌握Huffman树的构造方法,了解前缀编码的含义;

(2)能用Huffman树来设计字符的不等长编码。对给定的某英文文本,能利用Huffman树设计其各字符的编码,并能计算总编码长度。

5. 二叉搜索树(BST)

(1)二叉搜索树(BST)的定义,对BST进行中序遍历后可得一有序序列;

(2)掌握二叉搜索树的插入、查找算法;

(3)对给定的整数序列,能构造出BST树,并能删除其上的某个结点。

6. A VL树

(1)对给定的整数序列,能构造出A VL树。

算法:

1. 二叉树的中序非递归算法;

2. 二叉树的层次遍历算法;

3. 二叉树叶子结点数、结点数、高度或深度等递归算法;

4.二叉搜索树的插入、查找算法。

Chapter 6 Graphs

1.图的基本术语:

有向图,无向图,有向完全图,无向完全图,邻接点,子图,路径,路径长度,简单路径,回路,连通,强连通,连通分量,强连通分量,生成树,顶点的度,顶点的度与边数的关系。

2.图的存储结构:

(1)图的邻接矩阵表示;

(2)图的邻接表表示;

(3)图的逆邻接表表示;

能对给定图的逻辑结果画出其相应的存储结构,或根据某图的存储结构画出图的逻辑结构。

3.图的遍历

(1)图的深度优先搜索算法;

(2)图的广度优先搜索算法;

(3)对给定的图,能给出从某个顶点出发的dfs和bfs遍历结果。

4.了解Prim和Kruskal算法思想,了解它们的时间复杂度和适用场合,对给定的某边带权值的无向网,能画出相应的最小生成树,并能计算总代价。

5.对给定的某有向无环图,能给出拓扑排序序列。

算法:

1. 图的深度优先搜索算法;

2. 图的广度优先搜索算法;

3. 求图中某个顶点的邻接点;

4. 求图中某个顶点的度。

Chapter 7 Sorting

1. 掌握直接插入排序的算法思想,了解其适合的场合。

2. 掌握希尔算法思想,能用该排序算法对给定的整数序列进行排序,理解h k-sort。

3. 掌握大顶堆和小顶堆的概念,掌握堆排序算法,能用该排序算法对给定的整数序列进行排序,并能判断某序列是否为堆并调整为堆。

4. 掌握归并排序的算法, 能用该排序算法对给定的整数序列进行排序,能给出各趟结果。

5. 掌握快速排序算法,能用来对实际的例子进行排序。

6. 能对直接插入排序、希尔排序、堆排序、归并排序和快速排序进行基于时间和空间复杂度的比较,了解它们各自的适用场合。

算法:

1. 堆排序算法

2. 快速排序算法

3. 归并排序算法

Chapter 7 hashing

(1)了解哈希表的基本概念:哈希函数、哈希表、冲突,装填因子(loading density)及其意义。

(2)掌握常用的哈希函数构造方法和开放定址法的处理冲突方法,并能构造哈希表。

例如:选取哈希函数H(k)=(3k)MOD11 (可换成其他函数)。用开放定址法处理冲突,f(i,k)= i((7k)MOD10+1)(i=1,2,3,…)(可换成是线性探测和二次探测)。试在0~10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度。

(3)能计算查找成功时的平均查找长度。

相关文档
最新文档