当前位置:
文档之家› 西安电子科技大学数据结构课件复习
西安电子科技大学数据结构课件复习
for (i=1; i <=n; i++) { s=0; for (j=1; j <=n; j++) s=s+i×j; if (s%2) print(s) } 西安电子科技大学
①n ② n2 ③ n
- Xidian University, China
数据结构
– Data Structures
第二章 线性表
本章内容:
2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示与实现 2.3.1 线性链表 2.3.2 循环链表 2.3.3 双向链表 2.4 一元多项式的表示及相加
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
数据结构 Data Structures
期末复习
数据结构
– Data Structures
课程⺫目目录
第1章 概论 第2章 线性表 第3章 栈和队列 第4章 串 第5章 数组和干广广义表 第6章 树和二二叉树 第7章 图 第9章 查找 第10章 内部排序
西安电子科技大学 - Xidian University, China
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第三章 栈和队列
本章内容:
3.1 栈 3.1.1 栈的定义 3.1.2 栈的表示和实现 3.2 栈的应用举例 3.3 栈与递归 3.4 队列 3.4.1 队列的定义 3.4.2 链队列 3.4.3 循环队列
A0,0 A1,0 A1,1
. . .
A7,0 A8,0 A7,1 A8,1
. . .
A7,2 A8,2
0
1) 45
B[8]
2) 100+(i(i+1)/2+j)*2
A7,7
...
A8,3
...
A8,8
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
e10
队列空:
Q.rear==Q.front
队列长度:
(Q.rear - Q.front+ MAXSIZE)% MAXSIZE
e5
e4
MAXSIZE=8
Q.rear Q.front
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第四章 串
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
习题举例
令队列空间中的一个单元闲置,使得在任何时刻,保 持Q.rear和Q.front之间至少间隔一个空闲单元
e7 e6
e8
6 5
7 0 4 3
e9
1 2
队列满:
(Q.rear+1)%MAXSIZE == Q.front
Max{k|1<k<j 且‘p1...pk-1’==‘pj-k+1...pj-1’} 1 其他情况
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第五章 数组与广义表
本章内容:
5.1 数组的定义 5.2 数组的表示和实现 5.3 矩阵的压缩存储 5.3.1 特殊矩阵 5.3.2 稀疏矩阵 5.4 广义表的定义 5.5 广义表的存储结构 5.6 m元多项式的表示
树和二叉树
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第六章 树和二叉树
F
学习要点: 1. 掌握树的定义及基本术语:结点、结点的度、叶子、树 的度、孩子、双亲等。 2. 掌握二叉树有关概念和性质:满二叉树、完全二叉树、 4条重要特性。 3. 了解二叉树的两种存储结构及特点。 4. 掌握二叉树的三种遍历方法:先序、中序和后序。 5. 了解线索二叉树的定义以及二叉树的线索化过程。 6. 了解树的存储结构及3种表示方法,掌握树和森林与二叉 树的转换方法。 7. 掌握最优二叉树(赫夫曼树)的定义及相关概念:路 径长度、树的带权路径长度等,掌握建立最优树和赫夫 曼编码的方法。
第二章 线性表
学习要点:
1. 掌握线性表的两种表示示方方法:顺序表和链表 2. 掌握单链表的创建、插入入、删除以及将两个有序表并为 一一个有序表的算法。 3. 了解循环链表、双向链表的基本概念及基本操作。 4. 了解一一元多项式的表示示及加减运算实现。
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
关于考试
考题形式:
填空题(30空,每空1分) 选择题(10题,每题2分) 应用题(4题, 每题5分) 算法题(2题, 每题15分)
成绩统计:考试(闭卷)成绩(60%)+平时成绩(40%) 平时成绩:考勤(5%)+作业(10%)+上机(25%)
西安电子科技大学 - Xidian University, China
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第六章
F 本章内容
6.1 树的定义和基本术语 6.2 二叉树 6.2.1 二叉树的定义及基本运算 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构 6.3 遍历二叉树和线索二叉树 6.3.1 遍历二叉树 6.3.2 二叉树的性质 6.4 树和森林 6.4.1 树的存储结构 6.4.2 森林与二叉树的转换 6.6 赫夫曼树及应用 6.6.1 赫夫曼树(最优二叉树) 6.6.2 赫夫曼编码
数据结构
– Data Structures
习题举例
1. 顺序表中,逻辑上相邻的数据元素在物理位置上( 也相邻 ) 。 线性表L=(a1,a2,...,an)采用顺序存储,假定在不同的n+1个位置 上的插入概率相同,则插入一个新元素平均需要移动的元素个 数是( n/2 ) 。 2. 在表长为n的单链表中, 取得第i (1≤ i ≤ n)个数据元素必须从 ( 头指针 )出发开始寻找。 3. 编写算法,将一个带头结点的单链表就地逆置。(请先说明算 法思路,再用类高级语言编写算法。 ) 4. 编写算法实现在单链表L中的第i个位置之间插入元素e。(请 先说明算法思路,再用类高级语言编写算法。 )
数据结构
– Data Structures
习题举例
1.数据结构中的逻辑结构是指(数据元素之间的逻辑关系),物理结构是指(数据 结构在计算机中的表示)。 2.算法的基本特征包括有穷性、(确定性)、(可行性)、有输入和输出 。 3.算法分析的两个主要方面是分析算法的(时间复杂度)和(空间复杂度)。 4.设n为正整数,对下面的程序段,写出语句①、②、③的频度及该程序段的时 间复杂度。
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
习题举例
1. 模式串“abcde”的子串数目为( 1+2+3+4+5+1 )。 2. 已知S = “abcaabba”, 则其next函数值为( )。
0 next[j] =
当 j==1
数据结构
– Data Structures
第一章 绪论
学习要点:
1. 熟悉各名词、术语的含义,掌握基本概念。 数据、数据结构、逻辑结构、物理结构、数据类型、抽 象数据类型、 数据元素之间的关系在计算机中的两种不 同表示示方方法。
2. 理解算法五个重要特性的确切含义。 有穷性、确定性、可行行性、输入入、输出
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第五章 数组与广义表
学习要点:
1. 掌握数组在以行行(列)为主的存储结构中的地址计算方方法。 2. 了解特殊矩阵的压缩存储方方法的特点。 3. 了解稀疏矩阵的压缩存储方方法的特点及相关操作。 4. 了解干广广义表的定义,掌握干广广义表的求⻓长度、求深度、求非非空 干广广义表的表头和表尾运算。
本章内容:
4.1 4.2 4.3 4.4 串类型的定义 串的表示和实现 串的模式匹配算法 串操作应用示例
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第四章 串
学习要点:
1.掌握串类型的定义及概念:⻓长度、空串、空格串、子子串、 位置等。 2.了解串的定⻓长顺序存储结构上实现串的各种操作的方方法。 3.了解串的堆存储结构以及在其上实现串操作的基本方方法。 4.了解基本的串的模式匹配算法,了解串匹配的KMP算法, 了解NEXT函数的定义及计算。
习题举例
1. 设广义表L=(((a, b)),(c,d),e),则L的表头 (((a, b)) ),表尾是(((c,d),e) )。 2. 已知广义表L =(((f)),(b),c,(a),(((d,e)))),则该广义表的 长度和深度分别为( 5 )、( 4 ),用求表头和求表尾 的方式求出原子a的式子为 ( head(head(tail(tail(tail(L))))) )。
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第一章 绪论
3. 算法和算法分析 评价算法性能的两个重要方方面面:时间复杂度和空间复杂 度 掌握计算语句频度和估算算法时间复杂度的基本方方法。