数据结构与算法分析java语言描述 严蔚敏翻译_重读数据结构——严蔚敏C语言版...

第一章 绪论

“数据结构”是介于数学、计算机硬件和计算机软件三者之间的一门核心课程

数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素(data element)是数据的基本单位,在计算机程序中痛处作为一个整体进行考虑和处理。数据项是数据的不可分割的最小单位。

数据对象(data object) 是性质相同的数据元素的集合,是数据的一个子集。

数据结构(data structure) 是相互之间存在一种或多种特点关系的数据元素的集合。

基本结构: 集合——结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系;

线性结构——结构中的数据元素之间存在一个对一个的关系;

树形结构——结构中的数据元素之间存在一个对多个的关系;

图状结构或网状结构——结构中的数据元素之间存在多个对多个的关系。

结构定义中的“关系”描述的是数据元素之间的逻辑关系,称为数据的逻辑结构;数据结构在计算机中的表示(映像)称为数据的物理结构,又称为存储结构。

一个含有抽象数据类型的软件模块通常应包含定义、表示和实现3个部分。抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。按其值得不同特性可细分为:

原子类型 atomic data type 属原子类型的变量的值是不可分解的。

固定聚合类型 fixed-aggregate data type 属该类型的变量,其值由确定数目的称为按某种结构组成;

可变聚合类型 variable-aggregate data type 构成可变聚合类型“值”的成分的数目不确定。

抽象数据类型三元组表示:(D, S, P)

ADT抽象数据类型名 {

数据对象:

数据关系:

基本操作:

}

其中数据对象和数据关系的定义用伪码描述,基本操作的定义格式为

基本操作名(参数表)

初始条件:

操作结果:

算法algorithm 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中一条指令表示一个或多个操作;

算法的重要特性:

有穷性

确定性

可行性

输入

输出

算法设计的要求:

正确性correctness 算法应当满足具体问题的要求;

可读性 readability 算法主要是为了人的阅读与交流,其次才是机器执行;

健壮性 robustness

效率与地存储量需求 效率指的是算法执行的时间。

算法效率的度量——时间复杂度

算法的存储空间存储空间需求——空间复杂度space complexity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值