新書推薦:
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
|
編輯推薦: |
中国产业发展研究院、中关村智能硬件产业联盟、中关村大数据产业联盟、北京两化联盟、北京企业转型升级服务联盟知名专家联袂推荐!内含10万行源代码、300个经典案例!
本书针对经典算法,结合相关的数据结构,从描述问题、问题示例、代码实现以及运行结果相结合,语言简洁,深入浅出,通俗易懂,不仅适合对Python编程有兴趣的科研人员,也适合高等院校作为参考教材。
|
內容簡介: |
本书以人工智能发展为时代背景,通过实际案例应用描述算法,为Python程序员提供较为详细的实战方案,以便深度学习。主要从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心、分治和动态规划等;从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。针对经典算法,结合相关的数据结构,从描述问题、问题示例、代码实现以及运行结果相结合,语言简洁,深入浅出,通俗易懂,不仅适合对Python编程有兴趣的科研人员,也适合高等院校作为参考教材。
|
關於作者: |
李永华,现执教于北京邮电大学,拥有超过10年的嵌入式开发经验,致力于物联网、云计算与大数据的研究工作。在教学中善于以兴趣为导向,激发学生的创造性;以素质为基础,提高自身教学水平;以科研为手段,促进教学理念的转变。在研发及教学实践中指导学生实现500个创新案例,参与了30余项国家级、企业组织的理论研究和工程项目,在国内外学术期刊以及会议发表论文60余篇,申请专利40余项,出版教材10余部。
|
目錄:
|
目录
第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 O1
例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在O1时间复杂度删除链表节点
例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月于北京邮电大学
|
|