数据结构基础知识(一)

基本概念

数据:是对现实世界的事务采用计算机能够识别储存处理的形式进行描述的符号的集合。

数据元素:是数据的基本单位。一个数据可以由若干个数据项组成。数据项包括两种:一种是初等数据项,是数据不可分割的最小单位。另一种是组合项,由若干个数据项组成。

数据对象:是性质相同数据元素的集合,是数据集合的一个子集。

数据结构:在任何数据对象中,数据元素都不是孤立存在的,他们相互之间存在一种或者多种特定的关系,这种关系称为结构。

 

数据结构的分类

数据的逻辑结构可分为两大类:一类是线性结构;另一类是非性结构

线性结构:有且仅有一个开始结点和一个终端结点,并且所有的结点最多只有一个前驱和后继。线性表是典型的线性结构。

非线性结构:非线性结构的结点可能有多个前驱和后继。如果一个最多只有一个前驱,而可以有多个后继,这种结构就是。树是最重要的非线性结构之一。如果对结点的前驱和后继的个数不作限制,这种结构就是。图是最一般的非线性结构。

数据结构基础知识(一)_第1张图片

数据的存储结构取决于四种基本的存储方式:顺序存储,链接存储,索引存储和散列存储

顺序存储:把逻辑上相邻的结点存储在物理位置相邻的存储单元里。主要用于线性结构。

数据结构基础知识(一)_第2张图片

逻辑结构:数据之间的相互关系。

集合 结构中的数据元素除了同属于一种类型外,别无其它关系。
线性结构 数据元素之间一对一的关系
树形结构 数据元素之间一对多的关系
图状结构或网状 结构中的数据元素之间存在多对多的关系。

算法特点:

  1. 算法五个特性: 有穷性、确定性、可行性、输入、输出

  2. 算法设计要求:正确性、可读性、健壮性、高效率与低存储量需求
  3. 算法的描述有伪程序、流程图、N-S结构图等。E-R图是实体联系模型,不是程序的描述方式。
  4. 设计算法在执行时间时需要考虑:算法选用的规模、问题的规模
  5. 时间复杂度:算法的执行时间与原操作执行次数之和成正比。时间复杂度有小到大:O(1)、O(logn)、O(n)、O(nlogn)、O(n2)、O(n3)。幂次时间复杂度有小到大O(2n)、O(n!)、O(nn)
  6. 空间复杂度:若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间

 

 

你可能感兴趣的:(数据结构知识)