当前位置:首页 >> IT/计算机 >>

第2章 简单数据结构


零基础学算法

第2章:简单数据结构 章

课程安排
? 2.1 最简单的结构:线性表 最简单的结构:
– – – – 什么叫线性表 操作顺序表 操作链表 实例:用链表制作通信录 什么是队列 操作队列 循环队列的操作 实例:银行排号程序
什么是栈 操作栈 实例:算术表达式求值

?

2. 2 先进先出结构:队列 先进先出结构:
– – – –

?

2.3 后进先出结构:栈 后进先出结构:
– – –

2.1 最简单的结构:线性表 最简单的结构:

? ? ? ?

2.1.1 2.1.2 2.1.3 2.1.4

什么叫线性表 操作顺序表 操作链表 实例: 实例:用链表制作通信录

2.1 最简单的结构:线性表 最简单的结构:
2.1.1 什么叫线性表
线性表数据结构具有以下特征: – – – – 有且只有一个“首元素”; 有且只有一个“末元素”; 除末元素之外,其余元素均有惟一的后继元素; 除首元素之外,其余元素均有惟一的前驱元素。 。

对于线性表,主要可进行以下操作: – 添加结点; – 插入结点; – 删除结点; – 查找结点; – 遍历结点; – 统计结点数。

2.1 最简单的结构:线性表 最简单的结构:
2.1.2 操作顺序表
? ? ? ? ? ? 1.定义顺序队列结构 . 2.初始化队列 . 3.获取队列状态 . 4.入队操作 . 5.出队操作 . 6.获取队头元素 .

2.1 最简单的结构:线性表 最简单的结构:
2.1.3 操作链表

? ? ? ?

1.定义链表的结构 . 2.添加结点至尾部 . 3.添加结点至首部 . 4.插入结点 .

? ? ? ?

5.查找结点 . 6.删除结点 . 7.链表的长度 . 8.测试链表操作 .

2.1 最简单的结构:线性表 最简单的结构:
2.1.4 实例:用链表制作通信录 实例:
? ? ? ? ? ? 1.定义通信录结构 . 2.编写显示联系人信息模块 . 3.编写添加联系人模块 . 4.编写查找联系人模块 . 5.编写删除联系人模块 . 6.编写主模块 .

2.2 先进选出结构:队列 先进选出结构:

? ? ? ?

2.2.1 2.2.2 2.2.3 2.2.4

什么是队列 操作队列 循环队列的操作 实例: 实例:银行排号程序

2.2 先进选出结构:队列 先进选出结构:
2.2.1 什么是队列
队列是一种特殊的线性表,只允许在表的前端进行删除操作, 而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删 除操作的端称为队头。当队列中没有元素时,称为空队列。 对于队列这种结构,其操作很简单,主要有以下几种:
– – – – – 初始化队列:创建一个队列。 进队列:将一个元素添加到队尾(相当于到队列最后排队等候)。 出队列:将队头的元素取出,同时删除该元素,使后一个元素成为队头。 获取队列第1个元素:将队头的元素取出,不删除该元素(队头仍然是 该元素)。 获取队列长度:根据队头、队尾计算出队列中元素的数量。

2.2 先进选出结构:队列 先进选出结构:
2.2.2 操作队列 ? ? ? ? ? ?
1 A 2 B

1.定义顺序队列结构 . 2.初始化队列 . 3.获取队列状态 . 4.入队操作 . 5.出队操作 . 6.获取队头元素 .
3 C 4 D 5 6 7 8 …… n
1 2 B 3 C 4 D 5 6 7 8 …… n

head

tail

head

tail

2.2 先进选出结构:队列 先进选出结构:
2.2.3 循环队列

2.3 后进先出结构:栈 后进先出结构:

? ? ?

2.3.1 什么是栈 2.3.2 操作栈 2.3.3 实例:算术表达式求值 实例:

2.3 后进先出结构:栈 后进先出结构:
2.3.1 什么是栈
栈是一种线性表的特殊表现形式,与队列的“先进先出”不同, 栈是按照“后进先出”(Last In Firt Out,LIFO)的原则处理数据。

?

栈的基本操作只有两个:
– 入栈(Push):即将数据保存到栈顶。进行该操作前,先修改 栈顶指针,使其向上移一个元素位置,然后将数据保存到栈顶 指针所指的位置。 – 出栈(Pop):即将栈顶的数据弹出,然后修改栈顶指针,使 其指向栈中的下一个元素。

2.3 后进先出结构:栈 后进先出结构:
2.3.2 操作栈 ? ? ? ? ? ? ? 1.定义顺序栈的结构 . 2.初始化栈 . 3.判断栈的状态 . 4.入栈操作 . 5.出栈操作 . 6.获取栈顶元素 . 7.测试栈的操作 .

2.3 后进先出结构:栈 后进先出结构:
2.3.3 实例:算术表达式求值 实例:
对于算术表达式的求值,主要就是解决算术运算符的优 先级问题,有以下规则: – 先进行乘除运算,再进行加减运算(乘除优先级大于加 减); – 对于相同优先级的运算符,从左向右计算; – 若要改变优先级,可使用括号。对有括号的表达式,先 计算括号内,再计算括号外。

在表达式的计算过程中,既要保存操作数,又要保 存运算符。这时,可定义两个栈,一个用来保存操作数, 一个用来保存运算符。

性格决定命运, 性格决定命运 专注成就人生


相关文章:
第2章简单数据结构..ppt
第2章简单数据结构. - 零基础学算法 第2章:简单数据结构 课程安排 ? 2.
第2章 简单数据结构要点.ppt
第2章 简单数据结构要点 - 零基础学算法 第2章:简单数据结构 课程安排 ?
第2章 简单数据结构.ppt
第2章 简单数据结构 - 零基础学算法 第2章:简单数据结构 章 课程安排 ?
第2章 数据结构与基本运算.pdf
第2章 数据结构基本运算 - 版权所有,未经许可严禁传播 第 2 章 数据结构基本运算 2.1 数据类型 R 语言的数据类型包括数值型、逻辑型、字符型、复数型,...
第2章 基本数据结构2.2_图文.ppt
第2章 基本数据结构2.2 - 青海大课学程建设项目 软件技术基础 计算机系教研
2第2章 数据结构_图文.ppt
2第2章 数据结构 - 要点回顾 ? 地理信息系统的定义 ? 地理信息系统的构成
第2章 基本数据结构及其运算(4)_图文.ppt
计算机软件技术基础第2章 基本数据结构及其运算 章 基本数据结构及其运算(4)
第2章数据结构的基本概念-zhang._图文.ppt
第2章数据结构基本概念-zhang. - 第2章 数据结构基本概念 2.1 什么是数据结构 2.2 数据结构的图形表示 2.3 线性结构与非线性结构 2.1 什么是数据结构...
零基础学算法 第2章 简单数据结构.ppt
零基础学算法 第2章 简单数据结构_计算机软件及应用_IT/计算机_专业资料。零基础学算法 第2章:简单数据结构 课程安排 ? 2.1 最简单的结构:线性表 ...
第2章 基本数据结构2.1(new)_图文.ppt
第2章 基本数据结构2.1(new) - 青海大课学程建设项目 软件技术基础 计
第2章 基本数据结构2.1(new)_图文.ppt
第2章 基本数据结构2.1(new) - 青海大课学程建设项目 软件技术基础 计
数据结构 第二章_图文.ppt
数据结构 第二章 - 第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 一元多项式的表示及相加 数据结构...
第2章数据结构_图文.ppt
第2章数据结构 - 第二章 线性表 内容提要: 线性表是最简单、最基本、也是最常 用的一种线性结构。 它有两种存储方法:顺序存储和链式 存储,它的主要基本操作...
数据结构 第2章_图文.ppt
辽宁工程技术大学软件学院 第2章 线性表线性表是一种最简单的线性结构。 辽宁工程技术大学软件学院 什么是线性结构?线性结构是一个数据元素的有序(次序) 集合。 ...
第2章 基本数据结构及其运算(3)_图文.ppt
计算机软件技术基础第2章 基本数据结构及其运算 章 基本数据结构及其运算(3)
数据结构(C语言版)第2章 线性表_图文.ppt
数据结构(C语言版)第2章 线性表 - 第2章 线性表 线性结构是最常用、最简单的一种数据结构。而线 性表是一种典型的线性结构。其基本特点是线性表中的 数据...
数据结构(C++版)第2章 线性表-1_图文.ppt
第2章 线性表 数据结构 第 1讲 1 第2章 线性表 第1章介绍了几种基本逻辑结构:线性结构、 树形结构和图结构。线性结构是最简单、最基本数据结构,本章...
第2章 基本数据结构及算法习题参 考答案.doc
第2章 基本数据结构及算法习题参 考答案 - 习题 2 参考答案 1.分别写出求
第2章 常用数据结构及其运算3(查找和排序)_图文.ppt
第2章 常用数据结构及其运算3(查找和排序)_IT/计算机_专业资料。数据结构;数据...查找、分块查找) 动态查找表(二叉排序树) 哈希表查找表 2.7 查找 一、基本...
第2章 基本数据结构2.3(new)_图文.ppt
第2章 基本数据结构2.3(new) - 青海大课学程建设项目 软件技术基础 计
更多相关标签: