【羊卓的杨的算法笔记】_Quentin
sdguy_nobody
未来现实主义
展开
-
0x3f3f3f3f_《羊卓的杨的算法笔记》_Quentin
为什么要用0x3f3f3f3f? 我们有时需要取一个无穷大,但是我们该取什么值呢? 首先可以取int的最大值0x7fffffff,但是这个数只能用来进行大小比较。因为如果我们想正常进行运算,使用0x7fffffff无疑会带来越界,那这个时候就要考虑换一个数。不知是何方神圣想到了一个巧数0x3f3f3f3f,这个数好在哪呢? 首先,0x3f3f3f3f和0x7ffff原创 2020-10-30 19:51:55 · 489 阅读 · 0 评论 -
floyd算法图文详解(全)_《羊卓的杨的算法笔记》_Quentin
floyd算法一.floyd算法是什么? floyd算法就是用来求图中任意两点最短路径的,这里举一个例子,如何求下图中任意两点间的最短路径呢? 我们用一个二维数组e[i] [j]来存储上面这个图所表示的意义。这里规定一个顶点到自己的值是0,顶点之间无法到达的值是∞。 这里我们要想一下,如何获得两点之间的最短距离呢?只能在这两个点中间再插入一个新的顶点使得缩短原原创 2020-06-20 22:01:09 · 10894 阅读 · 2 评论 -
排序_《yzdy的算法笔记》
排序算法原创 2020-06-18 21:33:10 · 196 阅读 · 1 评论 -
快速排序_《羊卓的杨的算法笔记》_Quentin
快速排序快速排序是什么?选一个基准点,把小于基准点的放在基准点左边大于基准点的放在基准点右边,这样就找到了基准点的最终位置。然后对基准点左右继续执行如上操作,直到全部有序。快速排序的详细解释可以参考书《啊哈!算法》,本书的电子版可以在“羊卓的杨”公众号回复“啊哈”获得。 公众号二维码在下方~,个人非常建议去看《啊哈!算法》中的讲解,运用了漫画和通俗易懂的语言,非常好理解。快速排序图示:快速排序的复杂度:O(nlogn)如果画一个树来表示快速排序的过程,数每层的遍历n个数,这棵树一共有log2原创 2020-06-18 21:24:47 · 182 阅读 · 0 评论 -
选择排序_《羊卓的杨的算法笔记》_Quentin
的原创 2020-06-18 20:51:57 · 184 阅读 · 0 评论 -
冒泡排序_《羊卓的杨的算法笔记》_Quentin
冒泡排序冒泡排序是什么? 每次从开头比较相邻的两个元素,如果后面的数比前面的数大那就交换两数。(升序)因为一些元素慢慢被换到最后,就像是在冒泡,也就称为冒泡排序了。冒泡排序的复杂度: O(n^2)。每次遍历要进行n-1次比较,这样的比较要进行n-1次,所以时间复杂度就是O(n ^2)了。冒泡排序的稳定性:如果两个相等的数相邻,那么它们两个不会进行互换,所以冒泡排序是稳定的排序算法冒泡排序代码示例:#原创 2020-06-18 20:44:02 · 192 阅读 · 0 评论 -
空间复杂度_《羊卓的杨的算法笔记》_Quentin
空间复杂度空间复杂度是什么? 就是算法消耗的最大数据空间。也可以理解为数据定义的次数、个数。也可理解为程序从开始到结束一共要消占用的空间。空间复杂度的实例: 1.O(1),也就是说随着n的增大,并没有新定义,并没有新的数据:int sum = 0;for(int i=0; i<n; i++){ sum += i;} 2.O(n),随着n的增大会有原创 2020-06-08 13:19:23 · 179 阅读 · 0 评论 -
时间复杂度_《羊卓的杨的算法笔记》_Quentin
时间复杂度时间复杂度是什么? 可以理解为程序中的基本操作要执行的次数,而并非是真正以时间为单位的量,一般用默认是最坏情况下程序要执行的次数。时间复杂度用O(……)来表示。时间复杂度的分类: O(1)常数型、O(n²)平方型、O(n³)立方型、O(log n)对数型、O(n*log n) 、O(n)线型、O(2^ n)指数型 。时间复杂度的计算方法: 1.循环原创 2020-06-08 12:36:57 · 281 阅读 · 0 评论 -
《yzdy的算法笔记》
羊卓的杨的算法笔记说明: 我刚刚开始学习算法~,然后会把我学到的东西用博客记录下来,也就做出了这一个《羊卓的杨的算法笔记》专栏,欢迎广大网友斧正赐教。 每一篇算法博文以以下格式呈现: 1.算法概念 2.使用条件 原创 2020-06-08 12:36:26 · 523 阅读 · 1 评论