内容正文:
13
1. 请同学们将课本翻到P59,完成后 o(*^▽^*)┛。
2. 请同学们找到P59中的“动画”这个词,看看谁最快?
想一想,为什么两个过程需要的时间会相差很多?
无序书本 VS 归类书本
哪个场景可以快速找到某本书?
为了使计算机更加高效地处理数据,需要对数据进行有效的组织和管理,设计合适的存储结构来进行数据的编排。这种设计出来的数据管理和存储方式,称为数据结构。
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
相互之间
关系
根据关系的不同特性,通常有下列四类基本结构:
对数据元素间逻辑关系的描述称为数据的逻辑结构。
① 集合
② 线性结构
③ 树形结构
④ 图状结构
音频
线性结构:数据元素之间存在一一对应关系,就像一条线一样串在一起。
常见数据结构 特征
数组
栈
队列
数组
三七 当归 甘草 半夏 茯苓 ……
中药
↑
中药[0]
随机访问
数组
175 165 181 176 173 ……
身高
随机访问
想一想,查询5号同学的身高应该怎么访问?
想一想,如果5号同学转学了,该怎么处理数组?
优点:按照索引查询元素速度快
缺点:添加,删除的操作慢,因为要移动其它的元素。
栈(Stack)是一种受限的线性结构。限制在一端进行插入和删除操作。通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。
栈
栈的特点
栈
想一想,生活中还有哪些应用栈的实例?
想一想,一个栈的输入序列为1 2 3,则输出序列的是什么?
队列(Queue)也是一种受限的线性结构。它只允许在一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。
队列
队列的特点
队列
想一想,一个队列的输入序列为a b c,则输出序列的是什么?
随堂测试
以下不属于计算机的数据结构类型的是( C )
A.树 B.图 C.数列 D.堆栈
2. 数组b中的第一个元素保存于b[0],那么b[5]就表示数组中的第( D )个元素。
A.3 B.4 C.5 D.6
3. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是:( C )
A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3
4. 一个队列的入队序列是1,2,3,4,则队列的输出序列是:( B ) 。
A. 4,3,2,1; B. 1,2,3,4; C. 1,4,3,2; D.3,2,4,1
5. 在算法和程序设计中,运用合适的数据结构 、 ,才能高效地完成对数据的处理。
6. 数据结构是计算机学科中特有的概念。对? 错?( ✓ )
组织数据
存储数据
15
小结
$