数据结构java版课件

合集下载

Java数据结构 ppt课件

Java数据结构 ppt课件

3.健壮性
当输入的数据非法时,算法应当恰当 地作出反映或进行相应处理,而不是产 生莫名奇妙的输出结果。并且,处理出 错的方法不应是中断程序的执行,而应 是返回一个表示错误或错误性质的值, 以便在更高的抽象层次上进行处理。
4.高效率与低存储量需求
通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需的 最大存储空间,两者都与问题的规模 有关。
1.3.3 算法效率的度量
通常有两种衡量算法效率的方法:
事后统计法
缺点:1.必须执行程序 2.其它因素掩盖算法本质
事前分析估算法
和算法执行时间相关的因素:
1.算法选用的策略 2.问题的规模 3.编写程序的语言 4.编译程序产生的机器代码的质量 5.计算机执行指令的速度
一个特定算法的“运行工作量” 的大小,只依赖于问题的规模( 通常用整数量n表示),或者说, 它是问题规模的函数。
数据在计算机中的表示称为数据的物理结 构,又称为存储结构。
数据对象可以是有限的,也可以是无限的。 数据结构不同于数据类型,也不同于数据对 象,它不仅要描述数据类型的数据对象,而且 要描述数据对象各元素之间的相互关系。
数据类型:在一种程序设计语言中,变量所具有的数 据种类。 例1、 在FORTRAN语言中,变量的数据类型有整型、 实型、和复数型 例2、在C++语言中 数据类型:基本类型和构造类型 基本类型:整型、浮点型、字符型 构造类型:数组、结构、联合、指针、枚举型、自定 义 数据对象:某种数据类型元素的集合。 例3、整数的数据对象是{…-3,-2,-1,0,1,2,3,
1.2 有关概念和术语
数据: 所有能被输入到计算机中,且能被计算机处
理的符号的集合。 是计算机操作的对象的总称。

数据结构-Java语言描述ppt

数据结构-Java语言描述ppt

数据结构-Java语言描述ppt幻灯片 1:标题页数据结构 Java 语言描述幻灯片 2:目录数据结构简介常见的数据结构类型Java 中的数据结构实现数据结构的应用案例总结与展望幻灯片 3:数据结构简介在计算机科学中,数据结构是组织和存储数据的方式,以便能够高效地访问和操作数据。

它就像是我们存放物品的不同容器和整理方式,选择合适的数据结构可以大大提高程序的性能和效率。

想象一下,我们要存储一组学生的成绩。

如果只是简单地把它们罗列在一起,那么要查找某个特定学生的成绩就会很麻烦。

但如果我们按照成绩的高低进行排序,或者把它们放在一个特定的表格中,查找就会变得容易很多。

数据结构的选择取决于我们要解决的问题和所需的操作。

幻灯片 4:常见的数据结构类型数组数组是一种线性的数据结构,它将相同类型的元素存储在连续的内存位置。

优点是可以通过索引快速访问元素,但插入和删除元素可能比较耗时,因为需要移动其他元素。

链表链表中的元素通过指针链接在一起,不要求连续的内存空间。

插入和删除操作相对容易,但查找特定元素需要遍历链表。

栈遵循后进先出(LIFO)原则,就像一个叠起来的盘子,最后放上去的盘子最先被拿走。

常用于函数调用、表达式求值等。

队列遵循先进先出(FIFO)原则,如同排队买票,先来的先得到服务。

常用于任务调度、消息传递等。

幻灯片 5:数组```javaint arr ={10, 20, 30, 40, 50};//通过索引访问数组元素Systemoutprintln(arr2);```幻灯片 6:链表```javaclass Node {int data;Node next;Node(int data) {thisdata = data;thisnext = null;}}Node head = new Node(10);Node second = new Node(20);headnext = second;```幻灯片 7:栈```javaimport javautilStack;Stack<Integer> stack = new Stack<>();stackpush(10);stackpush(20);int topElement = stackpop();```幻灯片 8:队列```javaimport javautilQueue;import javautilLinkedList;Queue<Integer> queue = new LinkedList<>();queueadd(10);queueadd(20);int frontElement = queuepoll();```幻灯片 9:Java 中的数据结构实现Java 提供了丰富的类库来实现各种数据结构。

数据结构Java版第三章_栈和队列ppt课件

数据结构Java版第三章_栈和队列ppt课件
数据结构Java 版第三章_栈和 队列
3.1 栈 2. 3.2 队列 • 目的:使用栈或队列求解应用问题。 • 要求:掌握栈和队列抽象数据类型,以及顺 序和链式存储结构实现;理解对于怎 样的应用问题,需要使用栈或队列, 以及怎样使用。 • 重点:栈和队列的设计和应用。 • 难点:栈或队列的使用场合,以及如何使用 栈和队列求解应用问题。
3.2.2 顺序队列
1.
顺序队列,假溢出ength; rear=(rear+1) % length;
3.顺序循环队列类
public class SeqQueue<E> implements QQueue<E> { private Object value[]; private int front,rear; //队列头尾下标 }
No Image
No Image
3.2.3 链式队列
public class LinkedQueue<E> implements QQueue<E> { //链式队列类 private Node<E> front, rear; }
3.2.4 队列的应用
例3.3 求解素数环问题。
素数:质数(prime number)又称素数,有无 限个。一个大于1的自然数,除了1和它本身外, 不能被其他自然数整除(除0以外)的数称之为素 数(质数);否则称为合数。根据算术基本定理, 每一个比1大的整数,要么本身是一个质数,要么 可以写成一系列质数的乘积;而且如果不考虑这些 质数在乘积中的顺序,那么写出来的形式是唯一的 。最小的质数是2。
3.2.1 队列抽象数据类型
队列(queue)是一种特殊的线性表,其插入和删除 操作分别在线性表的两端进行。 public interface QQueue<E> { //队列接口 boolean isEmpty(); //判断队列是否为空 boolean enqueue(E element); //入队 E dequeue(); //出队 }

Java数据结构.ppt

Java数据结构.ppt
hasNext();判断集合中的元素是否遍历完毕。 next():返回下一个元素。 romeve():从集合中删除一个由next()方法返回的元素。 Collection接口的iterator()返回一个包含集合一个 Iterator对象。
10.1 概述
List接口
List是有序的Collection,使用此接口能够精确的控 制每个元素插入的位置。可以使用索引(元素在List中 的位置,类似于数组下标)来访问List中的元素,这类 似于Java的数组。另外,List允许有相同的元素。
10.1 概述
public interface Collection { //返回集合中的元素个数 int size(); //判集合是否为空 boolean isEmpty(); //判一个对象是否包含在集合中 boolean contains(Object o); //返回集合的迭代器 Iterator iterator(); //将集合中的所有元素存入一个数组中返回 Object[] toArray(); //将集合中的元素存入数组中返回 Object[] toArray(Object a[]);
10.1 概述
//清空集合 void clear(); //比较集合与对象o是否相等 boolean equals(Object o); //返回对象的hash码 int hashCode(); }
10.1 概述
Iterator接口 Iterator接口隐藏底层集合的数据结构,向客户程
序提供了遍历各种类型的集合的统一接口。Iterator接 口中声明了如下方法:
除了具有Collection接口必备的iterator()方法外, List还提供一个listIterator()方法,返回一个ListIterator 接口,和标准的Iterator接口相比,ListIterator多了一 些add()之类的方法,允许添加,删除,设定元素,还 能向前或向后遍历。

数据结构(JAVA版)

数据结构(JAVA版)

可扩展性
数据结构应具备良好的可扩展性,以便适应未来 数据规模和操作需求的变化。
ABCD
高效性
数据结构应能高效地执行各种操作,以满足实际 应用的需求。
易用性
数据结构应提供简单易用的接口,方便开发人员 的使用和调试。
数据结构优化策略
空间优化
通过合理分配内存空间,减少 不必要的内存占用,提高内存
利用率。
数据结构的应用场景
数据结构在计算机科学领域应用广泛, 如数据库系统、操作系统、编译器设计 等。
在实际应用中,数据结构的选择要根据具体 需求和场景来决定,例如在搜索引擎中,使 用倒排索引和哈希表可以提高查询效率。
数据结构在解决实际问题中发挥着 重要作用,如社交网络分析、图像 处理、机器学习等领域都离不开数 据结构的支持。
时间优化
通过优化算法和数据结构,减 少操作时间,提高数据操作的 效率。
代码优化
通过优化代码实现,提高代码 的可读性和可维护性,降低维 护成本。
并发优化
通过合理设计并发控制机制, 提高数据结构的并发处理能力

数据结构选择技巧
01
根据实际需求选择合适的数据结构
根据具体的应用场景和需求,选择最合适的数据结构来存储和操作数据。
广度优先搜索(BFS)
总结词
广度优先搜索是一种图遍历算法,它会先访 问离起始节点最近的节点。
详细描述
该算法从根节点开始,探索最近的节点,然 后逐步向外探索,直到所有节点都被访问。
Dijkstra算法
要点一
总结词
Dijkstra算法是一种用于在有向图中查找最短路径的算法。
要点二
详细描述
该算法从源节点开始,逐步找到离源节点最近的节点,然 后更新其相邻节点的距离,直到所有节点都被访问。

电子课件 数据结构(Java版)--李云平

电子课件 数据结构(Java版)--李云平
模块1 概述
学习目的与要求
重点:
• 理解数据结构的各种基本概念和术语 • 理解线性结构、层次结构和网状结构的结构特点 • 理解数据的逻辑结构、存储结构及运算三方面的概念及相互关系
难点:
• 掌握算法性能(时间和空间)的分析方法。
1.1 什么是数据结构 程序设计的过程,一般遵循以下解决步骤:
分析问题
i为数据元素ai 在线性表中的位序。
【例2.1】某班前五名学生语文成绩(99,98,97,95,90)是线性表,表中每个 数字是一个结点。 【例2.2】一年四季(春,夏,秋,冬)是一个线性表,表中的结点是一个字符。
2.2 线性表的逻辑结构
【例2.3】学生成绩表是一个线性表,表中每一行(一条记录)是一个结点。一条 记录是由学号、姓名、性别、数学成绩和语文成绩5个数据项组成。
结点的存储地址:假设线性表中所有结点的类型相同,设表中每个结点占用L个存储 单元,并以所占的第一个单元的存储地址作为该结点的存储地址。则线性表中第i+1 个结点的存储地址LOC(ai+1)和第i个结点的存储地址LOC(ai)之间满足下列关系:
模块2 线性表
学习目的与要求
重点:
• 掌握顺序表和链表的逻辑描述和存储实现
难点:
• 顺序表和单链表的实现和应用
线性结构
线性结构的特点:
在数据元素的非空有限集中,数据元素是有序的,排在某个数据元 素b之前的数据元素a称为b的直接前驱,而数据元素b称为a的直接后继。 且具有如下特点: (1)存在唯一的一个被称为“第一个”的数据元素。 (2)存在唯一的一个被称为“最后一个”的数据元素。 (3)除第一个之外,集合中的每个数据元素均只有一个直接前驱。 (4)除最后一个之外,集合中的每个数据元素均只有一个直接后继。

☆Java数据结构与算法PPT课件全资料简介

☆Java数据结构与算法PPT课件全资料简介

1.1 什么是数据结构
• 总之,数据结构所要研究的主要内容简单 归纳为以下三个方面:
– ⑴ 研究数据元素之间的客观联系(逻辑结 构); – ⑵ 研究数据在计算机内部的存储方法(存储 结构); – ⑶ 研究如何在数据的各种结构(逻辑的和物 理的)上实施有效的操作或处理(算法)。 – 所以数据结构是一门抽象地研究数据之间的关 系的学科。
1.1 什么是数据结构
• 由于映象的方法不同,所以同一种的逻辑结构可 以映象成两种不同的存储结构:顺序映象(顺序 存储结构)和非顺序映象(非顺序存储结构)。 • 顺序映象的特点是在顺序存储结构(一般用一维 数组)中体现数据之间的关系;而非顺序存储结 构则一般采用指针实现数据之间的关系,包括链 式存储结构(链表)和散列结构等。 • 数据的存储结构要能够正确反映数据元素之间的 逻辑关系。也就是说数据的逻辑结构和数据的存 储结构是密不可分的两个方面,任何一个算法的 设计取决于选定的逻辑结构,而算法的实现则依 赖于采用的存储结构。
1.1 什么是数据结构
• 数据的非顺序存储结构除包括链式存储结构(简称链表) 以外,还有散列存储结构、索引存储结构等。 • 链式存储结构是利用指针直接表示数据元素之间的关系。 • 散列结构的基本思想是根据结点的关键字,利用散列函 数直接计算出该结点的存储地址。 • 索引存储结构是指在存储结点信息的同时,还建立附加 的索引表。索引表的每一项称为索引项,索引项的一般 形式是:(关键字,地址)。关键字:能够惟一标识一 个结点的那些数据项集合;索引存储结构分为稠密索引 和稀疏索引,其中稠密索引是指每个结点在索引表中都 有一个索引项的索引表;而稀疏索引是指一组结点在索 引表中对应一个索引项的索引表。
1.1 什么是数据结构
• 针对存储结构,数据元素存储在计算机中,应对每个数 据元素确定其取值范围属性就是数据类型。数据类型是 和数据结构密切相关的一个概念,用以刻画(程序)操 作对象的特征。 • 数据类型根据是否允许分解分为原子类型和结构类型, 其中原子类型是指其值不可再分的数据类型,例如整型、 字符型等;而结构类型是指其值可以再分解为若干成分 (分量)的数据类型,例如数组的值由若干分量组成。 • 根据数据的结构(逻辑结构和存储结构)特性在数据的 生存期间的变动情况,将数据结构分为静态结构和动态 结构。静态结构是指在数据存在期不发生任何变动,例 如高级语言中的静态数组;而动态结构是指在一定范围 内结构的大小可以发生变动,如使用的堆栈。

13常见数据结构的Java实现精品PPT课件

13常见数据结构的Java实现精品PPT课件

java.util包中的一个接口,Collection是它的 父接口
该接口提供了若干方法,可以对列表中的元素进 行精确地插入、删除、查找和修改。
LinkedList:实现了List接口的双链表类
ArrayList :实现了List接口的动态数组类
注:详情请查看电子技术文档
LinkedList ArrayList
注意事项 (二)
方法:public Object get (int index) 作用:得到列表中指定位置处的元素中的对象
(索引从0开始) 注意:当列表调用get方法获取一个结点对象后,
要用类型转换运算符将该对象转化回原来的类型
String s = (String)list.get(0); Integer it = (Integer)mylist.get(0);
如下操作创建了一个初始容量为n的空数组:
ArrayList mylist = new ArrayList(n);//n为int 型
由于ArrayList类实现了接口List,因此:
List list = new ArrayList(); 接口回调技术
添加接点add()
(LinkedList与ArrayList)
数组(静态):
优点:可以快速随机查找,适合存储大量数据
缺点:使用之前必须定义大小;使用时大小不能动态 改变,容易造成资源浪费或空间不足;增加、删除结 点时比较慢
链表:
优点:使用之前无需定义大小,使用时可以动态的增 加或减少数据
缺点:查找时候必须从第一个结点开始,相对较慢
对比
接口List
缺点:有些繁琐!
第13章 常见数据结构的Java实现
在jdk1.2之后,Java提供了许多已实现的常见 数据结构的类。

数据结构java第章图PPT优选版

数据结构java第章图PPT优选版

① 有向图的邻接表表示
2.邻接表表示的带权图类
① 顶点表元素类 ② 邻接表表示的带权图类的声明及构造方法 ③ 图的插入操作
① 图的删除操作 ② 邻接表表示的图类
A2D
9
5
6
8
E
B
C3
7
0A 1B 2C
删除顶点及 边单链表
3D 4E
015 105 217 302 423
0 3 2∧ 127 238 316 4 3 9∧
A
22
4
25
C
B
D i
m in
E
m st数 组
起点 终点 权
0 0 1 25 权 值 1 0 2 4 最小 2 0 3 22 的 边
30 4 ∞
A 4
D 18
C
16
7
B
E
m st数 组 起点 终点 权
024
i
2 1 16
2 3 18
m in
247
已加入 TE的 边
调整后再 选最小权 值的边
(a) U={A}, TE={}, m st中 是 起 点 为 A的 边
① 邻接矩阵表示的带权图类的声明及构造方法
顶点集合{"A","B","C","D","E"}; 边集合{ (0,1,5), (0,3,2), (1,0,5), (1,2,7), (1,3,6), (2,1,7), (2,3,8), (2,4,3),
(3,0,2),(3,1,6), (3,2,8), (3,4,9), (4,2,3), (4,3,9)};
7.3.1 图的深度优先搜索遍历
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

树型结构
存在一个根结点 (无前驱) 存在多个叶子结点 (无后继) 其它结点 (一个前驱(双亲)、 多个后继(孩子)) 元素之间存在“一对多”的 关系 27
第5章 树与二叉树第一讲 ——主要要掌握的知识点
2. 二叉树的定义和性质

1.具有n个结点的二叉树,其深度 ? ? n 的最大值是: 最小值是:log2n +1
2. 二叉树的遍历方法
(先根、中根、后根遍历) 3. 二叉树遍历的实现算法 (重点掌握非递归算法)
29
第5章 树与二叉树第二、三讲 ——主要要掌握的知识点
4. 二叉树遍历的应用(重点和难点) (1)二叉树上的查找; (2)求二叉树上的结点或叶子结点的个数; (3)求二叉树的深度; (4)判断两棵二叉树是否相等; (5)两棵二叉树的复制; 5.二叉树的建立(重点和难点) (1)根据给定的标明空子树的完整先根遍历序 列建立一棵二叉树; (2)根据给定的先根遍历序列和中根遍历序列 或后根遍历序列和中根遍历序列建立一棵二叉树。
m
n
k
in ) L
(i1×m2×...×mn+ i2 ×m3×...×mn+… +in-1×mn+ in) ×L
24
第4章 串与数组第二讲数组 ——主要要掌握的知识点
2.特殊矩阵压缩存储时,数组元素的地址计算; (1) 对称矩阵 i*(i+1)/2+j (i>=j,0≤i,j≤n-1) K= j*(j+1)/2+i (i<j, 0≤i,j≤n-1) K=0,1,…,n(n+1)/2-1 (2) 下三角矩阵 K= i*(i+1)/2+j (i>=j,0≤i,j≤n-1) K=0,1,…,n(n+1)/2-1 空 (i<j,0≤i,j≤n-1) (3) 对角(带状)矩阵(d为半带宽) K= i*(2d+1)+d+(j-i) 其中:K=0~n(2d+1) 0≤i,j≤n-1
23
第4章 串与数组第二讲数组 ——主要要掌握的知识点
1.多维数组顺序存储时,数组元素的地址计算公式;
Loc(i1 , i2 ,in ) Loc(0,0,0) ( i j
其中: ( i j
j 1 n 1
n 1 j 1
k j 1
m
n
k
in ) L
k j 1
3
第1章 绪论第二讲 ——主要要掌握的知识点
思考题:计算下面程序段中带标注语句的 语句频度及程序段的时间复杂度。
void sort (int a[], int n){ if (n>1){ //语句1 for (int i=0; i<n-1; i++) //语句2 答案: (a[i]>a[n-1]){ if //语句3 语句1频度为:1+1+…+1=n int temp=a[i]; a[i]=a[n-1]; 语句2频度为:0+2+3+…+1=(n-1)(n-2)/2 a[n-1]=temp; 语句3频度为:0+1+2+…+n=n(n-1)/2 } 语句4频度为:0+1+…+1=n-1 sort(a, n-1); //语句4 } 算法时间复杂度:O(n2)
(2) 便于随机存取表中任一元素。 其缺点是: 不便于进行插入和删除操作 ?
10
第2章 线性表第二讲 抢答题——主要要掌握的知识点
3.在顺序表中判断空间是否为满的条件是: ? curLen>=listElem.length 4.在顺序表上的插入操作insert(int i,Object x) 中i的限制条件是: 0≤i≤n ? 5.将当前顺序表中第i(0≤i≤n-1)元素后移一个位 置的语句是: listElem[i+1]=listElem[i] ? 6.在顺序表中的最后一个数据元素之前插入一个新 ? 元素,其操作的时间复杂度是: O(1) 删除顺序表中第0个数据元素的时间复杂度是:? O(n)
16
第2章 线性表第四讲 ——主要要掌握的知识点
在单链表上实现删除操作的主要步骤(书 P46) 1.判断单链表是否为空; 2.确定待删除位置(注意要找到其前驱); 3.修改指针,使被删结点从链表中脱离出 来。
17
第3章 栈与队列第一讲 ——主要要掌握的知识点
1. 栈的特性是什么? “先出后出”或“后进先出” 2.顺序栈的判空和判满条件? 判空条件:top==0; 判满条件:top==stackElem.length; 3.顺序栈的入栈和出栈操作步骤及实现算法 (参考P72-73算法3.1与算法3.2); 关键语句:入栈 stackElem[top++]=x 出栈 return stackElem[--top]
在单链表上实现插入操作的步骤(书P43) 1.确定待插入位置(注意要找到其前 驱); 2.创建新的结点; 3.修改指针,将新结点插入到指定位置。
13
第2章 线性表第三讲 抢答 ——主要要掌握的知识点
在单链表中P指针所指的结点之后插入一 个新结点S,其修改链的语句是: ?
① S.setNext(P.getNext()); ② P.setNext(S); P
25
第4章 串与数组第二讲数组 ——主要要掌握的知识点
3.稀疏矩阵的存储方式。 三元组顺序表 十字链表
26
第5章 树与二叉树第一讲 ——主要要掌握的知识点
1. 线性结构与树型结构的逻辑特点
线性结构
第一个数据元素 (无前驱) 最后一个数据元素 (无后继) 其它数据元素 (一个前驱、 一个后继) 元素之间存在“一对一” 的关系
第3章 栈与队列第二讲 ——主要要掌握的知识点
第3章 栈与队列第二讲 ——主要要掌握的知识点
3.循环顺序队列的入队和出队操作步骤及实现算法 (参考P92算法3.6与算法3.7); 关键语句: 入队: queueElem[rear]=x; //x入队 rear=(rear+1)%queueElem.length;//尾指针下移 出队: Object t=queueElem[front]; //读取队首元素 front=(front+1)%queueElem.length;//首指主要要掌握的知识点
1. 哈夫曼树和哈夫曼编码的建立
例如:设A.B.C.D.E.F六个字母出现的的概率为{7,12, 4,6,32,3}试写出为这六个字母设计的huffman编码并 画出对应的hufffman树。
2. 树、森林与二叉树之间的转换 (1)树与二叉树之间的转换规则: 左孩子右兄弟
4.在顺序表上实现查找操作的方法及实
现算法。
6
第2章 线性表第二讲 ——主要要掌握的知识点
在顺序表上实现插入操作的步骤(书P34) 1.空间及参数合法性判断; 2.确定插入位置; 3.将插入位置及其之后的所有元素后移 一位; 4.将待插入的元素插入到指定位置 5.修正表长:表长加1 实现插入操作的算法可参考书P35/算法2.1 7
第2章 线性表第二讲 ——主要要掌握的知识点
在顺序表上实现删除操作的步骤(书P36) 1.参数合法性判断; 2.确定删除位置; 3.将删除位置之后的所有元素前移一位; 4.修正表长:表长减1
实现删除操作的算法可参考书P36/算法2.2
8
第2章 线性表第二讲 ——主要要掌握的知识点
在顺序表上实现查找操作的方法
11
第2章 线性表第三讲 ——主要要掌握的知识点
1.单链表结点类和单链表类的描述;
2.在单链表上实现按位序号和按值查找
操作的方法及实现算法(参考P42算
法2.4和算法2.5);
3.在单链表上实现插入操作的步骤及实
现算法。(参考P43算法2.6)。
12
第2章 线性表第三讲 ——主要要掌握的知识点
第1章 绪论第一讲 ——主要要掌握的知识点
1.数据结构课程研究的内容包括哪三个
方面?
2.按数据元素的逻辑关系来分,数据结 构分为哪四类? 3.存储结构通常有哪四种?最常用是哪 两种?
1
第1章 绪论第二讲 ——主要要掌握的知识点
1.何谓算法?算法与程序有何区别? 2.什么叫抽象数据类型?在教材中抽象
ai-1

ai
S
x

14
第2章 线性表第三讲 抢答 ——主要要掌握的知识点
在单链表中插入操作和查找操作的时间复 杂度是: ? O(n)
15
第2章 线性表第四讲 ——主要要掌握的知识点
1.在单链表上实现册除操作的步骤及实
现算法(参考P46算法2.8);
2.循环链表的特点; 3.双向链表上的插入和删除操作,主要 掌握其修改指针的语句;
? 2.具有10个结点的完全二叉树,其深度是:4 叶子结点的个数是: ? 5
3.深度为5完全二叉树,其结点的个数的最 小值: ?16 最大值是: ? 31
28
第5章 树与二叉树第二、三讲 ——主要要掌握的知识点
1. 二叉树的存储结构
顺序存储(适应于满及完全二叉树)
链式存储(二叉及三叉链式存储)
21
第3章 栈与队列第二讲 ——主要要掌握的知识点
4. 不带头结点的链队列的判空条件? front==rear==null 5.链队列的入队和出队操作步骤及实现算法 (参考P94-95); 修改链的关键语句: 入队: rear.setNext(p); rear=p; 出队: front=front.getNext();
18
第3章 栈与队列第一讲 ——主要要掌握的知识点
4. 链栈的判空条件? top==null 5.链栈的入栈和出栈操作步骤及实现算法 (参 考P75算法3.4与算法3.5); 修改链的语句: 入栈:p.setNext(top); top=p; 出栈:top=top.getNext();
相关文档
最新文档