数据结构的抽象描述

合集下载

数据结构及抽象数据类型

数据结构及抽象数据类型

数据结构及抽象数据类型1.2 什么是数据结构结构:实体 + 关系数据结构:按照逻辑关系组织起来的⼀批数据按⼀定的存储⽅法把它存储在计算机中在这些数据上定义了⼀个运算的集合数据结构三个基本⾯:逻辑、存储、运算数据结构的逻辑组织线性结构线性表(表、栈、队列、串等)⾮线性结构树(⼆叉树、 Huffman树、⼆叉检索树等)图(有向图、⽆向图等)图树⼆叉树线性表数据的存储结构逻辑结构到物理存储空间的映射计算机主存储器(内存)⾮负整数地址编码,相邻单元的集合基本单位是字节访问不同地址所需时间基本相同(即随机访问)内存可以看做是从低到⾼的线性结构对逻辑结构(K,r),其他r R对结点集K建⽴⼀个从K到存储器M的单元的映射:K-->M,对于每⼀个结点j K都对应⼀个唯⼀的连续存储区域c M 关系元组(j1,j2) r(其中j1,j2 K是结点)顺序:存储单元的顺序地址(数组)连接:指针的地址指向关系(链表)四类:顺序、链接、索引、散列(特殊的索引结构)抽象数据类型简称ADT(Abstract Data Type)定义了⼀组运算的数学模型与物理存储结构⽆关使软件系统建⽴在数据之上(⾯向对象)模块化的思想的发展隐藏运算实现的细节和内部数据结构软件复⽤ADT不关⼼存储细节抽象数据结构⼆元组<数据对象D,数据操作P>先定义逻辑结构,再定义运算逻辑结构:数据对象及其关系运算:数据操作例:栈的抽象数据类型ADT逻辑结构:线性表操作特点:限制访问端⼝只允许在⼀端进⾏插⼊、删除操作⼊栈(push)、出栈(pop)、取栈顶(top)、判栈空(isEmpty)思考:关于抽象数据类型ADT怎么体现逻辑结构?抽象数据类型等价于类定义?不⽤模板来定义可以描述ADT吗?。

数据结构的抽象数据类型(ADT)

数据结构的抽象数据类型(ADT)

数据结构的抽象数据类型(ADT)数据结构是计算机科学中非常重要的概念,它是一种组织和存储数据的方式,能够高效地进行数据操作和管理。

在数据结构中,抽象数据类型(Abstract Data Type,ADT)是一个非常关键的概念,它定义了数据类型的抽象行为和操作,而不涉及具体的实现细节。

本文将介绍数据结构的抽象数据类型(ADT)的概念、特点以及在实际编程中的应用。

### 什么是抽象数据类型(ADT)?抽象数据类型(ADT)是一种数学模型,用来描述数据类型的抽象行为和操作。

它定义了数据类型的逻辑结构和操作集合,而不关心具体的实现方式。

在ADT中,数据类型被看作是一个黑盒子,只暴露了对外的接口和操作,而隐藏了内部的实现细节。

这种抽象的设计思想使得程序员可以更加专注于数据类型的逻辑结构和操作,而不需要关心具体的实现细节,从而提高了代码的可维护性和可扩展性。

### ADT的特点1. **封装性**:ADT将数据类型的逻辑结构和操作封装在一起,隐藏了内部的实现细节,只暴露了对外的接口和操作。

这种封装性使得程序员可以更加专注于数据类型的逻辑结构和操作,而不需要关心具体的实现细节。

2. **独立性**:ADT与具体的编程语言和平台无关,可以在不同的编程语言和平台上实现和使用。

这种独立性使得ADT具有很好的通用性和可移植性。

3. **抽象性**:ADT只关注数据类型的逻辑结构和操作,而不涉及具体的实现细节。

这种抽象性使得程序员可以更加灵活地使用和扩展ADT,从而提高了代码的可维护性和可扩展性。

4. **高效性**:ADT定义了数据类型的逻辑结构和操作,能够高效地进行数据操作和管理。

通过合理设计ADT,可以提高程序的执行效率和性能。

### ADT的应用在实际编程中,ADT广泛应用于各种数据结构和算法中,如栈、队列、链表、树、图等。

通过定义和使用ADT,程序员可以更加方便地实现和操作各种数据结构,提高代码的可读性和可维护性。

《数据结构》第一章重点知识梳理

《数据结构》第一章重点知识梳理
12
第一章 绪论
求绝对值 abs(表达式) 求不足整数值 floor(表达式) 求进位整数值 ceil(表达式) 判定文件结束 eof(文件变量) (10)逻辑运算 与运算&&:对于A&&B,当A的值为0时,不在对B求值。 或运算||:对于A||B,当A的值为非0时,不在对B求值。 四、算法和算法分析 1.算法 (1)算法的定义
由于算法的时间复杂度考虑的只是对于问题规模n的增长率,因此在难以精确计算基本操作 执行次数(或语句频度)的情况下,只需求出它关于n的增长率或阶即可。 4.算法的存储空间需求
类似于算法的时间复杂度,以空间复杂度(spacecomplexity)作为算法所需存储空间的量 度,记作S(n)=O(f(n))其中n为问题的规模。
18
的表示。
①元素的表示。计算机数据元素用一个由若干位组合 起来形成的一个位串表示。
图1-1四类基本结构的关系图。
5
第一章 绪论
②关系的表示。 计算机中数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象。 并由这两种不同的表示方法得到两种不同的存储结构:顺序存储结构和链式存储结构。 a.顺序映象的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。 b.非顺序映象的特点是借助指示元素存储地址的指针(pointer)表示数据元素之间的逻辑
数据元素(dataelement)是数据的基本单位,在计算机程序中通常作为一个整体进行考 虑和处理。
3
第一章 绪论
3.数据对象 数据对象(dataobject)是性质相同的数据元素的集合,是数据的一个子集。
4.数据结构 数据结构(datastructure)是相互之间存在一种或多种特定关系的数据元素的集合。 (1)数据结构的基本结构 根据数据元素之间关系的不同特性,通常有下列四类基本结构: ①集合。数据元素之间除了“同属于一个集合”的关系外,别无其它关系。 ②线性结构。数据元素之间存在一个对一个的关系。 ③树形结构。数据元素之间存在一个对多个的关系。 ④图状结构或网状结构。数据元素之间存在多个对多个的关系。

数据结构

数据结构

数据结构是指同一数据元素类中各数据元素之间存在的关系。

数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。

数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。

逻辑结构形式地定义为(K,R)(或(D,S)),其中,K是数据元素的有限集,R是K上的关系的有限集。

数据元素相互之间的关系称为结构。

有四类基本结构:集合、线性结构、树形结构、图状结构(网状结构)。

树形结构和图形结构全称为非线性结构。

集合结构中的数据元素除了同属于一种类型外,别无其它关系。

线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

在图形结构中每个结点的前驱结点数和后续结点数可以任意多个。

数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。

它包括数据元素的表示和关系的表示。

数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。

顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。

顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。

链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。

由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。

散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。

数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。

线性结构的顺序存储结构是一种随机存取的存储结构,线性表的链式存储结构是一种顺序存取的存储结构。

线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

什么是数据结构抽象数据类型及面向对象概念模板算法定义

什么是数据结构抽象数据类型及面向对象概念模板算法定义
Type *Element; int ArraySize; void Swap (const int m1, const int m2); int MaxKey (const int low, const int high);
Department of Computer Science & Technology, Nanjing University
Department of Computer Science & Technology, Nanjing University
fall
DATA STRUCTURES
Add (x, y) : NaturalNumber : if (x+y<=MaxInt)
返回 x+y
else 返回MaxInt
Equal (x, y) :Boolean
——数值数据, 非数值性数据
数据对象:数据的子集。具有相同性质的数据 成员(数据元素)的集合。
——整数数据对象 N = { 0, 1, 2, … }
——学生数据对象
Department of Computer Science & Technology, Nanjing University
fall
fall
如: • n个网站之间的连通关系
1
2
1
DATA STRUCTURES
2
6
3
6
3
树形关系
网状关系
5
4
5
4
• 复数的数据结构定义如下: Complex=(C,R)
C是包含两个实数的集合﹛C1,C2} R={P},P是定义在集合上的一种关系 {〈C1,C2〉}。
Department of Computer Science & Technology, Nanjing University

数据结构抽象数据类型(范文2篇)

数据结构抽象数据类型(范文2篇)

数据结构抽象数据类型(范文2篇)以下是网友分享的关于数据结构抽象数据类型的资料2篇,希望对您有所帮助,就爱阅读感谢您的支持。

篇一专题1 数据结构分类与抽象数据类型1.1 数据结构分类数据结构讨论现实世界和计算机世界中的数据及其相互之间的联系,这体现在逻辑和存储两个层面上,相应称之为逻辑结构和存储结构。

也就是说,在现实世界中讨论的数据结构是指逻辑结构,在计算机世界中讨论的数据结构是指存储结构,又称为物理结构。

数据的逻辑结构总体上分为4种类型:集合结构、线性结构、树结构和图结构。

数据的存储结构总体上也分为4种类型:顺序结构、链接结构、索引结构和散列结构。

原则上,一种逻辑结构可以采用任一种存储结构来存储(表示)。

对于现实世界中的同一种数据,根据研究问题的角度不同,将会选用不同的逻辑结构;对于一种逻辑结构,根据处理问题的要求不同,将会选用不同的存储结构。

对于复杂的数据结构,不论从逻辑层面上还是从存储层面上看,都可能包含有多个嵌套层次。

如假定一种数据结构包含有两个层次,第一层(顶层)的逻辑结构可能是树结构,存储结构可能是链接结构;第二层(底层)的逻辑结构可能是线性结构,存储结构可能是顺序结构。

第一层结构就是数据的总体结构,第二层结构就是第一层中数据元素的结构。

数据的逻辑结构通常采用二元组来描述,其中一元为数据元素的集合,另一元为元素之间逻辑关系的集合,每一个逻辑关系是元素序偶的集合,如就是一个序偶,其中x 为前驱,y 为后继。

当数据的逻辑结构存在着多个逻辑关系时,通常对每个关系分别进行讨论。

逻辑结构的另一种描述方法是图形表示,图中每个结点表示元素,每条带箭头的连线表示元素之间的前驱与后继的关系,其箭头一端为后继元素,另一端为前驱元素。

数据的存储结构通常采用一种计算机语言中的数据类型来描述,通过建立数据存储结构的算法来具体实现。

数据的逻辑结构或存储结构也时常被简称为数据结构,读者可根据上下文来理解。

下面通过例子来说明数据的逻辑结构。

数据结构的抽象数据类型描述

数据结构的抽象数据类型描述

数据结构的抽象数据类型描述:有序的元素序列,将有限个元素按顺序排列的集合。

:有序的元素序列,但不同于数组,链表在内存中不是连续存放的,通过指针指向下⼀个元素。

:⼀种操作受限制的线性表,其限制是仅能在⼀端进⾏插⼊和删除。

新添加的元素会被保存到栈顶,称为⼊栈,删除的时候移除栈顶的第⼀个元素,称为出栈。

后进先出。

:⼀种操作受限制的线性表,其限制是仅能在前端进⾏删除,后端进⾏插⼊。

先进先出。

:⼀种具有层次结构的有限集合。

每个结点都有左右结点,⽐结点⼤的在结点右边,⽐结点⼩的在结点左边。

这样的特点使得查找效率很⾼效。

:由⼀堆⽆序的、不重复的元素组成的集合。

:通过<键,值>⽅式存储数据,每个元素都有<键,值>,通过键访问元素。

:特殊的树形结构。

最⼤值在根,每个⽗节点都⽐⼦节点⼤,称为最⼤堆;根是最⼩值,每个⽗节点都⽐⼦节点⼩,称为最⼩堆。

:⼀种特殊的队列,其特殊之处是根据优先级出队,⽽不是先进先出。

:n叉树结构,通过字符寻找下⼀个节点。

:集合与集合之间的运算。

⽐如两个元素是否同⼀个集合;合并集合;:类似映射。

不同之处是:将key通过哈希函数转成数字索引,再去访问数组的元素。

:由n(n ≥ 0)个结点组成的集合。

每个结点都可以指向其他结点。

数组类型名称:数组。

数据对象集: n(n ≥ 0)个元素构成的有序序列。

操作集:整数i表⽰位置,ElementType为元素类型。

1. 查找元素:int find( ElementType e)2. 插⼊元素:void insert(int i, ElementType e)3. 删除元素:ElementType remove(int i)4. 更新元素:void set(int i, ElementType e)5. 访问元素:ElementType get(int i)6. 返回长度:int length()链表类型名称:链表。

数据对象集: n(n ≥ 0)个结点构成的有限集合,每个结点带有指向下⼀个元素的指针操作集:整数i表⽰位置,ElementType为元素类型。

什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义(1)

什么是数据结构 抽象数据类型及面向对象概念 模板 算法定义(1)

什么是数据结构抽象数据类型及面向对象概念模板算法定义(1)什么是数据结构?数据结构是计算机科学和信息技术领域中的一个重要概念,用于描述数据的组织、存储和管理方式。

简单来说,数据结构就是指在计算机上组织和存储数据的一种特定方式。

抽象数据类型及面向对象概念抽象数据类型(Abstract Data Type,简称ADT)是指一类既具有相同数据类型性质又具有相同的数据操作性质的数据类型。

ADT是从用户需求角度出发描述数据类型的,而不是从数据存储和处理的角度。

因此,ADT的概念更加抽象、通用和可扩展。

面向对象(Object Oriented,简称OO)是一种编程范型,它将数据和行为封装到对象中,通过继承、多态等特性来定义对象间的交互关系。

面向对象的编程思想借鉴了人类认知世界的方式,更加符合日常的思考和表达方式。

模板模板(Template)是一种泛型编程范式,是指将函数或类中具体的类型参数用类型参数代替,以达到一种通用的、不适用于某一种具体类型的、适用于所有类型的代码。

C++中的STL库(标准模板库)就是一个典型的例子,通过通用的代码,实现了多种数据结构和算法。

算法定义算法是指一种用于解决问题的有限步骤的描述,是一种可行可实现思路的明确描述。

算法具有输入、输出、有限性、明确性、有效性、确定性等特性。

例如最常见的排序、查找、图形处理等问题,都可以通过正确的算法得到解决。

以上就是关于数据结构、抽象数据类型、模板和算法的基本概念和定义。

这些概念都是计算机科学和信息技术领域中的重要内容,对于理解计算机领域的基础知识和开发实践都具有重要意义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
掌握并简单应用常用的排序、检索和索引算法和方法。
掌握基本的算法设计和分析技术,并对自己设计的数 据结构和算法进行简单的分析。
在进行程序设计、调试、测试的课程项目训练(即上 机实习训练)过程中,要求学生综合应用所学到的数 据结构和算法知识,学会分析研究数据对象的特性, 以便选择合适的数据结构和存储结构以及相应的算法, 合理地组织数据、有效地表示数据、有效地处理数据, 书写的程序结构清楚、正确易读,提高程序设计的质 量。
4. 数据类型(data type)
是一组性质相同的值的集合以及定义于这个值集合上的一 组操作的总称。
例如,高级语言中用到的整数数据类型,是指由-32768 到32767中值构成的集合及一组操作(加、减、乘、除、 乘方等)的总称。
5. 数据结构(data structure)
是指相互之间存在一种或多种特定关系的数据元素所组成的 集合。具体来说,数据结构包含三个方面的内容,即数据的 逻辑结构,数据的存贮结构和对数据所施加的运算。这三个 方面的关系为:
数据封装: 将实体的外部特性和其内部实现细节分离, 并且对外部用户隐藏其内部实现细节。。
1.3 抽象数据类型的表示与实现
抽象数据类型可通过固有数据类型来表 示和实现,即利用处理器中已存在的数 据类型来说明新的结构,用已经实现的 操作来组合新的操作。
P10
1.4 算法和算法分析
1.4.1 算法(algorithm)
参考资料:
1、许卓群、杨冬青等,数据结构与算法.高等教育出版 社.
2、殷人昆、陶永雷等,数据结构—用面向对象方法与C++ 描述,清华大学出版社
3、[美]Bruno R.Preiss著,胡广斌、王崧等译,数据结构与 算法—面向对象的C++设计模式 4、杨明、杨萍,数据结构学练考,清华大学出版社 5、李春葆,数据结构习题与解析,清华大学出版社 6、 7、http::///datastructure/default.asp 8、西北大学数据结构:/datastr 9、编程爱好者网站:
第1章 绪论
什么是数据结构 基本概念和术语 抽象数据类型的表示与实现 算法和算法分析
1.1什么是数据结构
一般来说,用计算机解决一个具体问题时, 需经历下列步骤:
建立数学模型设计解此模型的算法编程、 调试
寻求数学模型的实质:分析问题,从中提取 操作的对象,并找出对象之间的关系,然 后用数学的语言加以描述。
非数值计算的程序设计问题
例比较两个数的大小” 模型: 取决于整数值的范围
例2:计算机对弈 算法: 对弈的规则和策略 模型: 棋盘及棋盘的格局 例3:足协的数据库管理 算法: 需要管理的项目?如何管理?用户界面? 模型: 各种表格
概括地说:
数据结构是一门研究非数值计算的程序 设计问题中计算机的操作对象以及它们 之间的关系和操作等的学科。
a1
a2
a3
a4
a5
例2 设一个数据结构的抽象描述为D=(K,R),其中 K={a,b,c,d,e,f,g,h},r={<a,b>,<a,c>,<a,d>,<b,e>,< c,f>,<c,g>,<d,h>},则它的逻辑结构用图描述见图1-5。
例3 设一个数据结构的抽象描述为D=(K,R),其中 K={1,2,3,4},而R={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}, 则它的逻辑结构用图描述见图
通俗地讲,算法就是一种解题的方法。更严格地说,算法是由 若干条指令组成的有穷序列,它必须满足下述条件(也称为 算法的五大特性):
(1)输入:具有0个或多个输入的外界量(算法开始前的初始 量)
(2)输出:至少产生一个输出,它们是算法执行完后的结果。
(3有穷性:每条指令的执行次数必须是有限的。
(4)确定性:每条指令的含义都必须明确,无二义性。
(1)数据的逻辑结构独立于计算机,是数据本身所固有的。
(2)存贮结构是逻辑结构在计算机存贮器中的映像,必须依 赖于计算机。
(3)运算是指所施加的一组操作总称。运算的定义直接依赖 于逻辑结构,但运算的实现必依赖于存贮结构。
从逻辑结构划分数据结构
数据结构从逻辑结构划分为:
(1)线性结构
元素之间为一对一的线性关系,第一个元素无直接 前驱,最后一个元素无直接后继,其余元素都有 一个直接前驱和直接后继。
数 据 结 构(C语言版)
严蔚敏 吴伟民编著 清华大学出版社
洛阳师范学院计算机科学系
数据结构课程的地位和作用
“数据结构课程”是计算机专业的专业基础课。
学习“数据结构”课程需要一些课程作为它的基础,如“C语 言”与“离散数学”。若没有“C语言”或其它语言基础,学 生就难以理解描述数据结构及其算法的类C或类C++,更重要 的是造成学生上机环节的困难,影响该课程的学习。同样, “离散数学”课程是“数据结构”课程的理论基础,其中集合、 树及图等重要理论知识为“数据结构”课程的学习提供了重要 的理论基础。
GetImag(Z,&ImagPart) 初始条件:复数已存在 操作结果:用ImagPart返回复数Z的虚部值
Add(Z1,Z2,&sum) 初始条件:Z1,Z2是复数 操作结果:用sum返回两个复数Z1,Z2的和值
}//ADT Complex
ADT有两个重要的特征:
数据抽象: 用ADT描述程序处理的实体时,强调的是其 本质的特征、其所能完成的功能以及它的外 部用户接口(即外界使用它的方法)。
(2)非线性结构
元素之间为一对多或多对多的非线性关系,每个元 素有多个直接前驱或多个直接后继。
从存贮结构划分数据结构
数据结构从存贮结构划分为: (1)顺序存贮(向量存贮) 所有元素存放在一片连续的存贮单元中,逻辑上相邻的
元素存放到计算机内存仍然相邻。 (2) 链式存贮 所有元素存放在可以不连续的存贮单元中,但元素之间
Niklaus Wirth: Algorithm+Data Structure=Programs
程序设计: 为计算机处理问题编制的一组指令集
算法:处理问题的策略 数据结构:问题的数学模型
例如:数值计算的程序设计问题 结构静力分析计算 ————线性代数方程组
全球天气预报 ————环流模式方程 (球面坐标系)
数据结构的抽象描述
数 据 结 构 可 用 二 元 组 D=(K,R) 的 形 式 来 描 述 。 其 中 , K={a1,a2,…,an}为元素集合,R={r1,r2,…,rm}为关系的集合。
例1 设有一个线性表(a1,a2,a3,a4,a5),它的抽象描述可表示为 D=(K,R),其中 K={a1,a2,a3,a4,a5},R={<a1,a2>,<a2,a3>,<a3,a4>,<a4,a5>}, 则它的逻辑结构用图描述见图:
数据结构是介于数学、计算机硬件和计 算机软件三者之间的一门核心课程。
1.2 基本概念和术语
1. 数据(data)
数据是指能够输入到计算机中,并被计算机识别和处理 的符号的集合。是计算机操作的对象的总称。
例如:数字、字母、汉字、图形、图像、声音都称为数 据。
2.数据元素(data element) 数据元素是组成数据的基本单位。
建立数学模型设计解此模型的算法编程、调试
而数据结构几乎体现在问题求借的各个步骤,尤其是步骤2。
数据结构的教学目的
懂得“数据结构+算法=程序” 培养数据抽象的能力 把数据结构和算法理论与编程实践相结
合,能够在实际的工程实践中灵活地予 以应用。
数据结构的教学要求
掌握并灵活应用常用的基本数据结构的抽象数据类型、 各种基本存储方法、主要的算法。
|e2是复数的虚数部分} 基本操作: AssignComplex(&z,v1,v2)
操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。 DestroyComplex(&Z)
操作结果:复数Z被销毁
GetReal(Z,&RealPart) 初始条件:复数已存在 操作结果:用RealPart返回复数Z的实部值
可读性
健壮性 当输入数据非法是,算法也能适当地作出反 应或进行处理,而不会产生莫名其妙的输出结果。
效率与低存储量需求 效率指的是算法执行时间。存 储量需求指算法执行过程中所需要的最大存储空间。
1.4.3 算法效率的度量
时间复杂度
1. 时间频度
一个算法执行所耗费的时间,从理论上是不能算出来的,必 须上机运行测试才能知道。但我们不可能也没有必要对每 个算法都上机测试,只需知道哪个算法花费的时间多,哪 个算法花费的时间少就可以了。并且一个算法花费的时间 与算法中语句的执行次数成正比例,哪个算法中语句执行 次数多,它花费时间就多。一个算法中的语句执行次数称 为语句频度或时间频度。记为T(n)。
“数据结构”课程为“编译原理”、“数据库系统”和“操作
系统”等课程的学习奠定必要的基础。例如:“编译原理”的 表达式求解用到“数据结构”的栈知识,符号表管理技术用到 哈希查找技术;“数据库系统”的存储用到B+树知识;“操作 系统”的设备链表管理用到线性链表知识,最短作业优先用到 队列知识。
计算机解决现实问题的方法一般经历下列步骤:
的关系可以通过地址确定,逻辑 上相邻的元素存放到计算机内存后不一定是相邻的。
(3)索引存贮
使用该方存放元素的同时,还建立附加的索引表,索引表 中的每一项称为索引项,索引项的一般形式是:(关键字, 地址),其中的关键字是能唯一标识一个结点的那些数据 项。
(4)散列存贮
通过构造散列函数,用函数的值来确定元素存放的地址。
(5)可行性:每条指令的执行时间都是有限的。
相关文档
最新文档