随笔分类 -  算法(Algorithm)

摘要:快速排序 归并是先一步步分到最小块,再归并归并归并归并 快排是排序俩侧,切分,排序俩侧,切分.......直到最小块就排完了 切分元素 j:先随意的选取a[lo]作为切分元素,然后从数组左端向左扫描找到一个大于等于a[lo]的数组,从数组右端扫描找到一个小于等于a[lo]的数组,然后交换这俩数组,如 阅读全文
posted @ 2018-11-24 12:21 黄骏捷的博客 阅读(150) 评论(0) 推荐(0)
摘要:归并排序 即将两个数组归并成一个更大的有序数组,可以先递归将它分成两半排序,再将结果归并起来 原地归并 实现归并的一种直截了当的方法是将俩个不同的有序数组归并到第3个数组中,将一个大数组排序时,我们需要进行很多次归并,因此每次归并都创建一个新数组来储存结果会带来问题,使用原地归并的方法,先将前半部分 阅读全文
posted @ 2018-11-12 23:05 黄骏捷的博客 阅读(199) 评论(0) 推荐(0)
摘要:希尔排序(java) 交换不相邻的元素以对数组的局部进行排序,使数组中任意相隔为h的元素都是有序的 希尔排序完整(c/c++) 可过洛谷p1177【模板】快速排序 阅读全文
posted @ 2018-11-10 23:17 黄骏捷的博客 阅读(239) 评论(0) 推荐(0)
摘要:插入排序(java) 将一个数插入到有序的一些数中的适当位置 阅读全文
posted @ 2018-11-09 23:07 黄骏捷的博客 阅读(155) 评论(0) 推荐(0)
摘要:选择排序(java) 首先找到数组中最小的那个元素,其次将它和数组的第一个元素交换位置,再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置,如此反复,直到将整个数组排序 选择排序(c/c++) 排序类算法模板 阅读全文
posted @ 2018-11-09 14:58 黄骏捷的博客 阅读(235) 评论(0) 推荐(0)