数据结构 + 算法 = 程序
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
算法(Algorithm) 是解决特定问题的步骤的描述,是解决问题的思想方法。
程序是计算机语言的具体实现。
一、数据结构
1.相关概念
- 数据:信息的载体,能被计算机识别、存储和加工处理。
- 数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。
- 数据类型:一个值的集合及在值上定义的一组操作的总称。分为:原子类型和结构类型
- 数据项:数据元素由若干数据项组成,是数据的最小单位。
说明
数据元素:一行数据
数据项:表中一个元素
数据类型:表的属性
扫描二维码关注公众号,回复:
2201421 查看本文章
2.数据结构 DS
数据结构是一个二元组(D,R),表示数据元素集合 和 数据元素之间的关系R是数据关系,前驱和后继的关系
3.数据关系 分类
逻辑结构: 集合 线性 树形 图形存储结构: 顺序、链式、索引、散列
数据运算: 增删改查 相关运算
- 逻辑结构
集合:数据元素无关系
线性:一对一的关系,有一个前驱和后继(除了第一个和最后一个数据元素)
树形:一对多,元素可以有一个前驱,多个后继(父节点 - 子节点)
图形关系:多对多,允许有多个前驱,多个后继。
PS:树是有向且无环的图
- 存储结构
特点:数据地址空间的连续性
好处:修改、查询很方便
缺点:固定分配存储空间不方便;删除、插入操作很复杂;
2.链式存储
特点:存储空间块通过指针相连成一个完整的存储空间(空间不连续)
优点:空间可以动态分配;方便插入、删除的操作
缺点:查找数据比较麻烦
3.索引存储
索引:类似电话本,通过电话本查找那个人
4.散列存储
又Hash存储
- 数据的运算关系
二、算法(Algorithm)
算法是解决特定问题的步骤的描述。
1.算法和程序
算法是解决问题的思想方法
程序是计算机语言的具体实现
2.算法与数据结构
算法设计 取决于选定的逻辑结构;算法实现 : 依赖于采用的存储结构。
瑞士科学家沃思(N.Wirth) 的著名公式:
数据结构 + 算法 = 程序
3.算法特性
(1)有穷性
(2)确定性
(3)可行性
(4)输入
(5)输出
4.算法分析:
解决一个问题可以有多种不同的算法, 在算法正确的前提下, 评价算法好坏的方法 :
• 正确性, 可读性, 健壮性, 时间效率高和储存量低• 消耗时间的多少 :
• 消耗存储空间的多少 :
• 容易理解、 容易编程和调试、 容易维护