数据结构课件1-绪论

合集下载

精品课件-数据结构教程(胡元义)-第1章

精品课件-数据结构教程(胡元义)-第1章
(4) 哈希(或散列)存储结构:此方法的基本思想是根据 数据元素的关键字通过哈希(或散列)函数直接计算出该数据元 素的存储地址。
第1章 绪论
顺序存储结构的主要优点是节省存储空间,即分配给数据 的存储单元全部用于存放数据元素的数据信息,数据元素之间 的逻辑关系没有占用额外的存储空间。采用这种存储结构可以 实现对数据元素的随机存取,即每个数据元素对应有一个序号, 并由该序号可以直接计算出数据元素的存储地址(例如对于数 组A其序号为数组元素的下标,数组元素A[i]可以通过*(A+i) 进行存取)。但顺序存储结构的主要缺点是不便于修改,对数 据元素进行插入、删除运算时,可能要移动一系列的数据元素。
第1章 绪论
(1) 分析阶段:分析实际问题,从中抽象出一个数学模 型。
(2) 设计阶段:设计出解决数学模型的算法。 (3) 编程阶段:用适当的编程语言编写出可执行的程序。 (4) 测试阶段:测试、修改直到得到问题的解答。 数据结构课程集中讨论软件开发过程中的设计阶段,同时 涉及分析阶段和编程阶段的若干基本问题。此外,为了构造出 好的数据结构及其实现,还需考虑数据结构及其实现的评价与 选择。因此,数据结构课程的内容包括了如表1.1所示的数据 表示和数据处理方面所对应的3个层次。
第1章 绪论
1.2.2 存储结构 数据的存储结构是数据结构在计算机中的表示方法,也即
数据的逻辑结构到计算机存储器的映像,包括数据结构中数据 元素的表示以及数据元素之间关系的表示。数据元素及数据元 素之间的关系在计算机中可以有以下四种基本存储结构:
(1) 顺序存储结构:借助于数据元素在存储器中的相对 位置来表示数据元素之间的逻辑关系。通常顺序存储结构是利 用程序语言中的数组来描述的。
第1章 绪论

数据结构精选课件(ppt 82页)

数据结构精选课件(ppt 82页)
不同点
10.01.2020
11
1.2 数据结构的内容
逻辑结构 存储结构 运算集合
10.01.2020
12
逻辑结构
定义: 数据的逻辑结构是指数据元素之间逻辑关系描述。
形式化描述: Data_Structure=(D,R)其中D是数据元素的
有限集,R是D上关系的有限集。
四类基本的结构 集合结构、线性结构、树型结构、图状结构。
10.01.2020
13
集合结构
定义: 结构中的数据元素之间除了同属于
一个集合的关系外,无任何其它关系。
例如:
集合
10.01.2020
14
线ቤተ መጻሕፍቲ ባይዱ结构
定义: 结构中的数据元素之间存在着一对
一的线性关系。
例如:
线性表
10.01.2020
15
树型结构
定义: 结构中的数据元素之间存在着一对
多的层次关系。
数据结构课件
用C语言描述
西北师范大学经济管理学院
----信息管理系
10.01.2020
1
第1章 绪 论
1.1 数据结构的基本概念(定义) 1.2 数据结构的内容(研究范围) 1.3 算法设计 1.4 算法描述工具 1.5 对算法作性能评价 1.6 数据结构与C语言表示
●1.7 关于学习数据结构
100001 张爱芬 女 345.67 145.45 30.00 451.12
100002 李 林 男 445.90 185.60 45.00 586.50
100003 刘晓峰 男 345.00 130.00 25.00 450.00
100004 赵 俊 女 560.90 225.90 65.00 721.80

数据结构 课件 第一章绪论

数据结构 课件 第一章绪论
2010-112010-11-18 4
1.1 数据结构(续) 数据结构(
很多问题求解最后都转化为求解数学方程或数学方程组。 很多问题求解最后都转化为求解数学方程或数学方程组。 在房屋设计或桥梁设计中的结构应力分析 结构应力分析计算可化解为 在房屋设计或桥梁设计中的结构应力分析计算可化解为 线性代数方程组求解的问题 的问题, 线性代数方程组求解的问题, 天天看到的天气预报 它的数学模型是一个环流模式方 天气预报, 天天看到的天气预报,它的数学模型是一个环流模式方 程。 预报人口增长情况的数学模型为微分方程。 情况的数学模型为微分方程 预报人口增长情况的数学模型为微分方程。 当计算机进入非数值计算领域 非数值计算领域, 当计算机进入非数值计算领域,特别是用在管理上的时 候,计算机的操作对象之间的关系就无法用数学方程加以 描述了。 描述了。
按书名
高等数学 理论力学 线性代数 ……
S01 L01 S01 S02 ……
索引表
分类号: 001,003…… 001,003…… 出版单位: 樊映川 002,…….. 002,…….. 出版时间: 华罗庚 004, 004,…… 栾汝书 价格:
…….. ……..
……. …….
按作者名
001,… 001,… 002,…. 002,… 004,… 004,…. ……. …….
2010-112010-11-18
7
例2 - 1
人机对奕问题
树形的数据结 构
……..
……..
2010-112010-11-18
…...
…...
…...
…...
8
例2 - 2
学校问题
树形的数据结 构
刘志刚
部门
…….. ..

数据结构讲义精品PPT课件

数据结构讲义精品PPT课件

003 陈诚 02 男 19840910 638
… … … ……

数据元素
数据结构 具有结构的数据元素的集合。它包 括数据元素的逻辑结构、存储结构和相适应的 运算。
逻辑结构
数据元素之间的逻辑关系,与计算机无关。 可用一个二元组表示:Data_Structure = (D,R) D:数据元素的有穷集合,R:集合D上关系的有穷集合。
《The Art of Computer Programming》
Art Evans
数据结构在计算机科学中是一门综合性的专业基础课, 也是计算机专业的必修课,是其它许多课程的先修课程, 是设计编译程序、操作系统、数据库系统等系统程序和 大型应用程序的重要基础。
1.2 基本概念和术语
基本术语
数据 被计算机加工处理的对象。 数据元素(记录、表目) 数据的基本单位,
几种常用的运算有: (1)建立数据结构 (2)清除数据结构 (3)插入数据元素 (4)删除数据元素 (5)排序
(6)检索* (7)更新 (8)判空和判满* (9)求长*
*操作为引用型操作,即数据值不发生变化; 其它为加工型操作。
抽象数据类型
抽象数据类型 ADT( Abstract Data Type ): 数据类型概念的引伸。指一个数学模型以及在其上定义的操作集 合,与计算机无关。 数据类型:一组值的集合和定义在其上的一组操作的总称。
抽象数据类型的描述方法
ADT 抽象数据类型名 { 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉
} ADT 抽象数据类型名
其中基本操作的定义格式为:
基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉

绪论(数据结构教程PPT课件)

绪论(数据结构教程PPT课件)
缓冲处理
在网络传输或文件读写过程中,使 用队列作为缓冲区,暂时存储待处 理的数据,以提高处理效率。
04
串、数组和广义表
串定义及基本操作
串的基本操作包括
赋值操作、连接操作、求串长、比较操作、定位操作等。
串的存储结构包括
顺序存储结构和链式存储结构。
串模式匹配算法
串模式匹配算法是指在一个主串中寻找一个子串(模式串)的位置。
函数调用
在程序执行过程中,使用 栈来保存函数调用的信息, 如函数参数、局部变量和 返回地址等。
队列定义及基本操作
01
队列(Queue)是一种特殊的线性数据结构,其操作在表 的两端进行。一端称为队头(front),另一端称为队尾 (rear)。
02
队列的基本操作包括
03
入队(enqueue):在队尾插入一个元素。
3
线性表的抽象数据类型描述
数据类型名称、数据对象集合、操作集合等
线性表顺序存储结构
01
顺序存储结构的定义
用一段地址连续的存储单元依次存储线性表的数据元素
02
顺序存储结构的基本操作实现
创建、初始化、销毁、判空、清空、求长度、获取元素、修改元素等操
作的实现方法
03
顺序存储结构的优缺点
无需为表示表中元素之间的逻辑关系而增加额外的存储空间;可以快速
线索二叉树
线索二叉树是对二叉树的每个结点增设两个标志位以及一条线索而得到的。根据线索性质的不同,线索二叉树可分为前序线 索二叉树、中序线索二叉树和后序线索二叉树三种。这里以中序线索二叉树为例来说明线索二叉树的构造方法。
中序线索二叉树的构造规则是:若将二叉树的中序遍历序列中的每个结点都看作是相应指针域为空的指针,则称这些指针为 线索,而指向其前驱或后继的指针称为线索指针。加上线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树 (Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种 。

严蔚敏数据结构课件01:绪论

严蔚敏数据结构课件01:绪论
严蔚敏数据结构课件01从绪论开始,深入探讨了数据结构的多个方面。首先定义了数据结构的基本概念,如数据、数据元素和数据项,这些是理解数据结构的基础。接着,详细解释了数据结构的定义,即数据元素之间存在特定关系的集合,并介绍了四种基本逻辑结构:集合、线性结构、树型结构和图状结构。这些结构反映了数据元素之间的不同关系。此外,课件还探讨了数据的物理结构,即数据结构在计算机中的存储方式,包括顺序存储、链式存储、索存储和散列存储。这些存储方式的选择对数据的访问和操作效率有重要影响。为了加深理解,课件中提供了多个实例,如计算机系人事表和某企业年产值表,通过这些实例展示了数据结构在实际应用中的价值。最后,根据数据结构的性质和操作对其进行了划分,帮助学习者更全面地掌握数据结构的知识体系。

数据结构课件 第一章 绪论

数据结构课件 第一章 绪论

存储地址 存储内容
Lo 元素1 元素2 ……..
Lo+m
顺序存储
Lo+(i-1)*m
元素i
…….. Lo+(n-1)*m
元素n
Loc(元素i)=Lo+(i-1)*m
h
1345
链式存储
元素2 1536 元素3 1346 元素4
h
元素1 1400

存储地址 1345 1346 …….
存储内容 元素1 元素4 ……..
非数值计算的程序设计问题:

例1 书目自动检索系统
线性表 算法:需要检索的书目?如何检索?用户 界面? 模型:? 书目文件
书目卡片 001 高等数学 樊映川 002 理论力学 罗远祥 登录号: 003 高等数学 华罗庚 004 书名: 线性代数 栾汝书 …… 作者名: …… ……
S01 L01 S01 S02 ……
数据对象 (data
集合,是数据的一个子集。如大写字母字符数据对象 是集合C={‘A’,’B’,’C’,……,’Z’} ,整数数据对象是 集合 N = { 0, ±1, ±2, … }
数据结构 (data
structure) : 带结构的数据元
素的集合,也就是指互相之间存在着一种或 多种关系的数据元素的集合。数据元素之间 的关系称为结构。
本课程讲述的主要内容:
分别讲述数据结构的基本概念、线性表、 栈和队列、串、数组和广义表、树和二叉 树、图、查找、排序等内容。 学习本课程的基本方法: 上课认真听讲; 仔细阅读教材中的大量例题,从而体会 并最终掌握数据结构中的基本概念;
第一章 绪论
1.1 什么是数据结构
1.2 基本概念和术语 1.3 抽象数据类型

数据结构第一章 绪论PPT课件

数据结构第一章  绪论PPT课件

28.11.2020
21
算法设计的要求
算法的正确性 l 可读性 l 健壮性 l 高效率和低存储量
例如要求n个数的最大值问题 给出算法如下:
max:=0; for(i=1 ;i<= n ;i++) { scanf("%f", x);
if (x>max) max=x; }
28.11.2020
22
算法描述的工具
算法可用自然语言、框图或高级程序设计语言 进行描述。
类语言是接近于高级语言而又不是严格的高级 语言,具有高级语言的一般语句设施,撇掉语言中 的细节,以便把注意力主要集中在算法处理步骤本 身的描述上。
28.11.2020
23
设计实现算法过程步骤
1. 找出与求解有关的数据元素之间的关系
2. 确定在某一数据对象上所施加运算 3. 考虑数据元素的存储表示 4. 选择描述算法的语言 5.设计实现求解的算法,并用程序语言加以描述。
例如:

28.11.2020
8
图状结构或网状结构
定义: 结构中的数据元素之间存在着多对
多的任意关系。
例如:

28.11.2020
9
逻辑结构
定义: 数据的逻辑结构是指数据元素之间逻辑关系描述。
l形式化描述: Data_Structure=(D,R)其中D是数据元素的
有限集,R是D上关系的有限集。
28.11.2020
5
集合结构
定义: 结构中的数据元素之间除了同属于
一个集合的关系外,无任何其它关系。
例如:
集合
28.11.2020
6
线性结构
定义: 结构中的数据元素之间存在着一对

第1章 绪论 数据结构课件

第1章 绪论 数据结构课件

L S ……
书目文件
索引表
按分类号
002,… 001,003, ……
国际教育学院
人机对奕问题

Байду номын сангаас……..
……..
…...
…...
…...
国际…教.育.. 学院
文件系统的系统结构图

/ (root)
bin
lib
user
etc
math ds sw
yin tao xie
Queue.cpp Stack.cpp Tree.cpp
国际教育学院
学生选课问题
“课程”表格
课程编号 024002 024010 024016 024020 024021 024024 024026
课程名 程序设计基础 汇编语言 计算机原理 数据结构 微机技术 操作系统 数据库原理
学时 64 48 64 64 64 48 48
国际教育学院
学生选课问题
数据结构
•Office: 东五楼408(西) •Tel:13592501918 •E_mail:zhiguowang@
王治国
国际教育学院
为什么要学习数据结构
❖编程基础 ❖计算机及相关专业考研课程 ❖计算机等级考试课程 ❖程序员考试课程
国际教育学院
课程学习指导
课程特点:内容抽象、概念性强、内容灵活、不易掌握
程序=算法+数据结构
电子计算机的主要用途:
早期:
主要用于数值计算。
后来:
处理逐渐扩大到非数值计算领域,能处理多种 复杂的具有一定结构关系的数据
国际教育学院
书目自动检索系统
线性表
按书名
001

第一章 绪论 《数据结构》PPT课件

第一章  绪论  《数据结构》PPT课件
47
① 结构化程序设计目的
通过设计结构良好的程序,以程序的静态良好结构保证 程序动态执行的正确性,使程序易理解、易调试、易维 护,以提高软件开发的效率,减少出错率。
②结构化程序设计的构成单元
任何程序都可由顺序、选择、重复三种基本控制结构来 组成。
③结构化程序设计方法 其一:“自顶向下,逐步求精”的设计思想 ;其二: “独立功能,一个入口,一个出口“的模块化结构; 其 三:“仅用三种基本控制结构”的设计原则
不是针对实际执行时间精确算出算法执行的具 体时间,而是针对算法中语句的执行次数做出估计, 从中得到算法执行时间的信息。
38
定义:
语句频度是指该语句在一个算法中重复执行
的次数。
例如: 算法语句
对应的语句频度
1 for(i=0;i< n;i++)
两个
2
for (j=0;j<n;j++)
矩阵
3
{c[i][j]=0;
1.1 数据结构的基本概念(定义)
1
数据(Data)
定义:
数据是描述客观事物的数值、字符以及能输入 机器且能被处理的各种符号集合。
数据包含整型、实型、布尔型、图象、字符、声音 等一切可以输入到计算机中的符号集合。
例如对C源程序
C编译程序
源程序
(.c)
目标程序 (.obj)
C链接程序
可执行程序 (.exe)
数据元素之间的关系在计算机中的表示方法: ▪顺序映像 (顺序存储结构) ▪非顺序映像(非顺序存储结构)
18
运算集合
例如工资表:
编 号 姓 名 性别 基本工资 工龄工资 应扣工资 实发工资
100001 张爱芬 100002 李 林

数据结构教学课件-chap001.ppt

数据结构教学课件-chap001.ppt
第一章 绪论
线性表
A.线性结构 栈


1.数据的逻辑结构
据 结
树形结构 B.非线性结构


图形结构

个 主
2、数据的存储结构 A 顺序存储
要 问
B 链式存储

3、数据的运算:检索、排序、插入、删除、修改等。
学习数据结构的意义
数据结构是计算机专业的核心课程之一, 在众多的计算机系统软件和应用软件中 都要用到各种数据结构。因此,仅掌握 几种计算机语言是难以解决众多复杂的 问题。要想有效地使用计算机,还必须 学习数据结构的有关知识。
数据关系: R1={<e1,e2> | e1是复数的实数部分 | e2 是复数的虚数部分 }
基本操作:
AssignComplex( &Z, v1, v2 ) 操作结果:构造复数 Z,其实部和虚部
数据结构的形式定义为: 数据结构是一个二元组 Data_Structures = (D, S)
其中:D 是数据元素的有限集,
S 是 D上关系的有限集。
数据的存储结构
—— 逻辑结构在存储器中的映象
“数据元素”的映象 ? “关系”的映象 ?
数据元素的映象方法:
用二进制位(bit)的位串表示数据元素 (321)10 = (501)8 = (101000001)2 A = (101)8 = (001000001)2
数据元素可以是数据项的集合 例如:描述一个运动员的数据元素可以是











年月日






数据结构绪论 ppt课件

数据结构绪论  ppt课件
ppt课件 27 27
1.4 算法和算法分析
2019年3月2日星期六
算法和程序的主要区别:程序是用某种程序设计语言所书 写的一个计算过程。而算法并不一定表现为一个计算机程 序。它可以用不同方式和不同语言来描述。
BEGIN
1t 算法 2i DO UNTIL i>5 t×i t i+1i ENDDO PRINT t
作为描述工具。其描述语法见P10-11。
但上机时要用具体语言实现,如C或C++等
ppt课件 25 25
1.4 算法和算法分析
2019年3月2日星期六
Q1. 什么是算法?
Q2. 算法设计的要求?
Q3. 时间复杂度如何表示?
Q4. 空间复杂度如何表示?
ppt课件 26
26
1.4 算法和算法分析
2019年3月2日星期六
2019年3月2日星期六
【例1】数据管理问题—线性问题
ppt课件 8
8
1.1 什么是数据结构
2019年3月2日星期六
【例2】棋类对弈问题—树型结构
初始棋盘格局
第一步
x
x
x x
第二步
x0
x 0
x
0
x 0
第 N 步
x x x 0x 0x 0 x 0
ppt课件 9
x 0x x0
x 0x x 0
9
1.1 什么是数据结构
ppt课件 30
30
1.4 算法和算法分析
2019年3月2日星期六
3 算法分析
Q3. 时间复杂度如何表示?
• 算法分析方法
• 算法分析的两个主要方面

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

通过继承关系,可以很容易得到具有自己特点的数据结构。 通过继承关系,可以很容易得到具有自己特点的数据结构。 通过模板,将类型作为参数,可以得到 Generic Data Structures。 通过模板,将类型作为参数, 。 从而上升到数据结构的更高抽象层次。 从而上升到数据结构的更高抽象层次。
operation: 1、在 data value 上:var value1, value2, value 3; 、 value3 = value1 + value2; 2、在 元素上:var value1; 、 元素上 value1 [1] = 1.2;
数据结构
是一种数据类型,其数据值: 是一种数据类型,其数据值: 1、可以进一步分解为数据元素的集合,该数据元素可以是原子数据值,也可以是 、可以进一步分解为数据元素的集合,该数据元素可以是原子数据值, 另外一种数据结构。 另外一种数据结构。 2、数据元素之间有一个关系的集合。 、数据元素之间有一个关系的集合。 注意:在许多数据结构的书籍(课本)之中, 注意:在许多数据结构的书籍(课本)之中,通常将数据元素称之为结点 数据结构的分类: 1、线性结构:如:线性表:空或一个元素或:除第一个结点外,都有直接前驱结点, 、线性结构: 线性表:空或一个元素或:除第一个结点外,都有直接前驱结点, 除最后一个结点外,都有直接后继结点。 除最后一个结点外,都有直接后继结点。 其它如: 队列等。 其它如:栈、队列等。 2、非线性结构:树、二叉树、图等。 、非线性结构: 二叉树、图等。
value1
value2
数据值的进一步分解为数据元素,它们之间有一个关系。 数据值的进一步分解为数据元素,它们之间有一个关系。
数据类型的类别
1、原子数据类型: 、 数据值是原子数据值。 数据值是原子数据值。如:int 是原子数据值 2、结构数据类型: 、 数据值是可以再分解。 数据值是可以再分解。如:an array[1..3 ] of real 是可以再分解 value1 [1] [2] [3] 0 1.9 3.4 value2 [1] [2] [3] 1.9 0 3.4 value3 [1] [2] [3] 1.9 1.9 6.8
虚拟数据类型
C++表示的表 的规范( 表1.2: 用 C++表示的表 seqlist 的规范( VDT ) class seqlist { private: int size; // size of the seqlist. It is 0 when the seqlist is empty. DataType * list; // DataType is the data type of the component elements of seqlist. public: // the seqlist access methods. seqlist( ); int ListSize( ) const; int ListEmpty( ) const; int Find( int & item ) const; DataType GetData(int pos) const; void Insert( const int & item ); void Delete( const int & item ); void ClearList( ); };
国内在 78 年 开设
计算机科技的两大支柱
1、数据结构 、 2、算法 、
程序 = 数据结构 + 算法
输入未处理的数据 算法 输出加工过的数据
数据类型和数据结构
数据值:atomic data value: 不可再分解。如3、2、5等。 不可再分解。 、 、 等 non-atomic data value: 可以再分解, 可以再分解, 其成分称为data element 或 element。如 set: { 32.99, -1.03, 0, 23} 。 其成分称为 。 类型:同一类别可供识别的一组个体。 同一类别可供识别的一组个体。 数据类型:data type = data value + operation 或者定义为 或者定义为 1、A set of value 、 2、A set of operations on the these value。 、 。
数据类型的类别
1、原子数据类型: 、 数据值是原子数据值。 数据值是原子数据值。如:int 2、结构数据类型: 、 数据值是可以再分解。 数据值是可以再分解。如:an array[1..3 ] of real value1 [1] [2] [3] 0 1.9 3.4 value2 [1] [2] [3] 1.9 0 3.4 value3 [1] [2] [3] 1.9 1.9 6.8
3.PDT(Physical
Data Type):
DT 存在于物理机器上。 存在于物理机器上。
例:线性表
中数据结构的构造: 在C++中数据结构的构造:以一个线形表为例说明。 中数据结构的构造 以一个线形表为例说明。 线形表实例: 线形表实例:
3 22 5 45 23 8
抽象数据类型
的抽象数据类型( 表1.1: 表seqlist 的抽象数据类型(ADT) ) ADT seqlist is Data 一个数据元素的表 一个数据元素的表seqlist,其数据元素或结点可由序号进行标识。 ,其数据元素或结点可由序号进行标识。 Operations Constructor 构造一个空表。 构造一个空表。 ListSize ListEmpty ClearList Find Insert Delete DeleteFront GetData 前提: 前提:无。 结果:给出表 的规模。 结果:给出表seqlist的规模。 的规模 前提: 前提:无。 结果:若表seqlist为空返回 为空返回True,否则 结果:若表 为空返回 ,否则False。 。 前提: 前提:无。 结果:若表seqlist非空,则清空表 非空, 结果:若表 非空 则清空表seqlist。 。 前提:给定数据元素或结点。 前提:给定数据元素或结点。 结果:若查找成功则返回True, 否则返回 否则返回False。 结果:若查找成功则返回 。 前提: 给定要插入的数据元素。 前提 给定要插入的数据元素。 结果:将该数据元素插入到表seqlist的末尾,表的规模增加 。 的末尾, 结果:将该数据元素插入到表 的末尾 表的规模增加1。 前提: 给定要删除的数据元素之值。 前提 给定要删除的数据元素之值。 结果:查找该数据值的结点,查找成功则删除之, 的规模减少1, 结果:查找该数据值的结点,查找成功则删除之,表seqlist的规模减少 ,否则删除失败。 的规模减少 否则删除失败。 前提: 非空。 前提 表seqlist非空。 非空 结果:删除队首结点并返回结点的数据值, 的规模减少1。 结果:删除队首结点并返回结点的数据值,表seqlist的规模减少 。 的规模减少 前提: 数据元素或结点的位置或序号,其序号在0和表的大小减 之间。 和表的大小减1之间 前提 数据元素或结点的位置或序号,其序号在 和表的大小减 之间。 结果:给出相应 位置序号的结点的数据值。 结果:给出相应表seqlist位置序号的结点的数据值。 位置序号的结点的数据值
算法
一个算法就是有穷规则的集合,其中的规则规定了一个解决某一个特定问题的运算序列。 一个算法就是有穷规则的集合,其中的规则规定了一个解决某一个特定问题的运算序列。
欧几里德算法:
都是正整数。那么, 如果 m、n 都是正整数,且 m > n, 则 m = nq + r , 0 < r < n, 此处 r,q 都是正整数。那么, 、 都是正整数, (m,n) = ( n, r) ; // (a,b ) 为 a、b之间的最大公约数。 之间的最大公约数。 、 之间的最大公约数 计算 m、n 之间最大公约数的算法: 、 之间最大公约数的算法: n g(m,n) = g(n, mod(m,n)) if mod(m,n) != 0 if mod(m,n) = 0
数据结构的实现
1.ADT(Abstract
Data Type):
仅存在于想象之中。注意力集中在感兴趣的性质上, 认为 DT 仅存在于想象之中。注意力集中在感兴趣的性质上,不关心数据的表示 形式、操作的具体代码等等。给出规范或说明。 形式、操作的具体代码等等。给出规范或说明。 2.VDT(Virtual
例:欧几里德算法
程序框图: 程序框图: Input m, n r = mod(m, n) r==0? m = n; n = r 输入 求余数 output n 求出 m、n 的最大公约数 、
通常数据结构和算法的教科书,直接给出VDT。 通常数据结构和算法的教科书,直接给出 。
// the seqlist modification method.
例:有序表
线形表实例: 线形表实例: 有序表实例: 有序表实例:
3 3 22 5 5 8 45 22 23 23 8 45
表1.3:有序表 :有序表orderlist 的抽象数据类型 (ADT) ) ADT orderlist is Data < same as the seqlist ADT > Operations Constructor < executes the base class constructor > ListSize < same as the seqlist ADT > ListEmpty < same as the seqlist ADT > ClearList < same as the seqlist ADT > Find < same as the seqlist ADT > Insert < same as the seqlist ADT > Delete < same as the seqlist ADT > DeleteFront < same as the seqlist ADT > GetData < same as the seqlist ADT > Insert 前提: 给定被插入的数据元素的值。 前提 给定被插入的数据元素的值。 结果:在表Orderlist中按序插入新的数据元素,且表Orderlist的规模增大 。 结果:在表 中按序插入新的数据元素,且表 的规模增大1。 中按序插入新的数据元素 的规模增大
相关文档
最新文档