数据结构总结 第一章:绪论

1.2.1基本结构概念和术语

       1.数据:客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称

       2.数据元素:是数据的基本单位,在计算机中通常作为一个整体加以考虑和处理

       3.数据项:  组成数据元素的最小基本单位,具有独立含义且不可分割

       4.数据对象:是性质相同的数据元素总和(集合)是数据的一个子集

  注:数据元素是数据的基本单位,数据项是组成数据元素的最小基本单位,二者不可混淆

   由上面的定义我们可以看出他们的关系是:数据>数据对象>数据元素>数据项


1.2.2 数据结构的基本分类

  1. 数据结构:相互之间存在一种或多种特定关系的数据元素的集合,数据结构包括逻辑结构、存储结构和操作(运算)三个层次
  2. 存储结构:数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。存储结构分为顺序存储结构和链式结构
  3. 逻辑结构:逻辑结构是数据本身的关系与计算机和存储结构无关是逻辑结构在计算机内的存储映像,与数据元素的形式内容和相对位置均有关系,逻辑结构是从逻辑上描述数据,从具体问题抽象出来的数学模型

1.2.3 数据类型和抽象数据类型

数据类型:一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。

抽象数据类型:由用户定义的、表示应用问题的数学模型,以及在在这个模型上一组操作的总称,具体包括数据对象、数据对象上关系的集合、以及数据对象的基本操作集合

1.3 抽象数据类型的表示与实现

抽象数据类型独立于具体实现,将数据和操作封装在一起,使得用户程序只能通过抽象数据类型定义的某些操作来访问其中的数据,从而实现信息隐藏。

在数据结构具体操作中以下为一些常用的宏定义表示方法

//表示函数执行结果状态的代码

#define OK 1

#define ERROR 0

#define OVERFLOW -2

//Status 是函数返回值类型,其值对应结果状态

typedef int Status;

抽象数据类型的定义、表示、实现过程

(1)定义部分

ADT <抽象数据类型名>

{

       数据对象:D={ ai | ai ∈ ElemSet,i=1,2,3….n,n>0 }

       数据关系:R={ <ai-1,ai> | ai-1,ai∈D,i=2…n }

       基本操作

       函数A(参数表)

              初始条件:………

操作结果:………

       函数B(参数表)

              初始条件:………

操作结果:………

}ADT 抽象数据类型名

(2)表示部分

typedef struct

{

              变量1;

              变量2;

              ………

}<数据类型名>

(3)实现部分

<函数类型>  <函数名>  (函数参数表)

{

       //算法说明

       <语句序列>

}

1.4 算法的定义及特性以及评价算法优劣的基本标准

算法:为了解决某类问题而规定的一个有限长的操作序列。

算法的五个重要特性:

有穷性:算法在有穷步完成,在有穷时间内完成

确定性:算法在执行过程中不产生二义性

可行性:所有操作都可以通过已经实现的基本操作运算执行有限次来实现

输入:一个算法有零个或多个输入

输出:一个算法有一个或多个输出,没有输出的算法没有任何意义

评价算法优劣的基本标准:

正确性:在合理的数据输入下能够在有限的运行时间内得到正确的结果

可读性:一个好的算法,应该便于人们理解和交流

健壮性:算法能够在输入数据非法时做出正确的反应和相应的处理

高效性(时间和空间两方面):一个好的算法具有时间高效和空间的高效的特点

转载于:https://www.cnblogs.com/basketball616/p/11143577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值