第一章 数据结构与算法 . Z1 w7 P$ |$ ^/ @/ q
(P1—P38)
$ K+ u+ T9 z7 h" o6 {0 X/ t! K A0 D
) D- K" v# s4 v2 e( _, A# x 1.1 算法
! ~: I1 w d% u( C' s- Q 1.1.1 算法的基本概念 (P1—P4)
% i, x) S, v, M' z4 b0 Z! Y- U 所谓算法是指解题方案的准确完整的描述。
/ }, m5 Z' f7 u7 P 1. 算法的基本特征 ) o& b, @/ S6 L( r! W' ?! h& Y* K
(1)可行性(2)确定性(3)有穷性(4)拥有够的情报 . E, W$ q2 W$ Y0 f. |$ d) r2 E
2. 算法的基本要素 1 R7 d3 D& b/ i
一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构。 * j0 @: c' B+ y& r- _! l
(1) 算法中对数据的运算和操作 (插入、删除)
5 ~8 v8 r) z6 } (2) 算法的控制结构
: M* o f" q6 S* P7 n0 [* O; b 一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
% I: F- ^1 ?+ ~5 Y 1.1.2 算法复杂度(P4—P6) 3 O' c: s$ b3 S
算法的复杂度主要包括时间复杂度和空间复杂度。 ! f8 y. P2 g2 W/ y! ^
1. 算法的时间复杂度 ! a3 z5 x+ N, u6 N4 P
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
2 T) K! b; {# i 可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
3 e. T" ~' F) ~ W% ^" m 2. 算法的空间复杂度 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。 |