数据结构和算法_01_基本概念和介绍

目录

数据结构:

逻辑结构

物理结构

算法

基本特征


程序设计=数据结构+算法

数据:信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别的处理的符号的集合

数据元素:是数据的基本单位;一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位

数据类型:是一个值的集合和定义在此集合上一组操作的总称。

  1. 原子类型:值不可再分;如:整型,字符型等。
  2. 结构类型:值可以分解为若干成分;如:整型数组,字符型数组等。
  3. 抽象数据类型(ADT):抽象数据组织和与之相关的操作。

ADT:一个数学模型以及定义在该模型上的一组操作。其定义仅取决于它的一组逻辑特性,与其计算机内部如何表示和实现无关。常用:【数据对象、数据关系、基本操作集】这样的三元组来表示抽象数据类型。

数据结构:

  • 逻辑结构,指数据对象中数据元素之间的相互关系。
  • 物理结构,指数据的逻辑结构在计算机中的存储形式。

逻辑结构

  1. 集合结构:同属一个集合,除外没有任何关系。
  2. 线性结构:一对一。
  3. 树形结构:一对多的层次关系。
  4. 图形结构:多对多。

物理结构

存储形式:

  • 顺序存储,把数据元素存放在地址连续的存储单元,数据元素的逻辑关系和物理关系一致
  • 链式存储:把数据元素存放在任意存储单元,每个数据单元有一个指针存放数据元素的地址

 

算法

解决特定问题求解步骤的描述。(指令的有限序列,每条指令表示一个或多个操作)

基本特征

  1. 输入:0个/多个输入。
  2. 输出:至少有1个/多个输出。(必须有反馈,反馈形式:打印,返回值,成功or失败等等)
  3. 有穷性:在执行有限步骤后,自动结束而不会出现无限循环,且每个步骤在有限时间内完成。
  4. 确定性:每个步骤有确定含义,不会出现二义性;一定条件下只有一条执行路径,相同输入只能有唯一输出结果。
  5. 可行性:每一步都能通过有限次数完成,能实现。

算法设计的要求:

  • 正确性:无语法错误;对合法输入有满足要求的输出;对非法输入有满足规格的说明;对刁难的测试输入有满足要求的输出结果。
  • 可读性:适当注释,便于他人阅读,自己之后修改。
  • 健壮性:对不合法输入,算法能做出相关处理,不产生异常崩溃。
  • 时间效率高和存储量低

 

 

 

 

你可能感兴趣的:(数据结构与算法小记)