内容推荐 算法是程序设计的灵魂,它能够告诉开发者在面对一个项目功能时用什么思路去实现,更是开发者水平的重要体现。本书循序渐进、由浅入深地详细讲解了算法实现的核心技术,全书分别讲解了对算法思想的初步认识、枚举算法思想、递归算法思想、分治算法思想、贪心算法思想、试探算法思想、迭代算法思想、查找算法、排序算法,并使用算法解决数据结构问题和数学问题,最后总结了经典算法问题和人工智能算法。全书通过具体实例的实现过程演示了各个知识点的具体使用流程,引领读者全面掌握算法的核心技术。 目录 第1章 初步认识算法思想 1.1 什么是算法 1.1.1 由一道趣味题引出算法的定义 1.1.2 总结算法的特征 1.2 算法是程序的灵魂 1.3 算法的表示方法 1.3.1 用流程图表示算法 1.3.2 用N-S流程图表示算法 1.4 Python算法思想 1.4.1 常用的算法思想 1.4.2 算法优劣衡量标准:算法复杂度 1.4.3 时间复杂度与空间复杂度的取舍问题 第2章 枚举算法思想 2.1 Python中的枚举算法 2.2 算法演练:找出符合条件的五位数 2.2.1 算法分析:首位数不能是谁 2.2.2 具体实现 2.3 算法演练:24点游戏 2.3.1 算法分析:加括号和去除重复表达式 2.3.2 具体实现 2.4 算法演练;解决熄灯问题 2.4.1 算法分析:规则中的规律 2.4.2 具体实现 2.5 算法演练:解决旅行销售员问题 2.5.1 问题介绍 2.5.2 算法分析 2.5.3 具体实现 第3章 递归算法思想 3.1 递归算法思想基础 3.2 算法演练:解决“斐波那契数列”问题 3.2.1 算法分析:找出兔子增加的规律 3.2.2 具体实现 3.3 算法演练:阶乘问题 3.3.1 算法分析:拆分调用 3.3.2 具体实现:显示6以内整数的阶乘过程 3.4 算法演练:进制转换器 3.4.1 算法分析:除以2获取余数 3.4.2 具体实现;输出十进制数字10对应的二进制数 3.5 算法演练;解决二叉树遍历问题 3.5.1 算法分析:实现三种遍历方式 3.5.2 实现树的结构 3.5.3 递归遍历方案 3.6 算法演练:;图像分割问题 3.6.1 问题介绍 3.6.2 算法分析 3.6.3 具体实现 第4章 分治算法思想 4.1 分治算法思想基础 4.2 算法演练:二分法找出有序列表指定值 4.2.1 算法分析:确定中位数 4.2.2 实现方案:先判断再查询 4.3 算法演练:求顺序表中数据最大值 4.3.1 算法分析:找出每一个分组中的最大值 4.3.2 具体实现:找出给定列表list中的最大值 4.4 算法演练:找出一组序列中第k小(大)的元素 4.4.1 算法分析:设置枢纽元素 4.4.2 具体实现;找出第k小的元素 4.5 算法演练:实现归并排序 4.5.1 算法分析:中间下标与值大小分配 4.5.2 具体实现:对列表[1,6,12,3,8]进行归并排序 4.6 算法演练:整数划分 4.6.1 算法分析:梳理递归关系 4.6.2 具体实现:计算整数6的最大加数是2时的划分数量 第5章 贪心算法思想 5.1 贪心算法思想基础 5.1.1 贪心算法的特点和基本思路 5.1.2 贪心算法的基本思路 5.2 算法演练:解决“汽车加油”问题 5.2.1 算法分析:先加油后贪心 5.2.2 具体实现 5.3 算法演练:求最大子元素之和 5.3.1 算法分析:确定目前子元素的和是否最大 …… 第6章 回溯算法思想 第7章 迭代算法思想 第8章 查找算法 第9章 排序算法 第10章 使用算法解决数据结构问题 第11章 使用算法解决常见数学问题 第12章 经典算法问题 第13章 人工智能算法 |