一、算法和数据结构概述

60 阅读1分钟

一、数据的逻辑结构

线性结构: 数据元素只有一个前驱和一个后驱\

15200008-4577984d7de1c8e0.png

线性表

树结构: 每个数据元素只有一个前驱,可以有0个或若干个后继\

15200008-56650bfa10eb8f0b.png

图结构: 每个数据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素。\

15200008-a12b8036504fd082.png

二、数据的存储结构

1.顺序存储结构

\

15200008-da184f618d58ca20.png

顺序存储结构

2.链式存储结构

\

15200008-01b7069c9f61dda0.png

链式存储结构

三、算法

算法是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列

1.算法定义

  • 有穷性
  • 确定性
  • 输入
  • 输出
  • 可行性

2.算法的设计目标

  • 正确性
  • 可读性
  • 健壮性
  • 高时间效率
  • 高空间效率

3.度量算法的时间效率

算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。
T(n)=O(f(n))

3.度量算法的空间效率

空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。
S(n)=O(f(n))