算法
文章平均质量分 96
FLUNGGG
1111
展开
-
快速排序(Quick Sort)
1.基本思想选定一个基准数,通过一趟排序将要排序的数据分割成独立的两部分,其中左部分的数据比基准数小,右部分的数据比基准数大,然后再按此方法先选取基准数,再对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。简单来讲就是:每次排序时选取一个基准数,将小于等于基准数的数全部放在基准数的左边,将大于等于基准点的数全部放在基准数的右边,待基准数归位,再继续拆分成两...原创 2019-10-09 13:50:40 · 381 阅读 · 0 评论 -
冒泡排序(Bubble Sort)
1.基本思想每次比较两个相邻元素,如果它们的顺序错误就把它们交换过来。每一轮只能确定将一个数归位(归位指的是已经归回到正确的顺序)。2.算法设计例如将99、25、12、18、76这五个数从小到大排序,那也就是说越大的数越靠后(关键话)首先比较第一位和第二位的大小,目前第一位是99,第二为25。发现25比99小,上面也说了越大的数越靠后,那么此时需要交换两个数的位置。得:25 99 1...原创 2019-10-09 13:48:52 · 338 阅读 · 0 评论 -
简单桶排序(Bucket Sort)
1.基本思想桶排序是将待排序集合中处于同一个值域的元素存放在同一个桶中1。2.算法设计假设有一个班级有5个人,这次期末他们分别考了5分,2分,4分,5分,8分(满分为10分)。需要将这些分数从小到大排序首先我们申请一个大小为11的数组int bucket[11]。在最开始的时候我们都把该数组的元素bucket[0]~bucket[10]都初始化为0,表示这些分数都还没有人得到过。例如b...原创 2019-10-09 13:43:55 · 404 阅读 · 0 评论 -
递归算法总结
概念递归算法递归算法是算法中最基础,入门级别的算法,简单理解:不停直接或间接调用自身函数,每次调用会改变一个或者多个变量,直到变量到达边界,结束调用。借用知乎上Memoria的回答:假设你在一个电影院,你想知道自己坐在哪一排,但是前面人很多,你懒得去数了,于是你问前一排的人「你坐在哪一排?」,这样前面的人 (代号 A) 回答你以后,你就知道自己在哪一排了——只要把 A 的答案加一,就是自己...原创 2020-01-08 10:04:59 · 8623 阅读 · 2 评论