展开全部

主编推荐语

Python算法入门书:理论实务同步,覆盖数据结构、信息安全、人工智能算法,附120个实例和600张示意图。

内容简介

这是一本使用Python从零开始指导读者的算法入门书籍,从基础数据结构与算法开始,同时解说信息安全算法,最后也讲解人工智能入门的 KNN 和 K-means 算法。整本书的特色是理论与实务同步解说,使用完整的数据结构图鉴搭配 Python 程序实作做解说,让读者可以很轻松掌握相关知识。全书内容包含120个程序实例,使用约 600张完整图表或图例,完整解说7种数据结构,数十种算法相关知识,此外也针对国内外著名公司应征程序设计师的算法考题做解说。

目录

  • 封面页
  • 书名页
  • 版权页
  • 作者简介
  • 内容简介
  • 前言
  • 目录
  • 第1章 算法基本概念
  • 1-1 计算机的算法
  • 1-2 不好的算法与好的算法
  • 1-2-1 不好的算法
  • 1-2-2 好的算法
  • 1-3 程序执行的时间测量方法:时间复杂度
  • 1-3-1 基本概念
  • 1-3-2 时间测量复杂度
  • 1-4 内存的使用:空间复杂度
  • 1-4-1 基本概念
  • 1-4-2 常见的空间复杂度计算
  • 1-5 数据结构
  • 1-6 习题
  • 第2章 数组
  • 2-1 基本概念
  • 2-2 使用索引存取数组内容
  • 2-3 新数据插入数组
  • 2-3-1 假设当下有足够的连续内存空间
  • 2-3-2 假设当下没有足够的连续内存空间
  • 2-4 删除数组元素
  • 2-5 思考数组的优缺点
  • 2-6 与数组有关的Python程序
  • 2-6-1 建立数组
  • 2-6-2 存取数组内容
  • 2-6-3 将数据插入数组
  • 2-6-4 删除数组元素
  • 2-6-5 搜寻数组元素
  • 2-6-6 更新数组内容
  • 2-6-7 Numpy
  • 2-7 习题
  • 第3章 链表
  • 3-1 链表数据形式与内存概念
  • 3-2 链表的数据读取
  • 3-3 新数据插入链表
  • 3-4 删除链表的节点元素
  • 3-5 循环链表(circle linked list)
  • 3-6 双向链表
  • 3-7 数组与链表基本操作的时间复杂度比较
  • 3-8 与链表有关的Python程序
  • 3-8-1 建立链表
  • 3-8-2 建立链表类别和遍历此链表
  • 3-8-3 在链表第一个节点前插入一个新的节点
  • 3-8-4 在链表末端插入新的节点
  • 3-8-5 在链表中间插入新的节点
  • 3-8-6 在链表中删除指定内容的节点
  • 3-8-7 建立循环链表
  • 3-8-8 双向链表
  • 3-9 习题
  • 第4章 队列
  • 4-1 数据插入enqueue
  • 4-2 数据读取dequeue
  • 4-3 使用列表模仿队列的操作
  • 4-4 与队列有关的Python模块
  • 4-5 习题
  • 第5章 栈
  • 5-1 数据推入push
  • 5-2 数据取出pop
  • 5-3 Python中栈的应用
  • 5-3-1 使用列表(list)模拟栈操作
  • 5-3-2 自行建立stack类别执行相关操作
  • 5-4 函数调用与栈运作
  • 5-5 递归调用与栈运作
  • 5-6 习题
  • 第6章 二叉树
  • 6-1 建立二叉树
  • 6-2 删除二叉树的节点
  • 6-3 搜寻二叉树的数据
  • 6-4 更进一步认识二叉树
  • 6-5 内存存储二叉树的方法
  • 6-6 Python中二叉树的运用
  • 6-6-1 使用数组建立二叉树
  • 6-6-2 链表方式建立二叉树的根节点
  • 6-6-3 使用链表建立二叉树
  • 6-6-4 遍历二叉树使用中序(inorder)打印
  • 6-6-5 遍历二叉树使用前序(preorder)打印
  • 6-6-6 遍历二叉树使用后序(postorder)打印
  • 6-6-7 二叉树节点的搜寻
  • 6-6-8 二叉树节点的删除
  • 6-6-9 二叉树的应用与工作效率
  • 6-7 习题
  • 第7章 堆积树
  • 7-1 建立堆积树
  • 7-2 插入数据到堆积树
  • 7-3 取出最小堆积树的值
  • 7-4 最小堆积树与数组
  • 7-5 Python内建堆积树模块heapq
  • 7-5-1 建立二叉堆积树heapify( )
  • 7-5-2 推入元素到堆积heappush( )
  • 7-5-3 从堆积取出和删除元素heappop( )
  • 7-5-4 推入和取出heappushpop( )
  • 7-5-5 传回最大或是最小的n个元素
  • 7-5-6 取出堆积的最小值和插入新元素
  • 7-5-7 堆积的元素是元组(tuple)
  • 7-5-8 二叉堆积树排序的应用
  • 7-6 Python硬功夫:自己建立堆积树
  • 7-6-1 自己建立堆积树
  • 7-6-2 自己建立方法取出堆积树的最小值
  • 7-6-3 插入节点
  • 7-7 习题
  • 第8章 哈希表
  • 8-1 基本概念
  • 8-2 哈希表转成数组
  • 8-2-1 哈希表写入
  • 8-2-2 哈希碰撞与链结法
  • 8-2-3 哈希碰撞与开放寻址法
  • 8-3 搜寻哈希表
  • 8-4 哈希表的规模与扩充
  • 8-5 好的哈希表与不好的哈希表
  • 8-6 哈希表效能分析
  • 8-7 Python程序应用
  • 8-7-1 Python建立哈希表
  • 8-7-2 建立电话号码簿
  • 8-7-3 避免数据重复
  • 8-8 认识哈希表模块hashlib
  • 8-8-1 使用md5( )方法计算中文/英文数据的哈希值
  • 8-8-2 计算文件的哈希值
  • 8-8-3 使用sha1( )方法计算哈希值
  • 8-8-4 认识此平台可以使用的哈希算法
  • 8-8-5 认识跨平台可以使用的哈希算法
  • 8-9 习题
  • 第9章 排序
  • 9-1 排序的概念与应用
  • 9-2 泡沫排序法(bubble sort)
  • 9-2-1 图解泡沫排序算法
  • 9-2-2 Python程序实例
  • 9-3 鸡尾酒排序(cocktail sort)
  • 9-3-1 图解鸡尾酒排序算法
  • 9-3-2 Python程序实例
  • 9-4 选择排序(selection sort)
  • 9-4-1 图解选择排序算法
  • 9-4-2 Python程序实例
  • 9-4-3 选择排序的应用
  • 9-5 插入排序(insertion sort)
  • 9-5-1 图解插入排序算法
  • 9-5-2 插入排序与玩扑克牌
  • 9-5-3 Python程序实例
  • 9-6 堆积树排序(heap sort)
  • 9-6-1 图解堆积树排序算法
  • 9-6-2 Python程序实例
  • 9-7 快速排序(quick sort)
  • 9-7-1 图解快速排序算法
  • 9-7-2 Python程序实例
  • 9-8 合并排序(merge sort)
  • 9-8-1 图解合并排序算法
  • 9-8-2 Python程序实例
  • 9-9 习题
  • 第10章 数据搜寻
  • 10-1 顺序搜寻法(sequential search)
  • 10-1-1 图解顺序搜寻算法
  • 10-1-2 Python程序实例
  • 10-2 二分搜寻法(binary search)
  • 10-2-1 图解二分搜寻法
  • 10-2-2 Python程序实例
  • 10-3 搜寻最大值算法
  • 10-4 习题
  • 第11章 栈、回溯算法与迷宫
  • 11-1 走迷宫与回溯算法
  • 11-2 迷宫设计栈扮演的角色
  • 11-3 Python程序走迷宫
  • 11-4 习题
  • 第12章 从递归看经典算法
  • 12-1 斐波那契(Fibonacci)数列
  • 12-2 河内塔算法
  • 12-2-1 了解河内塔问题
  • 12-2-2 手动实践河内塔问题
  • 12-2-3 Python程序实践河内塔问题
  • 12-3 八皇后算法
  • 12-3-1 了解八皇后的题目
  • 12-3-2 回溯算法与八皇后
  • 12-3-3 递归的解法
  • 12-4 分形与VLSI设计算法
  • 12-4-1 算法基本概念
  • 12-4-2 Python程序实例
  • 12-5 习题
  • 第13章 图形理论
  • 13-1 图形的基本概念
  • 13-1-1 基本概念
  • 13-1-2 生活实例的概念扩展
  • 13-1-3 加权图形(weighted graph)
  • 13-1-4 有向图形(directed graph)
  • 13-1-5 有向无环图(directed acycle graph)
  • 13-1-6 拓扑排序(topological sort)
  • 13-2 广度优先搜寻算法概念解说
  • 13-2-1 广度优先搜寻算法理论
  • 13-2-2 生活实务解说
  • 13-2-3 最短路径
  • 13-3 Python实践广度优先搜寻算法
  • 13-3-1 好用的collections模块的deque()
  • 13-3-2 广度优先搜寻算法实例
  • 13-3-3 广度优先算法拜访所有节点
  • 13-3-4 走迷宫
  • 13-4 深度优先搜寻算法概念解说
  • 13-4-1 深度优先搜寻算法理论
  • 13-4-2 深度优先搜寻算法实例
  • 13-5 习题
  • 第14章 图形理论之最短路径算法
  • 14-1 戴克斯特拉(Dijkstra's)算法
  • 14-1-1 最短路径与最快路径问题
  • 14-1-2 戴克斯特拉算法
  • 14-1-3 Python程序实例
  • 14-2 贝尔曼-福特(Bellman-Ford)算法
  • 14-3 A*算法
  • 14-4 习题
  • 第15章 贪婪算法
  • 15-1 选课分析
  • 15-1-1 问题分析
  • 15-1-2 算法分析
  • 15-1-3 Python程序实例
  • 15-2 背包问题:贪婪算法不是最完美的结果
  • 15-2-1 问题分析
  • 15-2-2 算法分析
  • 15-2-3 Python实例
  • 15-3 电台选择
  • 15-3-1 问题分析
  • 15-3-2 算法分析
  • 15-3-3 Python实例
  • 15-4 业务员旅行
  • 15-4-1 问题分析
  • 15-4-2 算法分析
  • 15-5 习题
  • 第16章 动态规划算法
  • 16-1 再谈背包问题:动态规划算法
  • 16-1-1 简单同时正确的算法但是耗时
  • 16-1-2 动态规划算法
  • 16-1-3 动态算法延伸探讨
  • 16-1-4 存放顺序也不影响结果
  • 16-1-5 Python程序实例
  • 16-2 旅游行程的安排
  • 16-2-1 旅游行程概念
  • 16-2-2 Python程序实例
  • 16-3 习题
  • 第17章 数据加密到信息安全算法
  • 17-1 数据安全与数据加密
  • 17-1-1 认识数据安全的专有名词
  • 17-1-2 加密
  • 17-2 摩斯密码(Morse code)
  • 17-3 凯撒密码
  • 17-4 再谈文件加密技术
  • 17-5 全天下只有你可以解的加密程序(你也可能无法解)
  • 17-6 哈希函数与SHA家族
  • 17-6-1 再谈哈希函数
  • 17-6-2 MD5(Message-Digest Algorithm)
  • 17-6-3 SHA家族
  • 17-7 密钥密码
  • 17-7-1 对称密钥密码
  • 17-7-2 公钥密码
  • 17-8 讯息鉴别码(message authentication code)
  • 17-9 数字签名(digital signature)
  • 17-10 数字证书(digital certificate)
  • 17-11 习题
  • 第18章 人工智能破冰之旅:KNN和K-means算法
  • 18-1 KNN算法:电影分类
  • 18-1-1 规划特征值
  • 18-1-2 将KNN算法应用在电影分类
  • 18-1-3 项目程序实例
  • 18-1-4 电影分类结论
  • 18-2 KNN算法:选举造势与销售烤香肠
  • 18-2-1 规划特征值表
  • 18-2-2 回归方法
  • 18-2-3 项目程序实例
  • 18-3 K-means算法
  • 18-3-1 算法基础
  • 18-3-2 程序实例
  • 18-4 习题
  • 第19章 常见职场面试算法
  • 19-1 质数测试
  • 19-2 回文算法
  • 19-3 欧几里得算法
  • 19-3-1 土地区块划分
  • 19-3-2 最大公约数(greatest common divisor)
  • 19-3-3 辗转相除法
  • 19-3-4 递归式函数设计处理欧几里得算法
  • 19-4 最小公倍数(least common multiple)
  • 19-5 鸡兔同笼问题
  • 19-6 挖金矿问题
  • 19-7 习题
  • 附录CD
展开全部

评分及书评

评分不足
1个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。