TA的每日心情 | 开心 2018-4-8 22:14 |
---|
签到天数: 1 天 [LV.1]初学乍练
普通会员
- 积分
- 5517
|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《 程序语言的奥妙:算法解读》
s* W+ D. S8 D7 P! ^" a3 ?; W1 Mjava电子书推荐理由:在我们生活的世界中,各种各样形形色色的事物和现象,其中都必定包含着科学的成分。在这些成分中,有些是你所熟知的,有些是你未知的,有些是你还一知半解的。面对未知的世界,好奇的你是不是有很多疑惑、不解和期待呢?!“形形色色的科学”趣味科普丛书,把我们身边方方面面的科学知识活灵活现、生动有趣地展示给你,让你在畅快阅读中收获这些鲜活的科学知识!
1 \# u0 w$ P# A( l6 ], s
+ v: v) ~) l( a# O作者:杉浦贤 李克秋7 f3 b! S$ p. W. }8 q
出版社:科学出版社
( q! L/ n. B6 H3 C% ?出版时间:2017-09-01 ! \9 n1 {8 |: O: s
书籍价格:30.60元
0 H0 ` C* z# E D, \& V. |+ B0 l% f8 H' H+ a+ `7 u
* b7 s3 ~; L) ~1 ]5 O% C, j0 E8 l1 s" \) `; ]5 F2 i6 }
# L7 I: @8 D( X0 \) N/ tjava电子书目录:
* ^# L& q6 D- R第1章 什么是算法?
5 E: ?2 p3 Q6 f0 {001 烹饪用的食谱就是算法
* t- M$ N+ s# Q0 _, w' S# f" U002 算法是古老的智慧
. s7 E* ]+ c" e003 懂得了算法游戏水平会更高
/ u. F- r7 Z) F* Q004 算法必须满足“有效性”和“终止性”
" R1 b) L+ \# V; s( S9 `0 G+ \005 算法有很多种类7 H4 \* U4 x) u9 J' Z) R
COLUMN 算法的基础—结构化程序设计的思想
- W8 @1 B+ n9 K6 k( j7 S0 `* g第2章 变量和数组; C: }2 y5 V- I! B x) m! i
006 数据是各种各样的信息
1 {* D% _& \' u8 b6 J( D5 c007 所有的数据都有类型/ ?( f$ T1 o2 b0 r- ^4 _, P
008 值是数值、文字等的具体表现+ y6 @4 K" L! O
009 变量是放入值的箱子
8 B( O5 Q+ l9 [3 Y: Z010 变量通过“变量名”区别
/ p# F) b3 J8 s1 X1 T011 赋值语句有给变量赋值的能力4 N/ D" o/ t; G
012 变量到变量的代入,是一个变量中的值被存储在另一个变量中
3 s/ B/ `- T* {/ O, j013 变量也有数据类型 R+ p2 L# W) p! \3 d, R. H
014 连续排列的相同数据类型的元素集合称为数组$ o0 Z" x, @8 ?* n7 D
015 数组用“数组名”区分
: I8 Z& J+ ]$ o# u016 数组的各元素用元素编号辨别
* V; z7 ^ u- S4 o017 数组是有效存储相关联数据的储物柜- z1 d+ u' W, V, T0 A
018 二维数组类似宾馆的房间
3 K N3 o% | d- v' I019 数组的各元素通过两个下标标识
$ f, R1 w6 D8 S020 字符串是字符数据的数组9 M/ B# \7 H* F) i& x* x4 J
021 字符串的字符长度由字符长度变量或“哨兵”管理
; N9 X3 \4 _& @) jCOLUMN 常用的变量名+ w8 w( j! Z9 i/ L [. y
第3章 数据结构" y4 G/ L% w5 P; I/ ~
022 实现对大量数据进行高效管理——数据构造! k( a0 M5 u' O% B3 M
023 数据结构有很多种, U# Q" H& t$ u
024 如同向上堆书一样的数据结构是栈
8 F+ Z- M% C' ~0 _- u7 J( T. E# n! ]025 在收银台排队一样的数据结构是等待队列
- U( o* t1 f% [1 c; {; r7 e& g6 Z7 \: x9 q026 用绳子把数据连起来的数据管理方式—链表0 F# }9 L; i' Y' P# k
027 单向链表:从一端开始可以遍历所有数据3 o/ A0 ]8 x7 v `! o4 g
028 双向链表:从双向开始都可以遍历所有数据
6 P- _' _0 p3 R% X( a! R029 查找第n个元素时数组比较快,链表比较慢
) k. H, Q7 Q4 I# _ b6 X. V030 插入和删除数据时链表比较快,数组比较慢' c* g) Y+ O" J* U5 O* z b0 O
031 环形缓冲:一旦到达末尾即返回到开头
2 I3 d+ y7 h6 @5 d" K1 R7 Q1 K9 |032 二叉树:一个父结点两个子结点组成的结构2 q& D7 I3 b1 @! t" M
033 堆:父结点的值不得比子结点的值大的二叉树
9 G3 z: B( n$ C4 n% a034 哈希表:数组和链表组合的一种数据结构
0 I0 D; L/ Z1 t% H! H035 图:结点和边连接的形式$ A) e% i3 _4 [
COLUMN 从0开始还是从1开始?+ J( g2 |. {( R2 X J& y& F& l
第4章 基本的算法3 d4 u+ j& _1 O3 @; O6 E1 `
036 执行循环操作求1~n的和
& U% o1 C/ Y) K6 Z037 使用数组保存数列的值0 b; U9 Q2 t! r: T
038 用变量求数组元素值的和, v! A/ g: d+ W: k+ p+ Z
039 用计数器求数组的有效元素数
; J8 m& e' M$ _2 @9 f6 y! d7 t040 根据数组的各元素和以及元素个数求数组的平均值
, k6 ^! R7 b2 M) X- z) C ^041 求数组元素的最大值要使用保存最大值的变量) O2 m' G( e( }# ?5 z
042 使用变量保存最小值求数组的最小值0 e e ^6 B2 `* k7 H/ O
043 使用其他的数组存放数组元素的顺序+ R( C* [. H. `, W" H
04 4 以秒为单位的时间大小的比较7 `5 B$ ?, m3 a+ ^: i A2 E
045 求时间差时,将差再表示成时间形式 O. K4 y; ^; x3 x" Z; |/ L( G
046 利用临时变量交换两个变量的值
9 z; d: v* ^0 s- }" c) ~" y047 用欧几里得相除法求2个数的最大公约数8 [3 M: f1 J, s) K- V. d1 Q; x3 K" |
COLUMN 代码和数据存在哪里?. r; Q# Z1 ]- R8 ?2 q- I
第5章 排序和搜索4 n3 r& e# |: L' z% \: N
048 排序是指按照一定规则对元素对象进行排列摆放* g: E' \3 \# d, E/ R( {. O
049 多种多样的排序算法* u2 Z) T1 } i V* a3 l
050 把数据放于其他数组(桶)来进行排序的“桶排序”- y; S5 Z4 e" L; t6 y, F
051 从数值的低位开始依次重复桶排序的“基数排序”, [% x. w6 X! B) `5 Q& p
052 选择最小值(最大值)与排好序的末位交换的“简单选择法”5 J# v: Y- g' m) X/ @
053 相邻数据交换的“简单交换法”(冒泡排序)6 I& K/ y/ J5 D$ b
054 在已排序数据的正确位置插入数据的“简单插入法”) S. i: X1 b& s1 @6 ?7 ?
055 把数据列按照一定间隔分组而进行排序的“希尔排序”
+ R: m; Z) m( V8 h* m$ q3 Y056 把多个排序结果的数列合在一起的“合并”(归并)5 ^- i2 ~+ o) c, R$ f* C4 }3 U
057 利用归并的算法进行排序的归并排序3 t4 l: }3 ^1 m0 D' E5 u: V0 H- }3 M
058 通过与基准数据比较大小并把数列进行二分的“快速排序”
# j* h3 \8 F9 ^* G059 利用堆的构造进行排序的“堆排序”
( ^3 E Q# F- \6 X& G060 搜索是从多个数据中找出目标数据3 O" _5 c; o, V' v% R4 J5 t0 D
061 从首位元素开始逐个进行比较处理的“线性查找”0 l1 _ G0 r9 j* P$ }/ b; H
062 能够从排好序的数列中快速找出数据的“二分查找”- a2 W) L% ?! k3 M% ?+ I
063 在给定字符串中查找指定字符串位置的“字符串查找”
9 a0 l. U/ g9 s( ?/ T F064 从不一致字符的位置和局部字符串的结构提高查找效率的KMP法$ t7 b0 Z9 \# h( I' o4 G; ~
065 从局部字符串的末尾到开头比较字符的BM法
( v% I) Z5 S# K4 s4 I! D. zCOLUMN 利用关系数据库进行排序和查找$ {% [9 t( e$ g1 ^( C
第6章 其他算法# Q/ i- ], Q) x" m3 l( Y
066 通过活用微分来求高次方程式解的牛顿法5 n) M# Y) d" R: g5 }8 v8 c u
067 联合方程组的求解方法是高斯消元法
7 } y9 r/ B! Y2 X/ F9 g068 根据梯形面积的计算求定积分值的梯形法0 N, S2 W( f- P/ d4 Z
069 用于求最短时间、最短距离之类的最优路径的方法:基于图的迪杰斯特拉法
& Y1 l1 F5 Z4 U9 p- U$ Q& W070 判断自然数n是否是素数的“埃拉托色尼筛法”
e# L( g# n& F' t) P1 h071 利用递归调用求n的阶乘& J3 s' F' R. G4 j
COLUMN 算法和流程图- w+ G: h8 \' s. t0 x m5 i
第7章 算法的复杂度" }$ e5 Z! R1 z. `7 l( I3 H
072 算法的复杂度中有时间复杂度和空间复杂度, W6 W W" b7 t$ {# @+ O
073 时间复杂度通过“运算”、“条件比较”、“代入处理”等操作次数来测量 F* @6 Q4 G+ h: R. ^1 ~
074 算法的复杂度用“O 记法”来表示7 A }6 @3 c! U6 C" X
COLUMN 提高编程能力的方法
3 f$ E' l% r) h3 y& I6 g参考文献
: }) K2 \6 W8 W+ v, H- j
. i( }6 u6 x0 @1 Q* A( NJava资料百度网盘下载地址链接(百度云):java自学网(javazx.com) 程序语言的奥妙:算法解读 PDF 高清 电子书 百度云.rar【密码回帖可见】* O: N4 P+ |, J2 D& y
' Q# r; ~6 n6 X# [( z4 I, a% b( e6 T) T0 n- [' {
4 F' M+ O5 `# y& m( T# n+ n9 C
8 y) J- T0 h: t6 | |
|