算法与数据结构学习

博客介绍了程序开发的阶段,包括分析、设计、编码、调试和维护。重点阐述了抽象数据类型,它支持数据类型实现与使用分离。还介绍了数据结构,包括其定义、三要素、分类,以及结点类型。此外,讲解了算法的定义、性质、分析方法,最后提及线性表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前序
程序是使用程序设计语言精确描述的实现模型

  1. 分析阶段
  2. 设计阶段(数据结构算法)
  3. 编码阶段
  4. 调试和维护

(可行解、最优解、次有解)

抽象数据类型
具有一定行为(操作)的抽象(数据)类型

类型:一组值(或对象)的集合
数据类型:在计算机(语言)中可以使用的一个类型,不但包括这个类型的值的集合,还包括定义在这个类型上的一组操作

实质:抽象出了数据类型的使用要求,而把它的具体表示方法和运算的实现细节都隐藏起来
抽象数据类型支持数据类型的实现与使用分离的原则,允许独立地考虑数据类型的外部接口和内部实现

数据结构
计算机中表示(存储)的,具有一定逻辑关系和行为特征的一组数据(或者说抽象数据类型的物理实现)。其中每个数据元素称为这个结构的一个结点

数据结构的三要素:逻辑结构(数学模型)
存储结构(物理结构)
操作

数据结构的分类
(逻辑结构 )
集合结构 ⊆ 线性结构 ⊆ 树形结构 ⊆ 复杂结构
(存储结构)
顺序表示 链接表示 散列表示 索引表示

行为的规范由数据类型决定
行为的实现由算法决定,但与存储表示关系密切结点与结构

结点是数据结构中的基本单位,也称为元素、记录或表目等。结点类型有
初等类型:字符类型、整数类型、浮点数类型、布尔类型
组合类型:由初等类型通过某种方式(例如数组或者结构等)构造而成的。不同构造方式形成不同类型

算法
是由有穷规则构成的为解决某一问题的运算序列(方法或过程),可以有若干个输入(出)
性质:
有穷性 确定性 可行性 正确性
算法的分析:度量算法性质的工程
问题的规模 、空间单位、时间单位
时间代价(复杂性)和空间代价(复杂性)
大O表示法

线性表
是0个或多个元素(表目)的有穷序列
除表中第一个元素K0只有一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值