
算法
文章平均质量分 73
qq_34341338
这个作者很懒,什么都没留下…
展开
-
排序之冒泡排序
1.算法由来越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。**图片来自极客时间王争老师的算法课程**2.算法原理(升序)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以...原创 2018-10-29 19:29:32 · 157 阅读 · 0 评论 -
排序之插入排序
前言平常过年回老家少不了和朋友长辈打打牌,最常见的就是摸牌时每个人排牌的方式了。不管怎么样吧,我个人每摸一张牌时总是在手中已有牌中找到合适的位置(从左到右,小到大)在放入咯。这就是我这篇文章要复习的排序方法之一,插入排序了。1.插入排序基本流程:插入排序是对少量元素进行排序的有效算法,其机理与很多人打牌时,整理手中牌时的做法差不多。开始摸牌时,我们的左手是空的,牌面朝下放在桌上,接着,一次从...原创 2018-10-31 22:10:37 · 141 阅读 · 0 评论 -
排序之快速排序
百度百科上找的快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。也称分治法。1.算法基本实现思路先从要排序的数...原创 2018-10-30 20:50:17 · 135 阅读 · 0 评论 -
排序之归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。1.基本思路数组划分到只有1个元素归并归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序...原创 2018-11-21 19:18:17 · 108 阅读 · 0 评论 -
求平方根之牛顿迭代法
牛顿迭代法牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。推导过程:代码实现: public static int mySqrt(int x) { if (x < 0) return (int) Double.NaN...原创 2019-06-24 15:11:34 · 391 阅读 · 0 评论