算法
文章平均质量分 66
浅醉兮
这个作者很懒,什么都没留下…
展开
-
排序算法——快速排序
一、思想方法 参考《算法导论第三版》,快速排序在算法中具有重要地位,在排序算法中应用极为广泛,各大语言的库中实现排序基本都是基于快速排序实现的。对一串无序数列,我们取最后一个数作为基数(不是唯一标准),从左至右扫描,每扫描到比基数小的数就把他往前移动至上一个被左移的数之后,这样扫描一遍后再把最后的基数和比基数大的第一个数交换位置,该数列就会形成比基数小的和比基数大的两部分,对两部分都...原创 2018-06-13 19:18:41 · 211 阅读 · 0 评论 -
排序算法——插入排序
一、算法思想 参考《算法导论第三版》,插入排序对于少量元素的排序是一个有效的算法。其思想比较简单,就像我们打扑克接牌一样。其大致过程为:从第二个元素开始与其前面的元素进行比较,找到它应该在的位置后把该值插入其中,然后从下一个元素开始重复操作,以此类推,向后遍历一遍便可以得到一组有序数列。二、代码实现#include<iostream> using namespace st...原创 2018-06-13 20:11:06 · 466 阅读 · 0 评论 -
排序算法——归并排序
一、算法思想 归并排序用了分治的思想,把待排序的序列分割成两个数去比较大小,然后再合并排序后的序列得到总的有序序列。二、代码实现#include<iostream> using namespace std; int a[1000000]; int b[1000000]; int c[1000000]; int n; void mergerarray(int first,in...原创 2018-06-22 18:40:13 · 185 阅读 · 0 评论 -
排序算法——堆排序
一、算法思想 堆排序是一种应用大(小)顶堆的特性来排序的算法。排序过程主要有三步: 1. 建大(小)顶堆:每往数组中输入一个值,便向前遍历一遍并分别与其父节点比较并调整,当数据输入完成后堆也就建 好了。 ...原创 2018-06-15 11:45:15 · 177 阅读 · 0 评论