"Algorithm Notes" PDF

Download link: https://pan.baidu.com/s/1R0ZPolCLnCuok96DpSgh7A Password: v7kj

  • Publisher:  Electronics Industry Press; 1st Edition (July 1, 2016)
  • Foreign name:  Algorithm notes
  • Paperback:  184 pages
  • Language:  Simplified Chinese
  • Format:  16
  • ISBN: 9787121286711, 7121286718
  • Barcode:  9787121286711
  • Product size:  23.2 x 18.4 x 1.2 cm
  • Item weight:  290 g
  • ASIN:  B01J9HQ28I

Editor's Choice

The content is detailed, involving sorting, hashing, dynamic programming and approximation algorithms, Gaussian elimination, graph theory and linear programming, unconstrained optimization, iterative methods, interpolation and fitting, etc.
Focus on explaining the core idea of ​​the algorithm.
Focus on solving practical problems with algorithms, such as similarity search, load balancing, etc.
Explain in detail the mathematical theory involved in the algorithm and the specific skills in programming.
Test-oriented indoctrination is avoided.
The language is concise and no nonsense; the viewpoint is unique and not copied.

About the Author

Diao Rui, graduated from the Institute of Mathematics and Systems Science, Chinese Academy of Sciences, and his research direction during his doctoral period was optimization methods. He won the 1st place in the 2009 Intel Cup National Computer Multi-Core Programming Contest, and the 2nd place in the 2011 KDD Cup.
Xie Yan, graduated from the Institute of Mathematics and Systems Science, Chinese Academy of Sciences. During her Ph.D., her research direction was parallel finite element computing. Worked in search research and development at Microsoft Internet Engineering Institute.

content

Chapter 1 Sorting 1
1.1 Comparison Sorting................................................ ...................................................... ................. 1
1.1.1 Comb sorting ................................ ...................................................... ................................ 2
1.1.2 Heap Sort ................................ ...................................................... ............................................... 4
1.1.3 Merge Sort ...................................................... ...................................................... .. 5
1.1.4 Quick Sort ................................................ ...................................................... ............... 8
1.1.5 Introspective sorting ................................ ...................................................... ................. 10
1.1.6 Timsort ..................................................... ...................................................... ......... 11
1.2 Non-comparative sorting ................................................ ...................................................... ................................. 14
1.2.1 Bucket sorting ................................ ...................................................... ................................. 14
1.2.2 Radix sort ................................ ...................................................... ................................. 15
1.3 Summary.... ...................................................... ...................................................... ................. 16
Chapter 2 Hash 17
2.1 Basic Concepts and Implementation ................................ ...................................................... ................................ 17
2.1.1 Hash function...................................................... ...................................................... ........ 17
2.1.2 Hash table ................................ ...................................................... ................................ 19
2.2 Application of hashing ................................ ...................................................... ................................. 20
2.2.1 Similarity Search...................... ...................................................... ......................................... 20
2.2.2 Information Security... ...................................................... ................................................. twenty three
2.2.3 Bitcoin ................................................ ...................................................... ...........25
2.2.4 Load Balancing ............................................... ...................................................... ...... 26
Chapter 3 Dynamic Programming and Approximation Algorithms 29
3.1 Basic Concepts ...................... ...................................................... ................................ 29
3.1.1 Dynamic Programming ................................ ...................................................... ................................. 29
3.1.2 Computational Complexity... ...................................................... ............................................... 30
3.2 Strings Edit Distance ................................................................ ................................................. 30
3.2.1 Problem introduction................................................................ ...................................................... ...... 31
3.2.2 Dynamic Programming Algorithm ................................................ ...................................................... . 33
3.2.3 Scrolling array optimization................................................ ...................................................... ... 35
3.2.4 Upper limit limit................................................ ...................................................... ............ 36
3.2.5 Backtracking of the solution ................................ ...................................................... ................................. 37
3.2.6 Divide and Conquer Algorithm ................................ ...................................................... ................................. 38
3.2.7 Edit distance of multiple strings ...... ...................................................... ................. 41
3.3 Subsets and problems ................................................ ...................................................... ................. 43
3.3.1 Problem introduction ................................ ...................................................... ................................ 43
3.3.2 Dynamic Programming Algorithms for Subset Sum Problems................ ...................................................... ...... 43
3.3.3 Optimization problem ................................ ...................................................... ...........44
3.3.4 Techniques for rolling arrays ................................................ ...................................................... ............... 45
3.3.

Preamble

本书取名“算法笔记”,主要源自作者在中国科学院读书期间学习算法时的体会,可以作为现有算法教科书的补充。本书讨论了计算机算法相关的若干话题,在介绍算法的同时结合了作者自己对数学背景、应用场景的理解,便于读者把握算法的核心思想。阅读本书需要有一定的数学基础和算法基础。
许多经典的算法教科书都详尽地介绍了算法的各个知识点,但在覆盖面广的同时难免会忽略许多细节问题。例如,哪些算法真正值得运用到实际问题中,算法有哪些变种值得我们了解,算法背后有哪些数学理论支撑,等等。
本书共包括8 章。各章中除了讲解基本知识,还回答了许多相关的有趣问题。
? 排序:排序算法有很多种,在比较流行的编程语言中都有提供排序算法的库函数,直接调用这些库函数会非常简单。但它们所使用的算法为何有效,这些算法与一些经典的排序算法又有什么区别?
? 哈希:在讲解哈希算法时一般主要介绍哈希函数的作用及哈希表的不同实现方法。但将哈希函数运用于不同的问题时,最为巧妙的地方在于哈希函数的设计。对于不同领域的问题,哈希函数都有哪些有趣的形式?
? 动态规划与近似算法:通常这两类算法并不会放在一起去探讨。在面对不同复杂性的问题时,它们会有怎样的互补作用?
? 高斯消去法:算法的基本过程是很简单的,但在实际使用中远远没有那么简单。如何保持计算的稳定性?如何解决稀疏矩阵的计算效率问题?
? 图论与线性规划:图论中的许多问题都可以用线性规划去解决。图论中的一些经典结论实质上也可以用线性规划的相关定理去解释。线性规划作为一个更一般的工具,如何用于处理图论问题?
? 无约束优化:无约束优化主要用于求解函数的最大值或最小值的问题。常用的这些方法为何有效?它们之间的差别在哪里?
? 迭代法:常见的迭代算法都有哪些?它们为什么有效?
? 插值与拟合:插值与拟合的思想是什么?有什么异同?如何运用于图像处理?
读者可以发现,本书不仅指出了哪些算法可以解决问题,还指出了哪些算法可以更好地解决问题。这有助于我们对算法的深入理解。
由于作者水平有限,书中难免有错误和不足之处,欢迎读者批评和指正。
刁瑞、谢妍
2016 年7 月


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326358327&siteId=291194637