万本电子书0元读

万本电子书0元读

顶部广告

算法精粹:经典计算机科学问题的Python实现电子书

1.计算机科学和算法问题具有非常广泛的应用领域,而且经常出现在程序员面试题中; 2.本书所采用的Python语言是当前*流行的程序设计语言,基于Python3.7版本; 3.将计算机科学与应用程序、数据、性能等现实问题深度关联。 看似新颖或独特的计算机科学问题,往往根植于经典算法、编码技巧和工程原理。经典方法仍然是解决这些问题的*途径!理解用Python实现的这些技巧,可以扩展你在Web发、数据处理、机器学习等方面获得成功的潜力。 本书详细介绍一些经过时间验证的方案、练习和算法,以提升你解决计算机科学问题的技能。从二分搜索算法这种简单的任务,到用k 均值聚类算法对数据行聚类,很多编码挑战都将迎刃而解。破解将计算机科学与应用、数据、性能等真实世界相关联的问题,会让你特别享受那种满足感,甚至可以让你在下一次工作面试中应对自如! 本书主要内容 ● 搜索算法。 ● 图的常见技术。 ● 神经网络。 ● 遗传算法。 ● 对抗性搜索。 ● 始终使用类型提示。 本书适合中级Python 程序员阅读。

售       价:¥

纸质售价:¥56.60购买纸书

1517人正在读 | 0人评论 7.5

作       者:(美) 大卫·科帕克(David Kopec)

出  版  社:人民邮电出版社有限公司

出版时间:2020-07-01

字       数:21.4万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本面向中高级程序员的算法教程,借助Python语言,用经典的算法、编码技术和原理来求解计算机科学的一些经典问题。全书共9章,不仅介绍了递归、结果缓存和位操作等基本编程组件,还讲述了常见的搜索算法、常见的图算法、神经网络、遗传算法、k均值聚类算法、对抗搜索算法等,运用了类型提示等Python高级特性,并通过各级方案、示例和习题展具体实践。 本书将计算机科学与应用程序、数据、性能等现实问题深度关联,定位独特,示例经典,适合有一定编程经验的中高级Python程序员提升用Python解决实际问题的技术、编程和应用能力。<br/>【推荐语】<br/>1.计算机科学和算法问题具有非常广泛的应用领域,而且经常出现在程序员面试题中; 2.本书所采用的Python语言是当前*流行的程序设计语言,基于Python3.7版本; 3.将计算机科学与应用程序、数据、性能等现实问题深度关联。 看似新颖或独特的计算机科学问题,往往根植于经典算法、编码技巧和工程原理。经典方法仍然是解决这些问题的*途径!理解用Python实现的这些技巧,可以扩展你在Web发、数据处理、机器学习等方面获得成功的潜力。 本书详细介绍一些经过时间验证的方案、练习和算法,以提升你解决计算机科学问题的技能。从二分搜索算法这种简单的任务,到用k 均值聚类算法对数据行聚类,很多编码挑战都将迎刃而解。破解将计算机科学与应用、数据、性能等真实世界相关联的问题,会让你特别享受那种满足感,甚至可以让你在下一次工作面试中应对自如! 本书主要内容 ● 搜索算法。 ● 图的常见技术。 ● 神经网络。 ● 遗传算法。 ● 对抗性搜索。 ● 始终使用类型提示。 本书适合中级Python 程序员阅读。<br/>【作者】<br/>大卫·科帕克(David Kopec)是香普兰学院(Champlain College)的计算机科学与创新专业助理教授,该学院位于美国佛蒙特州的伯灵顿市。他是一位经验丰富的软件发人员,也是Classic Computer Science Problems in Swift和Dart for Absolute Beginners的作者。他拥有达特茅斯学院(Dartmouth College)的经济学学士学位和计算机科学硕士学位。<br/>
目录展开

版权

版权声明

内容提要

引言

致谢

关于作者

资源与支持

第1章 几个小问题

1.1 斐波那契序列

1.1.1 尝试第一次递归

1.1.2 基线条件的运用

1.1.3 用结果缓存来救场

1.1.4 自动化的结果缓存

1.1.5 简洁至上的斐波那契

1.1.6 用生成器生成斐波那契数

1.2 简单的压缩算法

1.3 牢不可破的加密方案

1.3.1 按顺序读取数据

1.3.2 加密和解密

1.4 计算π

1.5 汉诺塔

1.5.1 对塔进行建模

1.5.2 求解汉诺塔问题

1.6 现实世界的应用

1.7 习题

第2章 搜索问题

2.1 DNA搜索

2.1.1 DNA的存储方案

2.1.2 线性搜索

2.1.3 二分搜索

2.1.4 通用示例

2.2 求解迷宫问题

2.2.1 生成一个随机迷宫

2.2.2 迷宫的其他函数

2.2.3 深度优先搜索

2.2.4 广度优先搜索

2.2.5 A*搜索

2.3 传教士和食人族

2.3.1 表达问题

2.3.2 求解

2.4 现实世界的应用

2.5 习题

第3章 约束满足问题

3.1 构建约束满足问题的解决框架

3.2 澳大利亚地图着色问题

3.3 八皇后问题

3.4 单词搜索

3.5 字谜(SEND+MORE=MONEY)

3.6 电路板布局

3.7 现实世界的应用

3.8 习题

第4章 图问题

4.1 地图就是图

4.2 搭建图的框架

边和图的用法

4.3 查找最短路径

重温广度优先搜索

4.4 最小化网络构建成本

4.4.1 权重的处理

4.4.2 查找最小生成树

4.5 在加权图中查找最短路径

Dijkstra算法

4.6 现实世界的应用

4.7 习题

第5章 遗传算法

5.1 生物学背景知识

5.2 通用的遗传算法

5.3 简单测试

5.4 重新考虑SEND+MORE=MONEY问题

5.5 优化列表压缩算法

5.6 遗传算法面临的挑战

5.7 现实世界的应用

5.8 习题

第6章 k均值聚类

6.1 预备知识

6.2 k均值聚类算法

6.3 按年龄和经度对州长进行聚类

6.4 按长度聚类迈克尔·杰克逊的专辑

6.5 k均值聚类算法问题及其扩展

6.6 现实世界的应用

6.7 习题

第7章 十分简单的神经网络

7.1 生物学基础

7.2 人工神经网络

7.2.1 神经元

7.2.2 分层

7.2.3 反向传播

7.2.4 全貌

7.3 预备知识

7.3.1 点积

7.3.2 激活函数

7.4 构建神经网络

7.4.1 神经元的实现

7.4.2 层的实现

7.4.3 神经网络的实现

7.5 分类问题

7.5.1 数据的归一化

7.5.2 经典的鸢尾花数据集

7.5.3 葡萄酒的分类

7.6 为神经网络提速

7.7 神经网络问题及其扩展

7.8 现实世界的应用

7.9 习题

第8章 对抗搜索

8.1 棋盘游戏的基础组件

8.2 井字棋

8.2.1 井字棋的状态管理

8.2.2 极小化极大算法

8.2.3 用井字棋测试极小化极大算法

8.2.4 开发井字棋AI

8.3 四子棋

8.3.1 四子棋游戏程序

8.3.2 四子棋AI

8.3.3 用α-β剪枝算法优化极小化极大算法

8.4 超越α -β剪枝效果的极小化极大算法改进方案

8.5 现实世界的应用

8.6 习题

第9章 其他问题

9.1 背包问题

9.2 旅行商问题

9.2.1 朴素解法

9.2.2 进阶

9.3 电话号码助记符

9.4 现实世界的应用

9.5 习题

附录A 术语表

附录B 其他资料

B.1 Python

B.2 算法和数据结构

B.3 人工智能

B.4 函数式编程

B.5 实用的机器学习开源项目

附录C 类型提示简介

C.1 什么是类型提示

C.2 类型提示的格式

C.3 为什么类型提示很有用

C.4 类型提示的缺点是什么

C.5 更多内容

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部