《你也能看得懂的Python算法书》随书源码

《你也能看得懂的Python算法书》随书源码

  • 大小:45.1 KB
  • 类型:技术文档
  • 格式:PDF
  • 审核:容溪澈
  • 热度:583
  • 更新:2020-10-16 10:22:11
vip 立即下载( 45.1 KB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 牛嘉玉 投稿)

编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。本书面向算法初学者,首先介绍当下流行的编程语言Python,详细讲解了Python语言的变量和顺序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗生动的语言讲解了双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和*短路径等经典算法。 第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 最

相关资源

  • Data Structures and Program Design in c++ (英文版)

    Data Structures and Program Design in c++ (英文版) 课后答案

    Progressing from the concrete to the abstract and using numerous, substantial case studies and sample programs this book explores structured problem solving, data abstraction, software engineering principles, and the comparative analysis of algorithms as

    大小:27.8 MBc++课后答案

  • Violent Python中文版(Python黑客教程)

    Violent Python是一个黑客入门python的指导书。里面详细介绍了多种暴力美学,彰显了脚本的力量。主要介绍通过python达到攻防和测试网站安全,需要的朋友欢迎下载! Python是一门黑客语言,它简单易学,开发效率高,大量的第三方库,学习门槛低。Python提供了高效的开发平台来构建我们自己的攻击工具。如果你用的是Mac OS X或者是Linux系统,Python已经内置在你的系统中。丰富的攻击攻击已经存在,学习Python可以帮助你解决那些工具不能解决的问题。 《Viol

    大小:1.5 MBPython教程

  • 数据库应用技术 SQL Server 2005篇(第二版)

    数据库应用技术 SQL Server 2005篇(第二版) 课后答案

    本书以Microsoft公司的SQL Server 2005数据库系统为平台,采用项目驱动式的教材编写思想,介绍了SQL Server 2005数据库系统的安装、配置、管理和使用方法,并以网上订单管理系统的开发作为教材的载体,详细讲述关系数据库系统的基本原理和数据库应用技术,并介绍了ASP.NET的数据库应用开发实例。 本书本着理论与实践一体化的原则,注重数据库应用的实际训练,紧跟数据库应用技术的新发展,使学生能够及时、准确地掌握数据库应用的新知识。 本书适合作

    大小:944 KB数据库应用课后答案

  • 《网页制作实用教程(第2版)》习题答案,素材,教案

    《网页制作实用教程(第2版)》习题答案,素材,教案

    内容介绍 《网页制作实用教程(第2版)》以Dreamweaver 8中文版软件为蓝本,结合Flash 8软件和Fireworks 8软件的*技术,介绍了网页设计、规划与制作的基本技能。全书共11章,内容包括网页制作基本概念,HTML语言结构,Dreamweaver 8工作环境,网站和网页规划、建设、发布与维护,其中涉及对CSS技术、网络技术应用的介绍。在本书最后一章,设置了网页制作综合实例。 本书是高职高专院校网页设计与制作课程的教材,也可供网页制作爱好者参考使用。 目录 第

    大小:15.81 MB网页制作配套资源

  • 《机械制图与CAD技能训练》习题答案,素材

    《机械制图与CAD技能训练》习题答案,素材

    内容介绍 本书是与《机械制图与计算机绘图》配套的技能训练教材。 本书采用*的国家制图标准。内容与教材紧密结合,侧重绘制与阅读机械图样基本能力的训练及解决实际问题能力的培养。书中各章题目均具有代表性和典型性,由易到难,方便教学。 本书采用单面印刷方式,方便学生练习。 本书为高职高专机械、机电类专业的机械制图与CAD课程的教材。也可作为机械、机电类成人教育、自学考试、中职教育的教材。 目录 第1章制图的基本知识1 一、图

    大小:30.39 MB机械制图配套资源

  • 《HTML+CSS+JavaScript入门经典(第3版)》配套资源

    《HTML+CSS+JavaScript入门经典(第3版)》配套资源

    ★书名:HTML+CSS+JavaScript入门经典(第3版) ★书号:978-7-115-55976-0 ★简介:本书是一本介绍HTML、CSS和JavaScript的入门图书。全书分为6个部分,共28课。本书系统、全面地介绍了Web前端的基础知识,结合大量实示例,帮助读者循环渐进地学习前端Web设计及开发。本书内容包括Web的基础知识、HTML网页设计、CSS高级网页设计、响应式Web设计、动态网站入门、高级网站功能及管理等。本书适合前端开发者入门,特别是那些想全面学习HTML、CSS和JavaSc

    大小:700.3 MB前端设计配套资源

  • 《计算机网络安全基础(第三版)》教案

    《计算机网络安全基础(第三版)》教案

    内容介绍 本教材共有11章,内容包括:网络的基础知识与因特网提供的主要服务、网络常用的操作系统、网络安全的基本知识、计算机系统安全与访问控制、数据安全、数据库系统安全、数据加密与认证技术、计算机病毒的防治、网络安全技术、网络站点的安全等内容。重点介绍如何保护自己的网络以及网络系统中的数据不被破坏和丢失,如何保证数据在传输过程中的安全,如何避免数据被篡改以及维护数据的真实性等。其中第1~10章各章的后面均附有

    大小:6.69 MB网络安全配套资源

  • Java核心知识点整理

    作为一名 Java 程序员,不论你需不需要面试都应该好好看下这份资料。就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。 《JAVA核心知识点整理》文档包含JVM, 集合,多线程,基础,Spring, 微服务,Netty, RPC, 网络, 日志, ZK, 网络,日志,kafka, MQ, HBase, MongoDB, 设计模式, 负载均衡, 数据库,算法 等

    大小:9.19 MBJava知识点

下载地址

相关声明:

用户留言