本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
基本信息
书名:数据结构与算法经典问题解析:Java语言描述(原书第2版)
定价:79元
作者:纳拉西姆哈•, 卡鲁曼希(Narasimha Karumanchi), 骆嘉伟
出版社:机械工业出版社
出版日期:2016-06-24
ISBN:9787111538455
字数:388
页码:443
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
纳拉辛哈·卡鲁曼希编著的《数据结构与算法经典问题解析(Java语言描述原书第2版)》以Java为描述语言,介绍计算机编程中使用的数据结构和算法,覆盖相应竞争性考试的主题,目的不是提供关于数据结构和算法的定理及证明,而是强调问题及其分析,讲解知识和解题技巧。书中汇集知名IT企业经典的编程面试题目并给出解题思路,为学生应试和软件开发人员面试提供有益指导。
内容提要
本书以Java为描述语言,介绍了数据结构与算法的基本知识。书中结合企业界的工程实践提炼教学内容,特别对数据结构中易混淆的问题进行了梳理,对每一个问题提出不同的解决方案。本书是一本的数据结构方面的教材。
目录
目录
译者序
前言
章绪论1
11变量1
12数据类型1
13数据结构2
14抽象数据类型2
15什么是算法3
16为什么需要算法分析3
17算法分析的目的3
18什么是运行时间分析4
19如何比较算法4
110什么是增长率4
111常用的增长率4
112分析的类型5
113渐近表示6
114大O表示法6
115Ω表示法7
116Θ表示法8
117重要说明9
118为什么称为渐近分析9
119渐近分析指南9
120渐近表示法的性质11
121常用的对数和累加公式11
122分治法主定理12
123分治法主定理的相关问题12
124问题规模减小和递归求解主定理13
125问题规模减小和递归求解主定理的变型13
126猜测和确认的方法14
127平摊分析15
128算法分析的相关问题15
第2章递归和回溯28
21引言28
22什么是递归28
23为什么要用递归28
24递归函数的格式28
25递归和内存(可视化)29
26递归与迭代30
27递归说明30
28递归算法的经典用例30
29递归的相关问题31
210什么是回溯32
211回溯算法的经典用例32
212回溯的相关问题32
第3章链表34
31什么是链表34
32链表抽象数据类型34
33为什么要用链表35
34数组概述35
35链表、数组和动态数组的比较36
36单向链表36
37双向链表41
38循环链表46
39一种存储高效的双向链表51
310松散链表52
311链表的相关问题55
第4章栈72
41什么是栈72
42如何使用栈72
43栈抽象数据类型73
44异常73
45应用73
46实现73
47栈的各种实现方法比较77
48栈的相关问题78
第5章队列98
51什么是队列98
52如何使用队列98
53队列抽象数据类型99
54异常99
55应用99
56实现99
57队列的相关问题104
第6章树110
61什么是树110
62术语110
63二叉树111
64二叉树的遍历114
65通用树(N叉树)135
66线索(无栈或无队列结构)二叉树遍历141
67表达式树147
68异或树149
69二叉搜索树150
610平衡二叉搜索树164
611AVL树165
612树的其他形式178
6121红黑树178
6122伸展树179
6123增强树179
6124替罪羊树179
6125区间树180
第7章优先队列和堆181
71什么是优先队列181
72优先队列ADT181
73优先队列的应用182
74优先队列的实现182
75堆和二叉堆183
76二叉堆184
77优先队列(堆)的相关问题190
第8章并查集ADT201
81引言201
82等价关系和等价类201
83并查集ADT202
84应用202
85并查集ADT实现中的权衡202
86快速UNION实现(慢FIND)203
87快速UNION实现(快速FIND)206
88路径压缩208
89小结209
810并查集的相关问题209
第9章图算法211
91引言211
92术语211
93图的应用214
94图的表示214
95图的遍历217
96拓扑排序225
97 短路径算法226
98 小生成树231
99图算法的相关问题235
0章排序256
101什么是排序256
102为什么需要排序256
103排序的分类256
104其他分类方法257
105冒泡排序257
106选择排序258
107插入排序259
108希尔排序261
109归并排序262
1010堆排序264
1011快速排序264
1012树排序266
1013排序算法比较267
1014线性排序算法267
1015计数排序267
1016桶排序268
1017基数排序268
1018拓扑排序269
1019外部排序269
1020排序的相关问题270
1章查找279
111什么是查找279
112为什么需要查找279
113查找的类型279
114符号表和散列281
115字符串查找算法281
116查找的相关问题281
2章选择算法(中位数)304
121什么是选择算法304
122基于排序的选择算法304
123基于划分的选择算法304
124线性选择算法--中位数的中位数算法305
125按照排序顺序查找K个 小元素305
126选择算法的相关问题305
3章符号表314
131引言314
132什么是符号表314
133符号表的实现315
134符号表实现方法的比较315
4章散列317
141什么是散列317
142为什么用散列317
143散列表ADT317
144散列的例子317
145散列的组成部分319
146散列表319
147散列函数319
148负载因子320
149冲突320
1410冲突解决技术320
1411分离链接法320
1412开放定址法321
1413冲突解决技术的比较322
1414散列如何达到O(1)的时间复杂度322
1415散列技术323
1416不适用散列表的问题323
1417布鲁姆过滤器323
1418散列的相关问题325
5章字符串算法335
151引言335
152字符串匹配算法335
153蛮力法336
154RobinKarp字符串匹配算法336
155基于有限自动机的字符串匹配算法337
156KMP算法338
157BoyceMoore算法342
158存储字符串的数据结构342
159字符串的散列表实现342
1510字符串的二叉搜索树实现343
1511键树343
1512三叉搜索树345
1513二叉搜索树、键树和三叉搜索树的比较349
1514后缀树349
1515字符串的相关问题353
6章算法设计技术361
161引言361
162分类361
163按实现方法分类361
164按设计方法分类362
165其他分类法363
7章贪婪算法364
171引言364
172贪婪策略的定义364
173贪婪算法的要素364
174贪婪算法的适用范围365
175贪婪算法的优缺点365
176贪婪算法的应用365
177贪婪思想365
178贪婪算法的相关问题368
8章分治算法375
181引言375
182分治策略的定义375
183分治法的适用范围375
184分治法的图形化描述375
185分治思想376
186主定理377
187分治法的应用377
188分治法的相关问题378
9章动态规划算法390
191引言390
192动态规划策略的定义390
193动态规划策略的性质390
194动态规划的适用范围390
195动态规划的实现方法391
196动态规划算法的例子391
197动态规划思想391
198动态规划的相关问题396
第20章复杂度类型425
201引言425
202多项式/指数时间425
203决策问题的定义426
204决策过程426
205复杂度类型的定义426
206复杂度类型426
207归约428
208复杂度类型的相关问题430
第21章杂谈433
211引言433
212位运算的使用433
2121按位与操作433
2122按位或操作434
2123按位异或操作434
2124按位左移操作434
2125按位右移操作434
2126按位补操作434
2127检测第K位是否置位434
2128第K位置位435
2129第K位清零435
21210切换第K位435
21211切换值为1的 右位435
21212隔离值为1的 右位435
21213隔离值为0的 右位435
21214检查某个数是否是2的幂436
21215将某个数乘以2的幂436
21216将某个数除以2的幂436
21217找到给定操作数的模436
21218反转二进制数436
21219位值1的计数436
21220创建末尾位为0的掩码437
21221交换奇偶位438
21222不使用除法来计算平均数438
213其他编程问题438
参考文献442
作者介绍
作者:(印)纳拉辛哈·卡鲁曼希 译者:骆嘉伟 译者:李晓鸿 译者:肖正 译者:吴帆
纳拉辛哈·卡鲁曼希,在尼赫鲁科技大学获得计算机科学学士学位,在印度理工学院孟买分校获得计算机科学硕士学位。他是印度公司资深的软件开发工程师,之前曾就职于IBM和微软公司。他善于用轻松、浅显的方式编写技术书籍,其作品在上深受好评。他曾在各种培训中心和大学教授数据结构和算法课程。
序言