![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图解算法学习笔记
文章平均质量分 96
自动驾驶小学生
谢谢关注。代表作品:《Coursera自动驾驶课程24讲》:https://blog.csdn.net/cg129054036/category_10603636.html?spm=1001.2014.3001.5482
展开
-
图解算法学习笔记(四):快速排序
目录 1) 示例1: 2)快速排序 3) 再谈大O表示法 4)小结 本章内容:学习分而治之,快速排序 1) 示例1: 假设你是农场主,有一小块土地,你要将这块地均匀分成方块,且分出的方块尽可能大。如何分? 你要将这块地均匀分成方块,且分出的方块要尽可能大。显然,下面的分法不符合要求。 此时,你应该使用D&C策略(divide and conquer)。包括两步骤:...原创 2018-10-28 19:46:11 · 370 阅读 · 0 评论 -
图解算法学习笔记(八):贪婪算法
目录 (1)背包问题 (2)集合覆盖问题 (3)NP完全问题 (4)小结 本章内容: 学习如何处理没有快速算法的问题(NP完全问题)。 学习近似算法,使用它们找到NP问题的近似解。 学习贪婪策略。 (1)背包问题 假设你是个贪婪的小偷,背着可装35磅重东西的背包,在商场伺机盗窃各种可装入背包的商品。你力图往背包中装入价值最高的商品,你会使用哪种算法呢?你可使用贪婪策略:先盗窃可装...原创 2018-11-04 17:04:31 · 1059 阅读 · 0 评论 -
图解算法学习笔记(七):狄克斯特拉算法
目录 1)使用狄克斯特拉算法 2)术语 3)实现 4)小结 本章内容; 介绍加权图,提高或降低某些边的权重; 介绍狄克斯特拉算法,找出加权图中前往X的最短路径; 介绍图中的环,它导致狄克斯特拉算法不管用; 在上一篇博客中,我们找到了从A到B的路径,这是最短路径,只有三段,但不一定是最短路径。 广度优先搜索可以找出段数最少的路径,但如果...原创 2018-10-30 19:39:57 · 779 阅读 · 0 评论 -
图解算法学习笔记(六):广度优先搜索
目录 1)图简介 2)图是什么 3)广度优先搜索 4)实现图 5)实现算法 6)小结 本章内容; 学习使用新的数据结构图来建立网络模型; 学习广度优先搜索; 学习有向图和无向图; 学习拓扑排序,这种排序算法指出了节点之间的依赖关系。 1)图简介 假设你住在旧金山,要从双子峰前往金门大桥。你想乘公交车前往,并希望换乘最少...原创 2018-10-29 21:32:38 · 2095 阅读 · 0 评论 -
图解算法学习笔记(五):散列表
目录 1)示例1: 2)散列函数 3)应用案例 4)冲突 5)性能 6)小结 本章内容: 学习散列表,最有用的数据结构之一。 学习散列表的内部机制:实现、冲突和散列函数。 1)示例1: 假设你在一家杂货店上班,有顾客来买东西时,你得在本子中查找价格。第一章介绍的简单查找,需要O(n)时间,如果你使用的是二分查找,时间为O(log n)。 二分...原创 2018-10-29 20:24:33 · 331 阅读 · 0 评论 -
图解算法学习笔记(二): 选择排序
目录 1)数组和链表: 2)选择排序算法: 3)小结 本章内容: 两种基本数据结构:数组和链表; 选择排序算法; 1)数组和链表: 数组是连续的内存单元,链表可以不连续; 链表存储单元如图所示,每一个元素都含有下一个元素的地址,就像玩藏宝地图一样,每次只需要找到下一个元素的位置即可访问。 2)选择排序算法: 例子:假设你的计算机存储了很多乐曲。对于...原创 2018-10-21 17:16:49 · 263 阅读 · 0 评论 -
图解算法学习笔记(一): 算法简介
本章内容: 编写第一种查找算法——二分查找。 学习如何谈论算法的运行时间——大O表示法。 1) 算法是一组完成任务的指令,任何代码片段都可视为算法。 2)二分查找:一种查找算法,其输入是一个有序的元素列表。 Python实现二分查找代码: #二分查找算法函数 def binary_search(list, item): low = 0 high = le...原创 2018-10-21 17:06:32 · 482 阅读 · 0 评论 -
图解算法学习笔记(目录)
今天遇到一本好书,如下,书很薄,不到200页,有将近400张图片,算法介绍的很有趣。这也是我读的第三本袁国忠先生翻译的书,向两位致敬。 目录大致如下; 第1章:二分查找和大O表示法; 第2章:数组和链表; 第3章:递归; 问题解决技巧:快速排序(4)、动态规划(9)、贪婪算法(8); 第5章:散列表(用途很广); 图算法:广度优先搜索(6)、狄克斯特拉算法(7) 第10章:KNN...原创 2018-10-21 17:02:36 · 597 阅读 · 0 评论 -
图解算法学习笔记(三):递归
本章内容: 学习递归;如何将问题分解成基线条件和递归条件。 1) 每个递归函数都有两部分:基线条件(base case)和递归条件(recursive base)。例如:打印3...2...1 def countdown(i): print(i) if i <= 0: return else: countdown(...原创 2018-10-25 16:14:48 · 310 阅读 · 0 评论 -
图解算法学习笔记(九):动态规划
目录 (1)背包问题 (2)最长公共子串 (3)小结 本章内容: 学习动态规划,它将问题分成小问题,并先着手解决这些小问题。 学习如何设计问题的动态规划解决方案。 (1)背包问题 我们再看第八章的背包问题,假设你是个小偷,为了让盗窃的商品价值最高,你该选择哪些商品?最简单的算法如下:尝试各种可能的商品组合,并找出价值最高的组合。 这样可行,但速度非常慢!每增加一件商品,需要计算...原创 2018-11-05 16:33:05 · 503 阅读 · 1 评论