描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302547174丛书名: 清华开发者书库
中国产业发展研究院、中关村智能硬件产业联盟、中关村大数据产业联盟、北京两化联盟、北京企业转型升级服务联盟知名专家联袂推荐!内含10万行源代码、300个经典案例!
本书针对经典算法,结合相关的数据结构,从描述问题、问题示例、代码实现以及运行结果相结合,语言简洁,深入浅出,通俗易懂,不仅适合对Python编程有兴趣的科研人员,也适合高等院校作为参考教材。
本书以人工智能发展为时代背景,通过实际案例应用描述算法,为Python程序员提供较为详细的实战方案,以便深度学习。主要从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心、分治和动态规划等;从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。针对经典算法,结合相关的数据结构,从描述问题、问题示例、代码实现以及运行结果相结合,语言简洁,深入浅出,通俗易懂,不仅适合对Python编程有兴趣的科研人员,也适合高等院校作为参考教材。
目录
第1章入门100例
例1反转一个3位整数
例2合并排序数组
例3旋转字符串
例4相对排名
例5二分查找
例6下一个更大的数
例7字符串中的单词数
例8勒索信
例9不重复的两个数
例10双胞胎字符串
例11最接近target的值
例12点积
例13函数运行时间
例14查询区间
例15飞行棋
例16移动石子
例17数组剔除元素后的乘积
例18键盘的一行
例19第n个数位
例20找不同
例21第k个组合
例22平面列表
例23子域名访问计数
例24最长AB子串
例25删除字符
例26字符串写入的行数
例27独特的莫尔斯码
例28比较字符串
例29能否转换
例30经典二分查找问题
例31抽搐词
例32排序数组中最接近元素
例33构造矩形
例34两个排序数组合的第k小元素
例35玩具工厂
例36形状工厂
例37二叉树最长连续序列
例38首字母大写
例39七进制
例40查找数组中没有出现的所有数字
例41回旋镖的数量
例42合并排序数组
例43最小路径和
例44大小写转换
例45原子的数量
例46矩阵中的最长递增路径
例47大小写转换
例48水仙花数
例49余弦相似度
例50链表节点计数
例51最高频的k个单词
例52单词的添加与查找
例53石子归并
例54简单计算器
例55数组第2大数
例56二叉树叶子节点之和
例57二叉树的某层节点之和
例58判断尾数
例59两个字符串是变位词
例60最长单词
例61机器人能否返回原点
例62链表倒数第n个节点
例63链表求和
例64删除元素
例65克隆二叉树
例66合并两个排序链表
例67反转整数
例68报数
例69完全二叉树
例70对称二叉树
例71扭转后等价的二叉树
例72岛屿的个数
例73判断是否为平方数之和
例74滑动窗口内数的和
例75总汉明距离
例76硬币摆放
例77字母大小写转换
例78二进制表示中质数个计算置位
例79最少费用的爬台阶方法
例80中心索引
例81词典中最长的单词
例82重复字符串匹配
例83不下降数组
例84最大的回文乘积
例85补数
例86加热器
例87将火柴摆放成正方形
例88可怜的猪
例89循环数组中的环
例90分饼干
例91翻转字符串中的元音字母
例92翻转字符串
例93使数组元素相同的最少步数
例94加油站
例95春游
例96合法数组
例97删除排序数组中的重复数字
例98字符串的不同排列
例99全排列
例100带重复元素的排列
第2章提高200例
例101插入区间
例102n皇后问题
例103主元素
例104字符大小写排序
例105上一个排列
例106下一个排列
例107二叉树的层次遍历
例108最长公共子串
例109最近公共祖先
例110k数和
例111有序链表转换为二分查找树
例112最长连续序列
例113背包问题1
例114拓扑排序
例115克隆图
例116不同的二叉查找树
例117汉诺塔
例118图中两个点之间的路线
例119丢失的第1个正整数
例120寻找缺失的数
例121排列序号Ⅰ
例122排列序号Ⅱ
例123最多有k个不同字符的最长子串
例124第k个排列
例125飞机数
例126格雷编码
例127迷你Cassandra
例128网络日志
例129栅栏染色
例130房屋染色
例131去除重复元素
例132左填充
例133负载均衡器
例134两数和的最接近值
例135打劫房屋
例136左旋右旋迭代器
例137n数组第k大元素
例138前k大数
例139计数型布隆过滤器
例140字符计数
例141最长重复子序列
例142僵尸矩阵
例143摊平二维向量
例144第k大的元素
例145两数和小于或等于目标值
例146两数差等于目标值
例147骑士的最短路线
例148k个最近的点
例149优秀成绩
例150二叉树的最长连续子序列Ⅰ
例151二叉树的最长连续子序列Ⅱ
例152课程表
例153安排课程
例 154单词表示数字
例155最大子序列的和
例156移除子串
例157数组划分
例158矩形重叠
例159最长回文串
例160最大子树
例161最小生成树
例162骑士的最短路径
例163最大矩阵
例164二叉树的最大节点
例165寻找重复的数
例166拼字游戏
例167132模式识别
例168检查缩写字
例169一次编辑距离
例170数据流滑动窗口平均值
例171最长绝对文件路径
例172识别名人
例173第一个独特字符位置
例174子串字谜
例175单词缩写集
例176二叉树翻转
例177二叉树垂直遍历
例178因式分解
例179Insert Delete GetRandom O(1)
例180编码和解码字符串
例181猜数游戏
例182数1的个数
例183平面范围求和——不可变矩阵
例184猜数游戏
例185最长的回文序列
例1861和0
例187预测能否胜利
例188循环单词
例189最大子数组之和为k
例190等差切片
例1912D战舰
例192连续数组
例193带有冷却时间的买卖股票最佳时间
例194小行星的碰撞
例195扩展弹性词
例196找到最终的安全状态
例197使序列递增的最小交换次数
例198所有可能的路径
例199合法的井字棋状态
例200满足要求的子串个数
例201多米诺和三格骨牌铺瓦问题
例202逃离幽灵
例203寻找最便宜的航行旅途(最多经过k个中转站)
例204图是否可以被二分
例205森林中的兔子
例206最大分块排序
例207分割标签
例208网络延迟时间
例209洪水填充
例210映射配对之和
例211最长升序子序列的个数
例212最大的交换
例213将数组拆分成含有连续元素的子序列
例214Dota2参议院
例215合法的三角数
例216在系统中找到重复文件
例217两个字符串的删除操作
例218下一个更大的元素
例219最优除法
例220通过删除字母匹配到字典里最长单词
例221寻找树中最左下节点的值
例222出现频率最高的子树和
例223寻找BST的modes
例224对角线遍历
例225提莫攻击
例226目标和
例227升序子序列
例228神奇字符串
例229爆破气球的最小箭头数
例230查找数组中的所有重复项
例231最小基因变化
例232替换后的最长重复字符
例233从英文中重建数字
例234数组中两个数字的最大异或
例235根据身高重排队列
例236左叶子的和
例237移除k位
例238轮转函数
例239字符至少出现k次的最长子串
例240消除游戏
例241有序矩阵中的第k小元素
例242超级幂次
例243水罐问题
例244计算不同数字整数的个数
例245最大乘积路径
例246矩阵找数
例247路径数计算
例248卡牌游戏
例249词频统计
例250查找子数组
例251最小子矩阵
例252最佳购物计划
例253询问冷却时间
例254树上最长路径
例255取数游戏
例256数组求和
例257最短短语
例258频率最高的词
例259判断三角形
例260最大矩阵边界和
例261卡牌游戏
例262停车问题
例263爬楼梯
例264最小字符串
例265目的地的最短路径
例266毒药测试
例267社交网络
例268前k高的基点
例269寻找最长01子串
例270合法字符串
例271叶节点的和
例272转换字符串
例273最少按键次数
例274二分查找
例275全排列
例276最小路径和
例277最长路径序列
例278背包问题2
例279哈希函数
例280第1个只出现1次的字符
例281空格替换
例282字符串压缩
例283数组的最大值
例284无序链表的重复项删除
例285在O(1)时间复杂度删除链表节点
例286将数组重新排序以构造最小值
例287两个链表的交叉
例288螺旋矩阵
例289三角形计数
例290买卖股票的最佳时机
例291加1
例292炸弹袭击
例293组合总和
例294向循环有序链表插入节点
例295大岛的数量
例296最短回文串
例297不同的路径
例298分割字符串
例299缺失的第1个素数
例300单词拆分
参考文献
Python语言是广泛使用的计算机程序设计语言,是高等院校相关专业重要的专业基础课程。由于Python语言具有功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好等诸多特点,20世纪90年代以来,Python语言迅速在全世界普及推广。目前,Python仍然是全世界最优秀的程序设计语言之一。
本书是作者为适应当前教育教学改革的创新要求,更好地践行语言类课程,满足实践教学与创新能力培养的需要,组织编写的教材。本书融合了同类教材的优点,采取创新方式,精选了300个趣味性、实用性强的应用实例,从不同难度、不同算法、不同类型和不同数据结构等方面,将实际算法进行总结,希望为Python编程人员抛砖引玉。
本书的主要内容和素材来自网络上流行的各大互联网公司的面试算法、LintCode、LeetCode、九章算法和作者所在学校近几年承担的科研项目成果。作者所指导的研究生,在研究过程中对学习和应用的算法进行了总结,通过人工智能科研项目的实施,完成了整个科研项目,不仅学到了知识,提高了能力,而且为本书提供了第一手素材和相关资料。
本书内容由总到分,先思考后实践,算法描述与代码实现相结合,可以作为从事网络开发、机器学习和算法实现的专业技术人员主要的技术参考书,也可以作为大学信息与通信工程及相关领域的Python算法实现的本科生教材,还可作为程序员算法提高的使用手册,同时可以为人工智能算法分析、算法设计、算法实现提供帮助。
本书的编写得到了教育部电子信息类专业教学指导委员会、信息工程专业国家第一类和第二类特色专业建设项目、教育部CDIO工程教育模式研究与实践项目、教育部本科教学工程项目、信息工程专业北京市特色专业建设、北京市教育教学改革项目、北京邮电大学创新创业教育精品课程项目的大力支持,在此表示感谢!
由于作者经验与水平有限,书中疏漏及不妥之处在所难免,衷心地希望各位读者多提宝贵意见及具体的修改建议,以便作者进一步修改和完善。
李永华 2020年5月于北京邮电大学
★Python是功能强大的编程语言。现阶段,随着我国在人工智能领域的投入和规划不断加大,聚焦于当前业界的需求,学好这门语言,是高薪就业的很好选择。
——史卓琦 中国产业发展研究院执行院长/中国发展网执行副总裁
★Python具有免费开源、可移植、可扩展、可嵌入的独特优势,快速灵活且内置了丰富的标准体系,已应用于越来越多的行业。但是,目前关于Python的图书大多数是以介绍基础知识为主。本书的不同之处是通过300个贴近生活的案例,兼顾深度与广度,内容覆盖面广,可以帮助读者能快速入门,真正提高项目实战能力。
——魏鸿 北京两化联盟秘书长
★Python是当前流行的编程语言,本书在每个案例中,先实现具体过程,然后定义主函数调用,读者既可以参考核心算法实现,也可以直接修改主程序测试用例,满足不同层次开发人员的需求,具备很高的参考价值。
韩晓平 中国能源网首席研究员、智慧城市部际协调工作组专家
★本书融合了同类图书的优点,采取了创新方式,精选了趣味性、实用性强的300个应用实例,从不同难度、不同算法、不同类型和不同数据结构进行总结,方便读者查询和应用。
—— 陈新河 中关村大数据产业联盟副秘书长
★《Python编程300例》详细给出了以Python语言实现案例设计的全部过程,包括问题、示例、实现及结果;案例给出了多种经典算法的具体应用,涉及搜索、递归、回溯、排序等内容,是一部内容丰富且极具实用性的著作。
——田启家 北京企业转型升级服务联盟秘书长
★《Python编程300例》是一部Python编程实践的指导性著作,能够培养读者对编程的兴趣,提高编写代码的水平,可作为在校学生以及工程技术人员在机器学习方面快速入门的教科书。
——董宇 中关村智能硬件产业联盟秘书长
评论
还没有评论。