DS绪论

一、基本概念

  • 数据:是指所有能输入到计算机中并被计算机程序处理的符号的总称,是计算机加工的“原料”。
  • 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
  • 数据项:一个数据元素可由多个数据项组成。数据项是数据的不可分割的最小单位。
  • 关键字:能识别一个或多个数据元素的数据项。若能起唯一识别作用,则称之为 “主” 关键字,否则称之为 “次” 关键字。
  • 数据对象:是性质相同的数据元素的集合,是数据的一个子集。
  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

四类基本结构:

  • 集合:数据元素间除“同属于一个集合”外,无其它关系。
  • 线性结构:数据元素间存在一个对一个的关系。
  • 树形结构:数据元素间存在一个对多个的关系。
  • 图形结构:数据元素间存在多个对多个的关系。

逻辑结构:对数据元素之间存在的逻辑关系的描述。可以用一个数据元素的集合和定义在此集合上的若干关系表示。

物理结构/存储结构:数据逻辑结构在计算机中的表示和实现。包含数据元素的映象和关系的映象。

数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。

  • 顺序存储结构:把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构是借助于语言的数组来描述的。
  • 链式存储结构:不要求逻辑上相邻的结点物理上也相邻,结点间的逻辑关系是由附加的指针字段表示的。通常要借助于语言的指针类型来描述。

数据类型 是一个值的集合和定义在这个值集上的所有的操作。如,整型。

抽象数据类型 是指一个数学模型以及定义在该模型上的一组操作。具体包括三部分:数据对象、数据对象上关系的集合以及对数据对象的基本操作的集合。 同时数据抽象和数据封装是抽象数据类型的两个重要特性。

二、关于算法

算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列。

算法的特性

  • 有穷性:一个算法必需总是在执行有穷步之后结束,且每一步都可在有穷时间内完成。
  • 确定性:算法中每一条执行都必须有确切的含义,使算法的执行者或阅读者不会产生二义性。并且在任何条件下,算法都只有一条执行路径。
  • 可行性:算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。
  • 输入:有零个或多个的输入。
  • 输出:有一个或多个的输出。

算法的评价—衡量算法优劣的标准:正确性(correctness)、可读性(readability)、健壮性(robustness)、效率与低存储量。

时间复杂度/空间复杂度:算法的时间复杂度的估算基于算法中基本操作的重复执行次数,或处于最深层循环内的语句的频度。算法空间复杂度主要取决于算法的输入量和辅助变量所占空间。

猜你喜欢

转载自www.cnblogs.com/lin546/p/11980931.html
DS
今日推荐