算法导论-概论

基本概念和术语

根据数据元素之间关系的不同特性,通常有下列4类基本结构:
(1)集合 结构中的数据元素之间除“同属于一个集合”的关系外,别无其他关系;
(2)线性结构 结构中的数据元素之间存在一个对一个的关系
(3)树形结构 结构中的数据元素之间存在一个对多个的关系
(4)图状结构或网状结构 结构中的数据元素之间存在多个对多个的关系
Data_Structure = (D,S)
D是数据元素的有限集,S是D上关系的有限集
数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。在计算机中表示信息的最小单位是二进制数的以为,叫做位(bit)。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
抽象数据类型(Abstract Data Type)是指一个数据模型以及定义在该模型上的一组操作。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。

一个含抽象数据类型的软件模块通常应包含定义、表示和实现三个部分。
抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。可分为三种类型:

  • 原子类型(atomic data type)属原子类型的变量的值不可分解
  • 固定聚合类型(fixed-aggregate data type) 属该类型的变量,其值由确定数目的成分按某种结构组成
  • 可变聚合类型(variable-aggregate data type)和固定聚合类型相比较,构成可变聚合类型的“值”的成分的数目不确定
    抽象数据类型(D,S,P)D是数据对象,S是D上的关系集,P是对D的基本操作集。

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

抽象数据类型可通过固有数据类型来表示和实现,即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。

  • 预定义常量和类型
  • 数据结构的表示(存储结构)用类型定义(typedef)描述。数据元素类型约定为ElemType,由用户在使用该数据类型时自行定义。
  • 基本操作的算法
  • 赋值语句
  • 选择语句
  • 循环语句
  • 结束语句
  • 输入和输出语句
  • 注释
  • 基本函数有
  • 逻辑运算约定

算法和算法分析

算法

  • 有穷性
  • 确定性
  • 可行性
  • 输入
  • 输出
  • 算法设计的要求

  • 正确性
  • 可读性
  • 健壮性
  • 效率与低存储量需求

算法效率的度量

  • 事后统计的方法
  • 事前分析估算的方法:依据的算法选用何种策略;问题的规模;书写程序的语言;编译程序所产生的机器代码的质量;机器执行指令的速度----渐进时间复杂度

算法的存储空间需求

空间复杂度(space complexity)作为算法所需存储空间的量度,记作
S(n)=O(f(n))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值