AI及机器学习的经脉:演算法新解

AI及机器学习的经脉:演算法新解 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • 人工智能
  • 机器学习
  • 算法
  • 深度学习
  • 数据科学
  • 神经网络
  • 模式识别
  • 理论基础
  • 技术创新
  • 算法解读
想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

演算法不仅可用来解决现实世界中的种种实际问题,如透过关键字寻找网上最有用的资讯,寻找最短的旅游路线来游历所有的景点,再比如无线通讯中的通道编码和解码;很多美妙的演算法源于人类对一些挑战自身智力的谜题的思考,比如经典的华容道问题,寻找数独的解法,再比如用程式战胜九段围棋高手等。书中的这些谜题深刻却不枯燥,它适合也值得任何学术背景的人花时间阅读和思考。使用和发现演算法是快乐的,这也是本书特别美好之处。毕竟人类的最高阶段就是认识宇宙,了解生命起源,而更高阶段是创造和优雅地解决那些有趣的谜题!

  本书同时用函数式方法和传统方法介绍主要的基本演算法和资料结构,资料结构部分包括二元树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二元堆积、二项式堆积、斐波那契堆、Pairing堆、伫列、序列等;基本演算法部分包括各种排序演算法、序列搜索演算法,字串匹配演算法(KMP等),深度优先、广度有限搜索演算法、贪心演算法及动态规划。
 

著者信息

作者简介

刘新宇


  1999年和2001年分别获得清华大学自动化系学士和硕士学位,之后长期从事软体研发工作。关注基本演算法和资料结构,尤其是函数式演算法,目前任职于亚马逊中国仓储和物流技术团队。
 

图书目录

前言

第一部分  树
01 二元搜寻树:资料结构中的「hello world」
1.1 定义.
1.2 资料组织
1.3 插入
1.4 检查.
1.5 搜索
1.6 删除.
1.7 随机建置二元搜寻树
02 插入排序的进化.
2.1 简介
2.2 插入
2.3 改进一:二分寻找
2.4 改进二:使用链结串列
2.5 使用二元搜寻树的最后改进
2.6 小结
03 并不复杂的红黑树
3.1 红黑树的定义
3.2 插入
3.3 删除
3.4 指令式的红黑树演算法
3.5 小结
04 AVL 树
4.1 AVL树的定义
4.2 插入
4.3 删除
4.4 AVL树的指令式演算法
4.5 小结.
05 基数树: Trie 和Patricia
5.1 整数Trie
5.2 整数Patricia
5.3 字元Trie
5.4 字元Patricia
5.5 Trie 和Patricia 的应用
5.6 小结
06 后缀树
6.1 后缀Trie
6.2 后缀树
6.3 后缀树的应用
6.4 小结
07 B树.
7.1 插入
7.2 删除
7.3 搜索
7.4 小结

第二部分 堆积
08 二元堆积
8.1 用阵列实现隐式二元堆积
8.2 左偏堆积和skew 堆积:显性的二元堆积
8.3 延伸堆积
8.4 小结
09 从吃葡萄到世界盃:选择排序的进化
9.1 寻找最小元素
9.2 细微改进.
9.3 本质改进
9.4 小结
10 二项式堆积、费氏堆积和配对堆积
10.1 二项式堆积
10.2 费氏堆积
10.3 配对堆积
10.4 小结

第三部分 伫列和序列
11 并不简单的伫列
11.1 单向链结串列和循环缓冲区实现的伫列
11.2 纯函数式实现.
11.3 小改进:平衡伫列.
11.4 进一步改进:即时伫列
11.5 惰性即时伫列
11.6 小结
12 序列:最后一块砖
12.1 二元随机存取列表
12.2 二元随机存取列表的数值表示
12.3 指令式双阵列清单
12.4 可连接列表
12.5 手指树
12.6 小结

第四部分 排序和搜索
13 分而治之:快速排序和归併排序
13.1 快速排序
13.2 快速排序的效能分析
13.3 工程实作中的改进
13.4 针对最差情况的工程实作
13.5 其他工程实作
13.6 其他
13.7 归併排序
13.8 原地归併排序
13.9 自然归併排序
13.10 自底向上归併排序.
13.11 平行处理
13.12 小结
14 搜索
14.1 序列搜索
14.2 解的搜索.
14.3 小结

A 列表
B 参考文献
 

图书序言

前言

  ✤ 演算法有用吗

  「演算法有用吗?」经常有人问我这个问题。很多人在工作中根本不用演算法。偶尔碰到的时候,也不过是使用一些实现好的函数库。举例来说,C++ 标准范本函数库(STL)中有现成的排序、寻找函数;常用的资料结构,如向量(vector)、伫列(queue)、集合(set)也都实现好了。日常工作中了解如何使用这些函数库似乎就足够了。

  但是,演算法在解决一些「有趣」的问题时会造成关键作用。不过,这些问题本身的价值却是见仁见智。

  让我们用实例来说话吧。接下来的两道题目,即使是初学程式设计的人,应该也很容易解决。

  ✤ 最小可用ID,演算法的威力

  这道题目来自Richard Bird 所着书中的第1章[1]。现代社会中,有很多服务依赖一种称为ID的概念。例如身份证就是一种ID,银行帐户也是,电话号码本质上也是一种ID。假设我们使用非负整数作为某个系统的ID,所有使用者都由一个ID唯一确定。任何时间,这个系统中的有些ID处于使用中的状态,有些ID则可以分配给新使用者。现在的问题是,怎样才能找到最小的可分配ID呢?例如下面是目前正在使用的ID:

  [18, 4, 8, 9, 16, 1, 14, 7, 19, 3, 0, 5, 2, 11, 6]

  最小的可分配ID,也就是不在这个清单中的最小非负整数,即10。

  有些程式语言内建了这一线性寻找的实现,例如Python。我们可以直接将这一解法翻译成下面的程式:

  def brute_force(lst):
  i = 0
  while True:
   if  i not in lst:
   return i
   i = i + 1

  但是这道题目仅是看上去简单。在储存了几百万个ID的大型系统中,这个方法的效能很差。对于一个长度为n的ID清单,它需要O(n2 )的时间才能找到最小的可分配ID。在我的电脑上(双核心2.10 GHz处理器,2 GB忆体),使用这一方法的C语言程式平均要5.4 s才能在10万个ID 找到答案。当ID的数量上升到100万时,平均用时则长达8min。

  改进一

  改进这一解法的关键基于这一事实:对于任何n个非负整数x1 , x2 , •••, xn,如果存在小于n的可用整数,必然存在某个xi不在[0, n) 范围内。否则这些整数一定是0, 1, •••, n −1 的某个排列,这种情况下,最小的可用整数是n。于是我们有以下结论:

  minf ree(x1 , x2 , •••, xn) 至n     (1)

  ✤ 小结

  回顾前面两个有趣的例题,暴力解法都捉襟见肘。对于第一题,暴力解法尚能解决较短的列表,而在第二题中暴力解法根本行不通。

  第一个实例展示了演算法的力量,第二个实例展示了资料结构的重要性。有很多有趣的题目在电脑发明之前很难解决,但是透过程式设计和电脑,可以用和传统方式完全不同的方法找到答案。相对于中小学数学课上所学的方法,这样的方法并没有被普遍教授。

  虽然优秀的演算法、资料结构和数学书汗牛充栋,但是对程序式解法和函数式解法进行对比的却寥寥无几。从上面的实例中可以看到,有时函数式解法十分简洁,并且很接近我们在数学课上所熟悉的思考方式。

  本书力图同时介绍指令式和函数式的演算法和资料结构。(Okasaki 的着作[3]中有很多函数式资料结构可供进一步参考,关于指令式的内容可以参考一些经典书[4] 以及维基百科。)本书的范例程式使用了多种程式语言,包含C、C++、Python、Haskell 和Lisp 方言Scheme, 读者可以从https://github.com/liuxinyu95/AlgoXY 上下载本书的全部范例程式。为了让具有不同背景的读者都容易阅读,所有演算法都提供虚拟程式码和数学函数描述。

  由于时间仓促,书中难免存在错误,欢迎读者们和专家批评指正,提供意见和回馈。

  本书作者电子电子邮件:liuxinyu95@gmail.com。

  ✤ 内容组织

  在接下来的章节中,我们将先介绍基本的资料结构,此后的一些演算法都会用到它们。第一部分首先介绍资料结构中的"hello world"--二元搜寻树,接下来说明如何解决二元树的平衡问题。然后我们将介绍更多有趣的树,其中Trie、Patricia 和后缀树可以用于文字处理,而B树则广泛应用于档案系统和资料库。

  第二部分介绍堆积的相关内容。我们列出一个抽象堆积的定义,然后介绍如何使用阵列和各种二元树实现二元堆积(binary heap),接着扩充到其他的堆积,包含二项式堆积、费氏堆积和配对堆积(pairing heap)。

  阵列和伫列通常被认为是简单的资料结构,但我们将在第三部分看到,它们实现起来并不容易。

  作为基本的排序演算法,我们将介绍指令式和函数式的插入排序、快速排序和归併排序等演算法。第四部分介绍寻找和搜索的相关内容,除了基本演算法,还会介绍诸如KMP这样的文字比对演算法。

  附录介绍关于链结串列的基本内容。
 

图书试读

用户评价

评分

《AI及机器学习的经脉:演算法新解》,這書名一出來,就讓我想到了那種「化繁為簡」的功力。我對AI和機器學習一直很有興趣,但每次研究到演算法的部分,就覺得自己好像進入了一個迷宮。那些數學理論、複雜的模型,常常讓我感到不知所措。所以,當我看到「演算法新解」這個標語,我馬上就覺得,這可能是我一直在找的那種能夠幫我「打通任督二脈」的書。我一直覺得,真正掌握一個技術,不是去背誦它,而是去理解它的「脈絡」。就像中醫講求經絡一樣,AI和機器學習的演算法,是不是也有它們自己獨特的「經脈」?這本書聽起來就像是在為我們解析這些「經脈」,讓我們不再被那些冰冷的公式嚇倒。我非常期待書中能夠提供一些很棒的視覺化圖解,或者是一些我從未想像過的比喻,來解釋那些原本很抽象的概念。我希望這本書能讓我對演算法有更深入的洞察,而不只是停留在表面。

评分

這本書名《AI及机器学习的经脉:演算法新解》,一聽就覺得很有深度,而且「经脉」這個詞,用得相當有意思。我最近在看一些AI的介紹,發現很多東西都跟演算法有關,但每次深入了解,都覺得頭昏腦脹。那些數學公式和模型,有時候真的像一團亂麻,很難理清頭緒。所以,當我看到「演算法新解」這幾個字,就像看到救星一樣。我一直認為,學習演算法,就像在學一門新的語言,如果沒有掌握好基礎的語法和邏輯,就很難進行更深入的溝通。這本書聽起來像是要教我如何「打通」AI和機器學習的「經脈」,讓我能更順暢地理解這些複雜的概念。我尤其好奇,作者會如何「新解」這些演算法?是會用更貼近我們生活中的實際例子,還是會用一種完全不同的教學方式?我希望它不是那種只會拋出一堆公式,然後說「自己去看」的書。我更期待的是,它能帶我走一遍思考演算法的脈絡,讓我能從根本上去理解它們的原理和用途。

评分

哇,這本書名聽起來就很酷!「AI及机器学习的经脉:演算法新解」,光是「经脉」兩個字就讓我想到那種打通任督二脈,豁然開朗的感覺。我最近真的對AI和機器學習很有興趣,感覺這個領域每天都在變,一不小心就會跟不上。尤其演算法,那些數學公式和邏輯,有時候真的讓人頭痛,但又知道它是所有神奇功能的根本。我特別好奇這本書會怎麼「新解」演算法,是會用更貼近生活、更容易理解的比喻,還是會用一些我從未想過的角度去剖析?畢竟,要把這麼複雜的東西講清楚,真的需要功力。而且,我還在想,書名裡用了「经脉」,是不是也暗示著AI和機器學習之間,或者不同演算法之間的關聯性,像人體經絡一樣,有著相互影響、相互支援的關係?如果真的能把演算法講到像中醫的經絡一樣,那絕對是一場革命!我已經開始期待書中會不會有什麼讓人驚豔的圖表或是案例,能讓我在腦海中建立起一個清晰的演算法網絡圖。希望這本書能讓我不再害怕那些抽象的數學模型,而是能真正看懂背後的邏輯,甚至能觸類旁通,理解更多進階的概念。

评分

這本《AI及机器学习的经脉:演算法新解》,光看書名我就覺得很有份量,而且「新解」這兩個字,真的讓人眼睛一亮。我之前有接觸過一些AI的入門書籍,但說實話,很多時候都停留在「知道有這麼回事」,對於演算法的底層邏輯,總是霧裡看花。像什麼梯度下降、反向傳播,聽起來就很玄乎,要不是為了完成專案,我大概就直接跳過了。所以,當我看到這本書強調「演算法新解」,我第一個念頭就是:這是不是能幫我打通任督二脈?是不是能用一種全新的、更直觀的方式來理解這些核心概念?我一直覺得,要真正掌握一個領域,不光是知道「是什麼」,更要知道「為什麼」和「怎麼做」。演算法就是AI和機器學習的「為什麼」,而這本書的「新解」,可能就是幫助我們找到「怎麼做」的鑰匙。我很好奇,作者在「新解」演算法時,會不會結合時下最熱門的AI應用,例如生成式AI、推薦系統等等,透過實際的例子來闡釋演算法的原理?畢竟,脫離實際應用的理論,總是讓人覺得有點空泛。我希望這本書能讓我在面對複雜的演算法時,不再感到畏懼,而是能燃起一股想要深入探索的動力。

评分

坦白說,我對「AI及机器学习的经脉:演算法新解」這個書名,一開始有點猶豫。畢竟「经脉」這個詞,聽起來有點像中國傳統醫學的專有名詞,跟硬梆梆的演算法搭在一起,總覺得有點跳躍。但仔細想想,如果把演算法比喻成AI和機器學習的「經絡」,其實也蠻貼切的。所有的知識、所有的能力,都必須透過這些「經絡」才能運行、才能發揮作用。而「新解」兩個字,又暗示著這本書不是在重複過去那些老調,而是要提供一個全新的視角。我對這方面的需求非常強烈,因為我發現很多網路上的教學或文章,雖然提供了範例程式碼,但對於背後的演算法邏輯,解釋得並不夠深入,有時候甚至會互相矛盾。我一直覺得,理解演算法的根本原理,比死記硬背程式碼更重要,也更有意義。我希望這本書能夠引導我,看到演算法之間是如何相互關聯、相互影響的,就像人體內的經絡一樣,彼此支援,共同維持身體的健康。我特別期待書中會不會有什麼方法,能讓我將原本複雜的演算法,轉化成更直觀、更有條理的圖像或模型。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有