标签分类 热门分类
当前位置:首页 > 程序设计电子书 > Python算法电子书网盘下载
你也能看得懂的Python算法书 你也能看得懂的Python算法书
流水不毒

流水不毒 提供上传

资源
14
粉丝
36
喜欢
389
评论
3

    你也能看得懂的Python算法书 PDF 完整源码版

    Python算法电子书
    • 发布时间:

    给大家带来的一篇关于Python算法相关的电子书资源,介绍了关于Python、算法方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小54 KB,王硕编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.3,更多相关的学习资源可以参阅 程序设计电子书Python电子书、等栏目。

  • 你也能看得懂的Python算法书 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1CGuxPFYM9hRFSarbms6P6
  • 分享码:msh8
  • 你也能看得懂的Python算法书 PDF

    很杰出:凝聚力4位创作者10年程序编写工作经验,陪你理解优化算法的精粹

    很趣味:全书选用栩栩如生幽默的語言,让优化算法已不好学

    很实战演练:全书包含36个案例,9类别优化算法,很有实战演练使用价值

    很详解:对每个优化算法,都得出了详解表明,确保一学就会

    程序编写的关键是优化算法,学习培训优化算法不但能教會你解决困难的方式,并且还能为了你将来的发展趋势出示这种将会。这书朝向优化算法新手,最先详细介绍时下时兴的计算机语言Python,详尽解读了Python語言的自变量和次序、支系、循环系统几大构造,及其目录和函数的应用,为以后学习培训优化算法做好基本。随后以通俗化栩栩如生的語言解读了双表针、哈希、深度1优先选择、深度广度优先选择、回朔、贪婪、动态规划和*短相对路径等經典优化算法。

    目录

    • 第1章 编程基础 1
    • 1.1 变量 1
    • 1.1.1 输出和输入 2
    • 1.1.2 简单变量类型 3
    • 1.1.3 数学计算 6
    • 1.1.4 位运算 7
    • 1.1.5 使用字符串 11
    • 1.2 三大结构 15
    • 1.2.1 循序结构 15
    • 1.2.2 分支结构 16
    • 1.2.3 条件判断 18
    • 1.2.4 应用分支结构 20
    • 1.2.5 循环结构 21
    • 1.2.6 continue和break 23
    • 1.2.7 应用循环结构 24
    • 1.2.8 结构的嵌套 26
    • 1.3 列表 27
    • 1.3.1 定义列表 27
    • 1.3.2 对元素进行操作 28
    • 1.3.3 列表的顺序 31
    • 1.3.4 列表内置函数 33
    • 1.3.5 截取和拼接列表 36
    • 1.3.6 字符串、元组和列表 38
    • 1.3.7 用循环遍历列表 40
    • 1.3.8 字典简介 41
    • 1.4 函数 43
    • 1.4.1 定义子函数 43
    • 1.4.2 主函数 44
    • 1.4.3 调用函数 45
    • 1.4.4 全局变量 47
    • 1.4.5 函数的运用 48
    • 第2章 双指针问题 53
    • 2.1 数组合并 53
    • 2.1.1 合并有序数组 53
    • 2.1.2 最终代码 56
    • 2.2 二分查找 56
    • 2.2.1 什么是二分查找 57
    • 2.2.2 问题求解 58
    • 2.2.3 最终代码 60
    • 2.3 链表 60
    • 2.3.1 什么是单链表 60
    • 2.3.2 建立单链表 61
    • 2.3.3 建立双链表 63
    • 2.3.4 双向输出双链表 65
    • 2.3.5 向单链表中添加元素 66
    • 2.3.6 向双链表中添加元素 69
    • 2.3.7 删除列表中的元素 71
    • 第3章 哈希算法 75
    • 3.1 什么是哈希 75
    • 3.2 两个数的和 78
    • 3.2.1 问题求解1 78
    • 3.2.2 解法1的最终代码 80
    • 3.2.3 问题求解2 81
    • 3.2.4 解法2的最终代码 82
    • 3.3 单词模式匹配 82
    • 3.3.1 问题求解 83
    • 3.3.2 最终代码 85
    • 3.4 猜词游戏 85
    • 3.4.1 问题求解 87
    • 3.4.2 最终代码 88
    • 3.5 神奇的词根 89
    • 3.5.1 问题求解 90
    • 3.5.2 最终代码 92
    • 第4章 深度优先遍历 93
    • 4.1 什么是深度优先遍历 93
    • 4.2 二叉树 95
    • 4.2.1 二叉树的类型 95
    • 4.2.2 二叉树的相关术语 96
    • 4.2.3 二叉树的节点代码 97
    • 4.2.4 二叉树的遍历顺序 97
    • 4.2.5 深度优先遍历与广度优先遍历 97
    • 4.3 怎么抓住小偷 98
    • 4.3.1 解题思路 98
    • 4.3.2 从思路到代码 102
    • 4.4 二叉树中的最大路径和 102
    • 4.4.1 解题思路 103
    • 4.4.2 完整代码 112
    • 4.5 最大的岛屿 113
    • 4.5.1 解题思路 113
    • 4.5.2 完整代码 116
    • 第5章 广度优先遍历 118
    • 5.1 什么是广度优先遍历 118
    • 5.2 选课的智慧 120
    • 5.2.1 广度优先遍历 121
    • 5.2.2 问题求解 122
    • 5.2.3 最终代码 124
    • 5.3 寻找制高点 125
    • 5.3.1 问题求解 126
    • 5.3.2 集合 129
    • 5.3.3 最终代码 130
    • 5.4 合法的括号 131
    • 5.4.1 问题求解 131
    • 5.4.2 最终代码 135
    • 5.5 树的右侧 136
    • 5.5.1 问题求解 136
    • 5.5.2 最终代码 139
    • 第6章 回溯算法 141
    • 6.1 什么是回溯 141
    • 6.2 遍历所有排序方式 142
    • 6.2.1 问题求解 142
    • 6.2.2 最终代码 144
    • 6.3 经典问题的组合 147
    • 6.3.1 问题求解 147
    • 6.3.2 最终代码 149
    • 6.4 查找单词问题 151
    • 6.4.1 问题求解 152
    • 6.4.2 最终代码 155
    • 6.5 八皇后问题 157
    • 6.5.1 问题求解 158
    • 6.5.2 最终代码 160
    • 6.6 教你解数独 164
    • 6.6.1 问题求解 165
    • 6.6.2 最终代码 168
    • 第7章 贪心算法 172
    • 7.1 硬币找零问题 173
    • 7.1.1 问题描述 173
    • 7.1.2 最终代码 175
    • 7.2 活动安排问题 175
    • 7.2.1 问题描述 176
    • 7.2.2 最终代码 177
    • 7.3 哈夫曼编码 178
    • 7.3.1 问题描述 178
    • 7.3.2 哈夫曼树 179
    • 7.3.3 贪心选择性质 181
    • 7.3.4 最优子结构性质 182
    • 7.3.5 最终代码 183
    • 第8章 动态规划算法 185
    • 8.1 爬楼梯问题 185
    • 8.1.1 问题描述 186
    • 8.1.2 最终代码 188
    • 8.2 矿工挖矿问题 189
    • 8.2.1 问题描述 189
    • 8.2.2 最终代码 195
    • 8.3 背包问题 195
    • 8.3.1 问题描述 195
    • 8.3.2 问题实例 196
    • 8.3.3 最终代码 201
    • 8.4 最长递归子序列问题 202
    • 8.4.1 问题描述 202
    • 8.4.2 改进算法 204
    • 8.4.3 最终代码 205
    • 第9章 最短路径问题 207
    • 9.1 迪可斯特朗算法 207
    • 9.1.1 术语释义 208
    • 9.1.2 问题示例:最短公交线路 208
    • 9.1.3 图与节点的定义 209
    • 9.1.4 把图用代码“画”出来 210
    • 9.1.5 算法核心:两个节点集合 210
    • 9.1.6 算法核心:循环 210
    • 9.1.7 输出路线 211
    • 9.1.8 通过示例理解算法 211
    • 9.1.9 完整代码展示 214
    • 9.2 Floyd算法 216
    • 9.2.1 算法核心:两个矩阵 216
    • 9.2.2 算法核心:通过中介点缩短距离 217
    • 9.2.3 通过示例理解算法 218
    • 9.2.4 完整代码 222
    • 9.3 A*算法 223
    • 9.3.1 算法核心:迪可斯特朗算法 223
    • 9.3.2 算法核心:预估函数 224
    • 9.3.3 算法核心:选择预估函数 226
    • 9.3.4 A*算法的兄弟们 226
    • 第10章 分治算法 227
    • 10.1 什么是分治 227
    • 10.2 归并排序 228
    • 10.2.1 递归法与迭代法 228
    • 10.2.2 递归法描述 229
    • 10.2.3 迭代法描述 232
    • 10.2.4 最终代码 233
    • 10.3 连续子列表的最大和 235
    • 10.3.1 解题思路 235
    • 10.3.2 最终代码 237
    • 10.4 几何问题之凸包 238
    • 10.4.1 问题求解 238
    • 10.4.2 最终代码 240
    • 10.5 数学问题之多项式乘法 242
    • 10.5.1 问题求解 242
    • 10.5.2 最终代码 245

    上一篇:Python爬虫开发 从入门到实战  下一篇:用Python写网络爬虫

    展开 +

    收起 -

    Python算法 相关电子书
    关于Python算法的学习笔记
    网友NO.779559

    Python数据结构与算法之链表定义的使用详解

    这篇文章主要介绍了Python数据结构与算法之链表定义与用法,结合具体实例形式较为详细的分析了单链表、循环链表等的定义、使用方法与相关注意事项,需要的朋友可以参考下 本文实例讲述了Python数据结构与算法之链表定义与用法。分享给大家供大家参考,具体如下: 本文将为大家讲解: (1)从链表节点的定义开始,以类的方式,面向对象的思想进行链表的设计 (2)链表类插入和删除等成员函数实现时需要考虑的边界条件, prepend(头部插入)、pop(头部删除)、append(尾部插入)、pop_last(尾部删除) 2.1 插入: 空链表 链表长度为1 插入到末尾 2.2 删除 空链表 链表长度为1 删除末尾元素 (3)从单链表到单链表的一众变体: 带尾节点的单链表 循环单链表 双链表 1. 链表节点的定义 class LNode: def __init__(self, elem, next_=None): self.elem = elem self.next = next_ 2. 单链表的实现 重点理解插入、删除的实现及其需要考虑的边界条件: class LinkedListUnderflow(ValueError): passclass LList: def __init__(self): self._head = None def is_empty(self): return self._head is None def prepend(self, elem): self._head = LNode(elem, self._head) def pop(self): if self._head is None: raise LinkedListUnderflow('in pop') e = self._head.elem self._head = self._head.next return e def append(self, elem): if self._head is None: self._head = LNode(elem……

    网友NO.107388

    Python实现数据结构线性链表(单链表)算法示例

    本文实例讲述了Python实现数据结构线性链表(单链表)算法。分享给大家供大家参考,具体如下: 初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码。 #!/usr/bin/python# -*- coding:utf-8 -*-# Author: Hui# Date: 2017-10-13# 结点类,class Node: def __init__(self, data): self.data = data # 数据域 self.next = None # 指针域 def get_data(self): return self.data# 链表类class List: def __init__(self, head): self.head = head # 默认初始化头结点 def is_empty(self): # 空链表判断 return self.get_len() == 0 def get_len(self): # 返回链表长度 length = 0 temp = self.head while temp is not None: length += 1 temp = temp.next return length def append(self, node): # 追加结点(链表尾部追加) temp = self.head while temp.next is not None: temp = temp.next temp.next = node def delete(self, index): # 删除结点 if index 1 or index self.get_len(): print "给定位置不合理" return if index == 1: self.head = self.head.next return temp = self.head cur_pos = 0 while temp is not None: cur_pos += 1 if cur_pos == index-1: temp.next = temp.next.next temp = temp.next def insert(self, pos, node): # 插入结点 if pos 1 or pos self.get_len(): print "插入结点位置不合理..." return temp = self.head cur_pos = 0 while temp is not Node: cur_pos += 1 if cur_pos == pos-1: node.next = temp.next temp.next =node break temp = temp.next def reverse(self, head): # 反转链表 i……

    网友NO.131448

    使用Python检测文章抄袭及去重算法原理解析

    在互联网出现之前,“抄”很不方便,一是“源”少,而是发布渠道少;而在互联网出现之后,“抄”变得很简单,铺天盖地的“源”源源不断,发布渠道也数不胜数,博客论坛甚至是自建网站,而爬虫还可以让“抄”完全自动化不费劲。这就导致了互联网上的“文章”重复性很高。这里的“文章”只新闻、博客等文字占据绝大部分内容的网页。 中文新闻网站的“转载”(其实就是抄)现象非常严重,这种“转载”几乎是全文照抄,或改下标题,或是改下编辑姓名,或是文字个别字修改。所以,对新闻网页的去重很有必要。 一、去重算法原理 文章去重(或叫网页去重)是根据文章(或网页)的文字内容来判断多个文章之间是否重复。这是爬虫爬取大量的文本行网页(新闻网页、博客网页等)后要进行的非常重要的一项操作,也是搜索引擎非常关心的一个问题。搜索引擎中抓取的网页是海量的,海量文本的去重算法也出现了很多,比如minihash, simhash等等。 在工程实践中,对simhash使用了很长一段时间,有些缺点,一是算法比较复杂、效率较差;二是准确率一般。 网上也流传着百度采用的一种方法,用文章最长句子的hash值作为文章的标识,hash相同的文章(网页)就认为其内容一样,是重复的文章(网页)。 这个所谓的“……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明