第1章什么是算法以及为什么应该关注算法1& b! f4 E6 g6 x0 y) L
1.1正确性2
% l) `* ^% H- L7 T5 o1.2资源利用3: u7 l2 Y/ | k. k/ |9 W5 F# y
1.3针对非计算机专业人士的计算机算法5
% g& i( K. V v' D. k6 _3 p1.4针对计算机专业人士的计算机算法6
7 R+ z: O7 H# o/ U6 y1.5拓展阅读7
) c& y* L% c9 p; g) Z3 S' L: I( M第2章如何描述和评估计算机算法9
0 b- W! d& M& L$ v/ Y& O- G0 x2.1如何描述计算机算法9
: W" s% v# n* T. q2 A2.2如何描述运行时间163 z% ~9 t5 J# [3 E1 r* m# x
2.3循环不变式19
0 V2 ^6 w2 b Y3 V0 j2.4递归21" r. h9 e7 p p& g) z- G6 p
2.5拓展阅读23
Q+ D' M- q' L& j8 Z( g: M8 w' d第3章排序算法和查找算法24
, X3 t- k$ u, Q- \! I3.1二分查找26, r( B2 V! r* H
3.2选择排序31
( z6 a& z( _5 ?& Y g3 S/ n' V3.3插入排序34: {* ?' z) {5 n- n. i4 l4 K d2 m6 s5 |
3.4归并排序388 h" ^ W$ n& y/ I& ~, j8 Z
3.5快速排序47
/ g. V' H, D) p g& S7 j3.6小结551 b4 f0 w! h/ B' O
3.7拓展阅读57% ~8 `. n& `! k6 k
第4章排序算法的下界和如何超越下界58# ]9 `7 _/ ?1 h* X; H3 B( c2 J2 q7 v7 d4 T
4.1基于排序的规则58
: i, T' @1 Y/ w# c: |: D4.2基于比较排序的下界59
4 f9 _. \# \3 C @" G' e4.3使用计数排序超越下界60
6 m1 O/ j$ ^/ i& J! B4.4基数排序663 c6 o1 ^0 \6 w
4.5拓展阅读68
9 e3 o$ K k* i F第5章有向无环图69* Y/ o+ o, j9 d$ g# v# Y
5.1有向无环图72
; |( L, k+ B+ S# r- P& U. k5.2拓扑排序729 K A; Q) r% E# q0 X
5.3如何表示有向图76
1 g# K, {! Z" j5.4拓扑排序的运行时间77
W9 u5 a! w) y& A5 P5.5PERT图表中的关键路径788 G( d, m' w$ c( w% e: s. U
5.6有向无环图中的短路径823 a0 X9 o: I7 i$ m
5.7拓展阅读86
$ |) O' Q: M% l# E第6章短路径87, n. M, d1 a! j8 z$ U' z
6.1Dijkstra算法89
6 T7 \- z, p- C7 r6.2BellmanFord算法98
/ }* M2 a# a* H9 C: u. E% s, z6.3FloydWarshall算法103) Y/ h- l) j2 H, j, g
6.4拓展阅读1123 i( s3 _. M/ _! Z2 h# n2 r# H
第7章字符串算法114% @4 p" o. M/ V6 e
7.1长公共子序列114/ P% m& l# e2 T& I+ ?8 z" N
7.2字符串转换120
$ _! }+ n* t8 z+ k" c. r5 D7.3字符串匹配1289 x6 }4 S e* c' W8 r# b \
7.4拓展阅读135
7 K) _4 T9 Y" [' Q第8章密码学基础136
% E$ ?1 O# ~6 L: M, K. C8.1简单替代密码137+ T, M( x [; I9 P
8.2对称密钥加密1386 {0 j! U f4 F0 K* d$ i% L
8.3公钥加密142
' y& S* b- r6 t" W1 {8.4RSA加密系统144
) i b$ K3 J: E7 u+ N! h8.5混合加密系统1537 }5 a" S0 ]6 S- p
8.6计算随机数1538 ?2 V: D+ r2 l. @! H
8.7拓展阅读154
- ?+ I6 |8 |5 j% U/ L! s第9章数据压缩1560 d/ m9 K9 [. l" [: D( K5 ?
9.1哈夫曼编码158& o% ]% g( C0 s- U6 X' ]) L& f0 p
9.2传真机165
@; b, N9 S% n! q! q; ?/ w& d9.3LZW压缩166
& }6 ?" u8 J1 X8 Z# Y% d3 N* K9.4拓展阅读176
2 D# b' S7 a" ]; b第10章难?问题177
- |; R/ ^1 F/ f; E/ \ b) r8 Z! r10.1棕卡车问题177
- l4 ~3 y( B- `4 ^- `10.2P、NP和NP完全类181$ i; Q# Z4 g; n( u+ J
10.3可判定问题和归约1832 c7 ~* W7 U- r( |, C: C6 L: l
10.4主问题186
- u- _- | W$ d; B8 _10.5NP完全问题例析188" D3 q. b4 m# D, u: c4 ^
10.6总体策略203
" S+ P; X4 g7 i0 I; g z3 k# q10.7前景206
3 N! z2 C& |" n" H: U) G4 `java8.com
/ G: @5 k4 r6 J) d10.8不可判定问题208
( B! P& c B Z* |4 g" h: c10.9小结210- H9 P- y, O$ a# ]" r4 }
10.10拓展阅读211
- _$ k. a) R2 R6 @, L参考文献212
' c ]5 j {4 T' [. a) a' l: r索引214
7 G, ?$ a1 D' X7 Q
7 H. C& T; B# C& m% L) P& w$ k/ d4 [