分治法
文章平均质量分 83
分治法
Androids_lost_Sheep
苟有恒,何必三更眠五更起。最无益,莫过一日曝十日寒。
展开
-
分治法
分治法不是一种特特定的算法,是一种算法思想。人们在遇到一些直接解决难以解决的大问题时,会将其分解为多个规模较小的子问题,各个解决,分而治之。 最常见的分治法算法就是快速排序和归并排序。 能用到分治法的题目需要符合两个特征: 1. 有重复子问题 即可将一个问题分为两个相同的子问题。 比如二分法。 2. 独立子问题 每个子问题之间相互独立互不干扰。 (动态...原创 2020-01-05 15:38:58 · 1389 阅读 · 0 评论 -
排序(二):归并排序
目录 1.什么是归并排序? 2. 和选择排序,冒泡排序等的暴力排序的区别在哪里,为什么快? 3. 代码实现归并排序 了解其他常用算法点这里 >>https://blog.csdn.net/GD_ONE/article/details/104061907 归并排序是分治法思想的实例,学习完归并排序后会更加理解分治法思想和递归思想。 什么是归并排序? 和选择排序,冒泡排序...原创 2020-01-05 15:03:36 · 3265 阅读 · 2 评论 -
排序(一):快速排序
快速排序 推荐去看个视频:https://www.bilibili.com/video/av38482542 虽然java和c++有现成的sort函数,java用Arrays.sort,C++用sort,但是,我们也要了解其原理,要能熟练的写出模板。 快排和归并排序一样都是分治法思想。 快速排序的主要思想: 从序列中取一个基准值,然后将序列分为左右两部分, 使得左边的数都比基准值小,右......原创 2019-11-10 00:02:31 · 4598 阅读 · 1 评论