
算法学习
文章平均质量分 68
在刷力扣的时候从C进化到C++,在编程过程中自己缺少算法的框架思想,决定先进行关于算法的系统练习
Neepu_G.job
力扣ID:LeetCoder_OtTo
只要没更blog,要么就是被力扣折磨,要么就是在外面疯玩,没有别的可能。
展开
-
AlgarithmLearning_Day3.1 (《算法笔记》第四章 入门篇(2)算法初步)
昨天整理到了全排列,之后书籍马上就对全排列进行了“实例化”,给了一个“n皇后问题”。即一个n*n的棋盘中放着n个皇后棋子,要求皇后与皇后彼此之间行列不可相等,也不能在同一条对角线上。 表面看可能和全排列有点关系,仔细一思考,这就是全排列啊,一点差没有,除了可以根据实际问题剪枝优化外就没什么差别了,不过代码真的是值得借鉴的,思维的转化也非常重要。 如果把N列皇后所在的行号依次写出,那就是1~n的一个排列。而每一列都有不同的行号。我们以每一列为基准进行循环,这样排列数目就不再是全枚举量,只需要 ( n!) 次原创 2021-04-25 20:59:58 · 126 阅读 · 0 评论 -
AlgarithmLearning_Day2.1 (《算法笔记》第四章 入门篇(2)算法初步)
4.3 递归 4.3.1 分治(divide and conquer): 分治法将原问题划分成若干个规模较小而结构与原问题相似的子问题,然后分别解决这些子问题,最后合并子问题的解,即可得到原问题的解。 分治大体上有三步走:分解、解决、合并(这个方法貌似我一直都有在用,只不过用在了不对的地方,把简单的问题复杂化了,不能怪分治,怪就怪我的变成思想有问题) 4.3.2 递归:“要理解递归,你要先理解递归,直到你能理解递归”——一个笑话。 总之,递归很适合用来实现分治思想。 递归的逻辑中有两个核心概念:递归边界,.原创 2021-04-24 21:23:43 · 109 阅读 · 0 评论 -
AlgarithmLearning_Day1.2 (《算法笔记》第四章 入门篇(2)算法初步)
啊啊啊原创 2021-04-23 21:04:49 · 166 阅读 · 0 评论 -
AlgarithmLearning_Day1:比较算法的对比————(太长了,先更新到Shell Sort)
原文:click Stable & Not Stable 稳定排序算法会将相等的元素值维持其相对次序。如果一个排序算法是稳定的,当有两个有相等元素值 R 和 S ,且在原本的列表中R出现在 S 之前,那么在排序过的列表中 R 也将会是在 S 之前。 O(n2) 与 O(n*logn) 的比较 冒泡排序(Bubble Sort) 重复比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素: 1、比较相邻的元素,如果后者比较大,则交换两个元素 2、对每一对相邻元素作同样的原创 2021-04-23 17:15:54 · 155 阅读 · 0 评论