|
华北电力大学844数据结构参考用书,林碧英数据结构,网上资源很难找5 b T1 r/ b) R; `
等学校计算机专业规划教材, v$ t! W& X' {! e" |
新编数据结构% _9 t0 K- F0 u3 h
及算法教程2 ]9 N& W( i6 b; U
林碧英主编# e4 T3 P0 u3 ?- b( H' M3 M
石敏焦润海编著- ^8 J8 u$ ~& f/ h3 I1 T
清华大学出版社 f% ]( e+ f3 p9 v. F# M: x
北京1 D v! f" A; `$ z: j+ A
. z& e" m' ]; C; f ]内容简介6 d+ u, I5 T( [" s+ p% g
本书介绍了数据结构的基本概念、基本知识以及数据结构的应用。全书按照三部分编写。第一部
. l. Y7 R. A" S/ |8 o8 K1 n2 D. m( V8 X分是线性结构,包括线性表栈与队列、数组和特殊矩阵;第二部分是非线性结构,包括树和二叉树图;2 Z% G1 t) h# r! Y. V
第三部分是数据处理技术,包括查找和排序内容涵盖了全国硕士研究生计算机综合考试课程的数据结6 `1 Q, ]1 q; O0 e" G) @' [
构知识。
7 o) Y# a7 X4 ^# _2 @本书适合作为各类高等院校、高等职业技术学校与计算机相关的各类专业的数据结构与算法的教0 Q/ ]+ v5 ~+ ?! `: W2 N
学用书,也是从事软件设计人员一本难得的参考书! k. y) E9 _' }% C1 c8 @
本书封面贴有清华大学出版杜防伪标签,无标签者不得销售。
5 C; \ `4 M4 ^& u6 f! J版权所有,侵权必究。侵权举报电话:010-6278298913701121933
6 R% W/ D6 d) ?% B3 ~8 {7 O. @图书在版编目(cP)数据: H6 f2 b f) k/ x4 B, ?6 ]
新编数据结构及算法教程/林碧英主编,一北京:清华大学出版社,2012.99 ^8 l7 f- m) q1 V& f
(高等学校计算机专业规划教材)
6 V3 s4 _7 x" e8 O: G: U) j8 X2 T& ~IsBN978-7-30229370-5
# v5 b& I! Z& H% iI.①新…Ⅱ.①林…Ⅲ.①数据结构一高等学校一教材②算法分析一高等学校一教学参考
; J! V1 l) R) |4 R, z1 Y* A1 Z资料Ⅳ.①TP311.12% ]' x$ Z5 {8 R& E, L
中国版本图书馆CIP数据核字(2012)第158276号 C; p( `/ I- d ?/ |5 p! `
责任编辑:龙啟铭8 t! R: L r6 J" ?4 X6 n5 x
封面设计:常雪影
/ o# i! K# d# Z& k责任校对:梁毅
4 Z$ T7 F8 F8 v6 F8 a责任印制:李红英9 V7 t3 D& _, M
出版发行:清华大学出版社. X2 @7 `' a4 {. W* Y0 i
sate:http://www.tup.com.cn,http://www.wgbook.com
" E8 |$ L/ g6 U8 e6 T ^& ?: S% E地址:北京清华大学学研大厦A座7 Z o9 q9 F8 a. O; M8 C
邮编:100084
- E5 `# [! Q: x! ~投稿与读者服务:0106276969, c-service@tup. tsinghua.euO10627865442 c1 Z5 j$ w5 M- C
杜总机:010-62770175
2 d" M2 m, t$ _! ^% C邮购
* j' g5 e7 j2 H4 m! y2 R& |& B- A) t质量反傻:010-6272015,zhiliang@tup.tsinghua,edu.cn
6 _% Q0 _6 P- z& E课件下载http://www.tup.comcn,010-62795954* m, ^# N8 Y. @$ B% s
印刷者:北京市人民文学印刷厂+ S g; R A! L
装订者:三河市溧源装订厂) `) X9 e/ e) T0 M( S8 d
经销:全国新华书店5 O0 R; L/ r# T* D$ N
开本:185mm×260mm& f0 D" g5 ?/ ~0 A. K" M; k
印张:25.75; l: a# K5 W4 H' ?
字数:614千字
7 h" g9 c1 T$ d. Q版次:2012年9月第1版
4 ~" e: z1 |, Z5 S$ u5 w印次:2012年9月第1次印刷
) A/ h! w" @0 Z2 f6 b/ H印数:1~3000' Q, m4 N: K; e# t
定价:39.50元& F7 W; Z+ |+ B
产品编号:048357-01
$ ^3 z- ~, R" m! |2 J4 C) `! s- d9 g" ^3 m$ J
前言; }, A V7 k, C- o
“数据结构”是计算机及相关专业的一门核心专业基础课,在计算机课
- }7 N/ m ?% P9 o3 L0 l8 y2 e程的教学计划中,它起着核心主导、承上启下的作用,是培养学生程序设计
' [9 b# A) J; E9 w, p% N' y/ { T能力的一门重要课程,也是计算机及相关专业的大学生应聘、考研的一门必 O. X8 l8 C/ z
需课程。6 Q8 p. q1 E3 U/ l$ u9 I+ H
长期以来,数据结构课程由于其抽象与动态性,使得在教学过程中始终
@4 \2 ^* k9 c d8 M) H* T存在“能听懂,编不了程,不会应用”的现象。目前大部分学生在学数据结构) ~$ v" `& b) v [6 f3 @
之前,只学了一门程序设计语言。受学时的限制,数据结构需要的链表基4 u2 r4 }0 | b! \7 a+ h' B
础,学生知之甚少,几乎没有编写过有关链表的程序,因此造成了学生学习
, k. j' U& E) Z3 E4 f1 r! N“数据结构”的困难。另外,目前国内外的很多数据结构教科书都是在抽象9 s7 }/ w/ G/ X+ g1 N4 G" z
层次上阐述,它们在介绍典型数据结构之前,虽然也使用了一些实际问题作
. A& q+ F; ?; F' W3 Q* j为切入点,但最后并没有针对这些问题给出具体的解决方案,学生还是没有
( ?$ O: G' |: ^8 {' ^0 n弄清楚为什么要学习这种结构,怎样用这种结构来解决实际问题。
$ N! X0 v; w7 m' S% ]" B由于以上问题,我们认为数据结构的教学改革势在必行。为此,我们对
3 k2 k# R, Q, A- m% ?传统的教学方法进行改革尝试,以应用为主线,用案例驱动的教学方式,对0 D3 _3 \2 u; p
每一种典型的数据结构教学采用以下方法:
+ l& G! S5 K/ D6 T(1)引入实际问题。( y4 _: \5 f% j' K2 }# x
(2)分析实际间题中的数据和数据之间的关系,以及对数据需要做的常
3 B3 \) V% l$ I2 ^' k, J用操作。
5 W- h# K2 o+ _. ^(3)抽象出实际问题涉及数据的逻辑结构、存储结构和基本操作的设计
) p- n+ U7 ]) R7 n# v! ?" L* L与实现。
8 N+ g/ f4 l8 C) W(4)用所学的数据结构设计和实现解决这些实际问题的算法+ i0 z. }2 }+ C ^
(5)编码、调试并分析运行结果。
/ @) B- i. Y; F+ n+ V+ d6 O9 G上述例驱动的教学模式,我们已经实践了4年,取得了可喜的成绩。
% d* V' d- s! J' O1 w4 F5 g* A我们边教学边总结,编写了这本以案例驱动为主导,以解决实际问题为主' Z; n( i9 K0 o9 N; I. F! w
线,以激发学生学习热情为目标的教材,目的是使得原本难教难学的课程变
; `2 U! y# M( v' \8 s% d, \+ P得生动形象,更贴近实际,从而切实提高学生的程序设计能力。, R2 M& B! M* I, f7 r4 q R
此外,本教材还具有以下特点:
: }/ z( G/ C) Y' A: T7 x4 m$ G(1)加强对基本操作实现的函数形参的分析。每个基本操作都配以示
6 Z7 c% N* M2 Q" K6 ~& q意图,显示存放在内存中的数据对象在操作完成前后的变化,分析操作的对" @+ D% N5 k- a. h
象,需要的输入和输出,以及操作是否引起数据对象的变化,帮助读者熟练- d! B! n$ P3 Y" ~- w0 P4 [
掌握基本操作的设计与实现
5 v7 R; ^# h2 ~4 G) B$ u
+ U6 e7 v* z& T% q; _* s新编数据结焖及算法教酲- _8 j0 s6 A0 X, p/ W/ `
(2)数据结构中的很多算法涉及递归操作,初学者很难理解递归算法的执行过程,为
. u8 o8 ?' | [$ H: _4 G此我们对较难理解的递归算法,配以图表,揭示每一步的变化,将抽象的想象变为可以看7 A2 t. C6 I3 ~( j# |
到的具体过程,提升读者对递归算法的设计能力。" t2 S, X- \2 W
(3)对复杂的算法,我们用实际数据,采用图表结合的方式,将存储结构的变化和逻' j* v1 ~' \# |, y6 l
辑结构的变化同步展现,加强读者对算法的理解,使读者进一步掌握复杂算法的设计与% L9 @ |/ l3 x* X! n
实现。
1 Y/ N* w% n9 k(4)各章内容均与授课对象进行过多次交流,广泛听取学生的意见,及时进行内容的1 a5 x- G, m; {, `, p8 j1 l
更新和修改。
( C$ I n9 x/ x! [! U全书共8章,由林碧英老师统一编排、审核。第1章、第7章和第8章由石敏老师编/ V* ?, x7 p5 U* u/ D7 a
写;第2章和第3章由焦润海老师编写;第4章、第5章和第6章由林碧英老师编写。各/ e- s& Z% [3 Z4 R5 I; z
章的习题由苏辰隽、莫瑞芳整理。
7 q# C+ O7 U" J% Z b; Q0 L4 o5 E我们只是在例教学做了一些学试,在教材的编写中可能还有很多不尽人意的地方,, J5 x0 A) T Z% G! }% g/ A
恳请广大读者多提宝贵意见。8 }) s$ Y# e' E+ v
编写组( `/ b9 u3 q' Q( m
2012年8月于北京( `% V6 E9 y& t% l0 L
! a/ S$ @7 ]* R: r) Y8 j算1章绪论/1
! Z* J% X. I: I _6 `1.1数据结构的起源与发展……/ x; S1 M* |$ j9 d: q" q
1.2基本概念和术语7 J1 E+ ?; W, M; x
1.3理解数据结构( w) a% L' R3 n; _; L' t( u7 N
234
8 Z: i/ t) T& V2 i; |; y: z1.4数据的逻辑结构和存储结构……- u5 c+ S& ^) e* P
罪章音自·音自·音音自●···,···身
! G \) P; d- j+ F1.4.1逻辑结构% V& B8 M$ F- r
1.4.2存储结构… h% ]& J! v" A
1.5抽象数据类型5 \2 L0 |! Q( h9 N- D
1.5.1数据类型
" S5 h: |. @8 C6 y6 ~.s·····.·······.4····.a··.◆; I$ U7 ~! x7 D6 k% c8 i
6888- u- I2 j" H, M1 [1 {% q
1.5.2抽象数据类型+ J7 j% m- k" h% L( j& u: ?( Y
春看鲁曹自e8 A! ^% N: N, c. a) H6 t1 M; O
1.6算法分析与评价* R/ t' ~& @8 Z! d0 P2 }& Z$ z
1.6.1数据结构与算法的关系……………………………114 K# }, i3 t% s2 ]
1.6.2算法的定义5 K m: U& x' G
119 Z3 b( U" v: x) }( A7 j. z/ C
1.6.3算法的5大特性……* u4 h. K3 K( g9 X6 w* ?0 a
1.6.4算法设计的要求* U4 X& {4 Q: o; o3 z. c" o
12
# V! i, t0 s8 Q- x1 M/ s6.5算法效率分析
) [6 o8 ?: {# x+ V. D* l4 i13- u' ?) y9 o' k# d* G+ U
1.6.6算法的时间复杂度…………………………14) Z* `4 D0 Z- M# W( j3 _( j. V
1.6.7算法存储空间需求/ g7 y$ ?% J) C. d. e
●D血·●
# {; L5 w( I' w5 @1.7本章小结' n7 z9 z+ o) W
…………175 V! \6 H3 p0 |; k |
1.8习题
# e, z% \0 Q. b) I% _- e( s·。3 p+ ?; W9 _' ]% O# ?
17
; f: }% q/ t7 m" d4 n0 O% V旦章线性表少20
_# I: d. ?3 J9 J/ F2.1问题的提出…………………………………* |9 r8 X& x0 e
20
: ?, ^9 D4 n5 y$ Q1 ~6 O7 E2.1.1问题中的数据分析
& _( ^% x4 c6 R, v% m。非; ]8 J5 m. F/ y% L
…………20
, G% A6 r5 N5 W0 I8 N5 y& w2.1.2问题中的功能分析1 w' ?3 ?) p; @& Z- r/ @, t
21
0 `; M5 k: y C/ E$ d% j0 i2.1.3问题中的数据结构( d: R' z! Q& x( ^) R* q! r4 o, P+ A
22
. `! _1 Q' x" C! I: K: J2.2线性表
% M8 \. u; j1 W' }3 m. N* `0 w% c222 ]" ], S+ s$ ]+ z6 h
2.2.1线性表的定义……………
* ]$ D) _' V, Z) q5 jt●·自·●自自曹·鲁●非·●·自非D即。音% p, N' o2 @# N
22
6 _+ X$ r+ k) C' L O2.2.2线性表的存储结构和基本操作的实现- x0 o! X) C* f4 I: w! a4 Z
24% I* F* t% f' N W/ `% }
2.2.3线性表的两种存储结构的区别…………………47
7 q K; R, n; `6 g0 {4 z9 E
9 F9 s2 T4 ~8 Q l新编数据结帕及算法教酲
4 t* b, M# ^" ?0 t1 l& [6 ^2.3案例实现…* z% `0 N, B, r7 |2 |
∴…………………………………48
8 `# a6 }' r& G2.3.1基于顺序表的新生成绩管理系统
% V( f" Y4 B4 u, L2.3.2基于单向链表的新生成绩管理系统
# n! t8 p% K( G) l' Q4 G524 Q& c* Q) z( l+ h" [8 l2 w
24其他形式的链表…( f' z3 ~9 ?7 S6 V8 X" F
■春●t鲁
% X Y4 P2 u) L8 \7 `+ F) `54
) U" x( h) U; [24.1单向循环链表………………
! W3 m8 N7 @0 M5 g" F54
% U8 S! T; I( }1 d! q5 M2 @6 [3 h0 \2.4.2双向循环链表
* @+ C& `0 W! T572 h$ S8 b/ E7 ^. E/ F4 S, K" A( }6 ~
2.5线性表的应用2 M9 L" Z( L0 @/ B$ G' J8 O
60. \5 X: }9 l7 X% l2 j( V
2.5.1两个线性表的合并6 f( j0 r2 S9 |1 j! J3 U
60$ }4 \. ~ A8 |# E2 N3 f
2.5.2一元多项式的应用……
1 C6 f( N T: o( `" O( ~, A63
/ o1 Q. b( Y; Q( I2.6本章小结; j* N' {# k" c" W5 ^
69
$ g: v, ~! b" |2.7习题与实验……
! z+ G+ @6 V4 T) i咖鲁鲁
/ P& v8 F) D6 X) C9 Z; q………709 q- b! t/ [! P6 M! y, V
第3章栈与队列/74
8 Z2 d& L' n( u2 g2 e3.1问题的提出…
8 r# i9 A0 N5 t2 E( E* {. M74
& f7 _6 s6 m/ k9 L3.1.1问题中的数据分析…8 Y1 P* ?" v9 {- N
74" L: @/ M; J) t" n5 b2 M- C
3.1.2问题中的功能分析! h( X; J# w0 b2 m; Q& K
3.1.3问题中的数据结构
E& r% f9 J" r) m5 Z75
1 `: L2 B x. D( Y3.2栈…0 q6 G& i4 z: Q w
自4垂% c( s4 W* r4 C% q
76% ?5 r. a0 W" z0 a% t+ e" ]
3.2.1栈的定义
, w. u; y0 T9 A4 }76
1 E. |8 `7 f1 N$ @2 s32.2栈的存储结构和基本操作的实现…
! M2 C v$ N% e* G3 L/ b w6 r778 ]0 V. }: e8 O1 | v( `7 X/ M0 M
3.2.3栈的两种存储结构的区别…
7 U) V0 M* W Z' E, B3 ]87) _% _$ q" x, v! D/ o
3.2.4案例实现:基于栈的括号匹配
* H0 f8 h3 G( v4 p/ x872 \4 } M. @* `5 M
3.3栈的应用
: i% ?( ?) {. [' k; ?∴………………………890 c% @8 w/ h7 r8 `4 p+ c8 X: x/ W9 w
3.3.1表达式求值9 t1 t3 v- _" O. u) ~
89/ y* \. ?( p9 M, m; `6 @
3.3.2栈与递归………………………………………………………………94
" B4 c9 Z$ g8 O( ~34队列# t; Q- A& V' j$ T9 H+ k8 B
…103
" p2 L: z& p0 K- `3.4.1队列的定义………
' k- O S) ^- ~. Z5 q' y L$ K1 L。DDD曹看/ b; G8 X* R" E; E2 i, M
身······吾···4·····4°
+ x9 Z4 U7 T+ K: i U! d1031 S8 g3 L. ]% P& x
3.4.2队列的存储结构和基本操作的实现………
5 g m! d4 j/ K' w" w9 m0 T" y7 w) o" h电。非···鲁··t非··非鲁·" o. e- |2 X3 U- p
105
3 K$ F+ _1 v" L+ h1 E3.4.3队列的两种存储结构的区别5 {; \# r: j+ E0 t
116
6 a6 I" c: O/ n6 F8 `9 A, q3.4.4案例实现:基于队列的医院挂号模拟系统…………………1162 I& V2 |# d$ z l' ?1 E8 w. C
队列的应用4 J5 _7 h3 S' k9 T
120
; H9 P) |5 `& q* ^8 w+ W8 j% f3.6共用栈和双队列
: n0 U: B/ j% F··非自.。自非自息·自e·。节非“···普命·香卧自·····
* X8 U0 ` H6 e124& h0 ?$ ]4 j) z6 F" a* F
3.6.1共用栈
0 [) E# v% _- {; S5 A1247 ^& O3 b- |/ a' u; V* J( j
3.6.2双端队列…………
/ l; D6 B. Y2 U126+ H9 E: [! U! [2 j3 B, f" q
3.7本章小结. e7 r% l: b8 K
127
4 l* c: v( R3 x8 r% A1 l8 u3 D8 z3.8习题与实验…% |" Z/ }# ~' E" v- t$ K
127) l Q3 S5 i. g. D! m8 T
# n) b. Y W; ^7 W目录
! N- F& ]; ]+ j( a! S" |第4章数组和特森矩阵/133/ D( b8 h7 n+ B4 m0 L
4.1多维数组
& ]" _7 {2 G3 f6 s- Y0 N; ^…………………………………133
3 t2 `: T0 D* X$ D4.1.1数组的逻辑结构……………
, u. i, Q% B/ L) l4 V! V9 T/ [; z………1337 W5 s2 f+ I/ h0 h: m1 F3 y( o1 M3 M
4.1.2数组的内存映像$ `' u; s/ _3 i& R9 o
133# r* F/ ?) c9 ^ v
2特殊矩阵的压缩存储9 y8 p; A0 F* d! Q
136
' I1 u" r' \8 i/ X% U9 [7 u4.2.1对称矩阵…
" F" Z7 ?& s. k: W136
9 |& j9 n5 w3 C- |+ {9 a4.2.2三角矩阵
4 T4 e, l5 ~0 L1 R/ Q0 G·看·啬3 D6 p; K1 C w V% ?' n; c
酯·看音省。●看当看。看看··.曹·鲁P看·击。·●·“画+ h) ]0 r: P) i9 R2 R3 N: o/ e
138
0 I, n" [% O) p% S4.2.3带状矩阵
# R1 ~( B4 L7 u' Y…139* o0 R( n' E" d; _- {
4.3稀疏矩阵6 |1 W! l/ B+ {* ]
140) @7 P- d% @: P3 S3 h6 K
43.1稀疏矩阵的三元组表存储
& w- K# w& h: u2 _- u/ O5 N·非P鲁。。# M" p$ L: Z* c& j2 r
1401 l& F- @: t3 J0 t2 G
4.3.2稀疏矩阵的十字链表存储
" c) f3 j- K1 l/ j: j………146
3 A: J) k4 Y) Q# k% Q; J2 N4.4本章小结+ q" p4 e+ X6 {6 w$ _: d0 O8 g
■·- i8 v6 }2 u1 H! ?$ p; s* x3 `
52
( i. a( D* @9 j3 d$ q* x! M6 g8 `. W4.5习题7 L" v' X# Q4 K4 j* K! T1 O
1527 |8 s/ @) e$ R; H0 Q. f
第5章树和二叉树/155
* t, {) g' }, D" ^+ J" P/ R5.1问题的提出3 h8 S) [& }& T6 V; {5 G* V
昨●中●●春自电●要要。曹由●看··看看·看●5 y v1 Z5 B5 D3 {% Q+ F! h
1554 W- Y* W g2 X. ^8 c; S; R
5.1.1问题中的数据分析
$ _0 H5 n# }* o1551 d9 n: G ]. S0 o" |
5.1.2问题中的功能分析9 P+ j+ L$ L, a" Y) ] _0 g
156# u u4 C" K M4 {/ Z
5.1.3问题中的数据结构& v6 B. T/ [8 Q* F
··.·····.·.·..····:..···s·.·············
0 H4 ]! ~5 b' r- B$ D156. i! b; D, r* N" x0 \" ^4 Z
5.2树的定义和基本术语……
0 o; W. a1 D( H/ K9 ]…156
) n( r; I! C3 w5.2.1树的递归定义……………………………………………………………156- l4 h9 |6 _' Z
5.2.2树的基本术语
1 s w% c O6 x/ J) V+ j3 l5.2.3树的表示…. i/ j6 N# K6 k
158
+ W; X% U# O3 J' e7 F$ p! c0 f5.2.4树的抽象数据类型描述
, B9 b" i, n) I$ U! y# q····.·→·日:a.·:·◆& Z3 n8 q) ~) t2 w- r5 l
159. ?8 `; O1 w2 h; ~- A6 D; R; L
5.3二叉树* Q8 `1 Y7 G8 G- D! `
1595 B2 w0 x- f! V' F1 v3 Y* [
5.3.1二叉树的定义…
" u+ B, n4 H4 x o/ X…………………………………159( Z |0 u7 {9 T+ L( I8 s+ e
5.3.2二叉树的性质
: `# l& _3 m' B* T& b1 H…………………………161
* J# q/ U4 j* z6 `5.3.3二叉树的抽象数据类型: A; f ~" Z7 _" R6 l& m' @! S
1624 Z: Z# t' a C2 o+ ^) q# Z
5.3.4二叉树的存储结构
5 I: u3 c# m& d9 |, Kb自D4b, b$ }8 D4 r( k1 o& r
…163 `6 K: U+ M- w h
5.3.5二叉树的遍历及其应用………………………………………………166
2 v* f; Y* D. f( B' F- t3 ]5.3.6案例实现:基于表达式二又树的动态表达式计算# E/ L' R. C% z, ]' T& }- o. U
192
+ E$ W' t$ g" T* |+ E. h, R# h) m5.4线索二叉树………4 ~% G; p8 J8 L+ h0 U6 U/ U( `
192! u0 a0 M5 T& A/ m4 b- [
5.4.1线索二叉树的定义…………………………………………………193
* W2 d5 X3 B' {54.2线索二叉树的基本操作实现) u& D+ T- d8 d# I; `
■办曾p量自。口●·D看P鲁
) Y3 ?0 r! w* r8 N…………1948 [5 A/ |+ ^8 c$ ^0 ~5 b
54.3基于中序线索二叉树的遍历算法…
0 o. s, n: D, q' R●·●- l$ H9 I0 E6 Z# |% h5 a/ y( {' }
………200
/ |, }! W ^' N+ g5.5树、森林与二叉树的转换及其应用…
& u* M0 q5 B; P9 s1 B j, X% ` N203! j0 B6 V' D# l, U* q, N
5.5.1树、森林与二叉树的转换………* }/ ^( i1 p& W+ _6 N/ }7 x
203
, c/ {; ?! v4 B$ i
* G4 z" h: K% u4 {! @2 J; N. `0 T4 @新编数据结构及算法教酲0 e! ?6 h; R. H2 c! Y& H$ Z/ B
5.5.2树的存储结构# ]% o1 @" H: U8 ]
··b自·aap# M9 I l4 U0 C8 X
204
1 Q5 [/ |% n* k. U* E7 C5.5.3树和森林的遍历
/ L6 p! |% e6 e209! y6 C' Q4 A2 p% ^- _
5.5.4树的简单应用5 e7 Z$ F5 B. J$ T; I3 r5 C
也曲即春曹自。音中t量
% Q- S- m n4 E( }……………………210
8 \' ~( X# _' Q4 g6 `# ?1 v5.5.5案例实现:基于树结构的行政机构管理5 S0 i8 |8 e t& K* }5 W. Y8 l$ ^
………217) R# ^- K: b! }
5.6哈夫曼树及其应用
) w/ _- E: v, O2209 j5 l* C% \) K# z
5.6.1最优二叉树—哈夫曼树……
! q7 j( [' C* Z" k∴…2209 N9 R& t6 ]: @. j1 E
56.2哈夫曼树及哈夫曼编码的构建算法
% h$ o6 m% C' g# V0 K1 c! _/ l224$ A$ X+ H) e& m# m( ^9 Z- Q
5.7本章小结- e( ^0 n( @2 t0 R& t" f
2293 F$ z, w7 q8 U) | z
58习题与实验…
. E3 {3 d3 P1 c2 x229
5 C0 I" H0 y2 ^6 z) s) p. i) @7 T第6章图34
6 }7 C* \, C- Q& N6.1问题的提出 R+ e; f, x+ u: f E6 p; l
234
3 c7 P5 l; W6 x* @6 E' U6.1.1问题中的数据分析… i$ L, n( w" z
235( p2 @+ i- }2 Z6 R/ F2 w* q
6.1.2问题中的功能分析1 o/ {) z! q0 V) d$ o( N
……235
/ A( E; O7 }1 r6.1.3问题中的数据结构……2 w$ |2 H" W, x5 I5 E$ S: ^& v1 w
235
" D" ]* @: a0 a* f' t6.2图的定义和基本术语
% ?/ t* S7 x. g' i2 q235" y. ?- Z- J0 ]
6.2.1图的定义4 E4 p5 e! r$ _; T' M' {$ p6 Z! [
235
. d8 g! h: l6 P6.2.2图的基本术语…………………………………………………………235* _+ V1 W. C0 \& {/ B2 R
6.2.3图的分类与连通性" d* @" A% B- ]/ \# C% O: D9 [
237! L7 _$ ~# w( |& U9 D x, j
6.2.4图的抽象数据类型定义! Z) F; W! v2 `, H# i% ~
2388 t+ ?! T* ?6 c: K8 _8 P+ P
6.3图的存储结构9 {9 T) I1 q3 [' K5 S( W
239
/ S0 Q2 ~- ?8 _. ?6.3.1图的邻接矩阵表示………………………………………………240
! B5 y4 U$ L' m; y7 Q: J# ]6.3.2图的邻接表表示7 b9 d$ N$ ]* ]# `! y/ i; d
·非& ~$ y/ |4 a: O; ^. Z
243
" `5 U Q% ~. t" E9 a* J6.3.3有向图的十字链表表示……
! k' H; q; o# B" F# s: |* X) y, l M246
* y0 |3 b9 {! `2 P5 v4 T, S' q" P6.3.4无向图的邻接多重表表示$ ^ d" B6 f. i- E a u/ u
247
; H+ j Y- A8 W& H, v/ h# c6.4图的遍历
2 P: A/ c6 J2 {" S2496 O0 |; Z8 a" _8 y2 q# |! W2 u
6.4.1连通图的深度优先搜索( Depth-First Search)
3 u7 _( {$ u9 X1 ]# }2 M" Q249
0 ^) l2 g7 K/ D+ n5 e6.4.2连通图的广度优先搜索( Breadth-First Search)
0 B0 w& _: s/ @+ l7 U* H6 j2 A6 _………253" P' r- w. k3 |1 k& A
6.4.3非连通图的深度(广度)优先遍历………………………………255
! b2 V8 ~* `4 c8 A$ X* T6.4.4图的遍历算法应用5 o% H# z- b. o
…………2550 |- z3 w7 n+ r
6.5图的连通性………………………………………………………………261
' ^! U, h' {. ^) {: n P% x6.5.1无向图的连通分量和生成树…………………………………261; G( I0 u( D: u; ]% O. {
6.5.2最小生成树及应用; m x: b* E, b' ?; I" s* o
…261/ s7 A* Y+ t. h5 f
6.6最短路径! ^% t) U, Y, j5 r6 K
·●0 G9 L5 z7 r; v* d L8 S
………………………………………2721 u8 @; V9 X. T4 a4 |( \9 s0 f$ V
6.6.1求从某个源点到其余各点的最短路径8 u$ x/ a( H! X1 P
………………272
% c, E4 k) K+ c4 G; h5 I2 q1 G7 g/ }6.6.2每一对顶点之间的最短路径……- U) Q* h+ h8 R7 }0 o( d
278
8 {$ o) P, J, \' ]2 ?8 N& L |6.7有向无环图及其应用' j; `7 l) k; y( z, g* L; B
鲁着非鲁鲁會音自着自卷·。即D% Z, {& K9 ?2 s/ |0 Q3 Z6 d
2832 `: m' `. H- k& o. d
6.7.1拓扑排序………
4 `& v K2 K6 ^8 {( d) V…284
; V* X7 K: @* _
- U h1 w1 k+ H+ E. p% I% v4 }$ r0 Y+ O; f$ s/ b! {
' y4 j+ z6 y6 X9 Z
% p) h2 B% o+ u' @& D2 |* o6 O& b# D, c* _3 B# o
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见7 K. B q$ {6 O4 G' P( z3 r R
8 s k9 Q# E# O9 |: c7 ]( \8 B9 }, ?# i3 w7 M& ?9 \- [
; Y1 G! @/ m) D, d0 R5 }& x本资源由Java自学网收集整理【www.javazx.com】 |
|