数据结构和算法(一) 基础概念
程序 = 数据结构 + 算法
1、数据结构
1.1 定义
相互之间存在一种或多种特定关系的数据元素的集合。
按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。
1.2 分类
可以将数据结构分为逻辑结构和物理结构(存储结构)
1.2.1 逻辑结构
逻辑结构可以分为集合机构、线性结构、树形结构、图形结构
集合结构:数据元素同属于一个集合,元素之间无任何关系
线性结构:数据元素之间是一对一的相互关系
树形结构:数据元素之间是一对多的相互关系
图形结构:数据元素之间是多对多的相互关系
1.2.2 物理结构(存储结构)
物理结构又称为存储结构,可分为顺序存储结构、链式存储结构、索引存储结构、散列存储结构
顺序存储结构:一段连续的内存空间
链式存储结构:不连续的内存空间
索引存储结构:需要额外空间存储索引表,整体无序,索引有序
散列存储结构:根据散列函数计算元素在计算机中的存储位置
2、算法
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法具有五个基本特性:输入,输出,有穷性,确定性和可行性。
3、总结
本篇主要简单记录了一下
1)什么是数据结构
一组数据,数据之间存在某种关系
2)数据结构的分类
根据数据元素是否与实际在计算机中的存储位置有关,将数据结构分为逻辑结构和存储结构
逻辑结构又可以分为集合、线性、树形、图形
存储结构又可以分为顺序、链式、索引、散列
3)什么是算法
解决特定问题的步骤
指令的有限序列
4)算法的五个基本特性
输入、输出、有穷性、确定性、可行性