算法
薛瑄
大道至简
展开
-
排序算法之六 —— 快速排序算法
说来感到惭愧,昨天看别人的博客上面一一讲了一些算法,其实这些算法在大学都学过,不过几乎全部忘记了。虽然现在做java上层开发基本上用不到算法,但是还是感觉算法是一种思想,是一种灵魂,所以又不仅翻开了严蔚敏老师的数据结构,一个一个把以前忘记的算法实现一遍。 快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一转载 2014-09-11 18:43:44 · 870 阅读 · 0 评论 -
CRC查表法——表的由来及Java实现CRC8校验算法
参考:http://www.xjtudll.cn/Exp/273/大概思路我先说一下查表法,表的计算方法,以CRC4为例:生成多项式:B = 10011B测试数据:A = 0011 1110B1、查表法实际上是利用XOR的交换律和结合律:(A XOR B)XOR C=A XOR (B XOR C)2、将测试数据A 每4bit分为一组,0011 0000B 和 1110B先计算出0011 00原创 2016-06-20 11:48:43 · 15712 阅读 · 1 评论 -
排序算法之五——归并排序
http://blog.csdn.net/morewindows/article/details/6678165 https://zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序转载 2016-06-06 10:46:46 · 668 阅读 · 0 评论 -
排序算法之四 —— 直接选择排序及交换二个数据的正确实现
http://blog.csdn.net/morewindows/article/details/6671824直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。设数组为a[0…n-1]。初始时,数组全为无序区为a[0..n-1]。令i=0在转载 2016-06-06 09:53:40 · 789 阅读 · 0 评论 -
排序算法值三 —— 希尔排序
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位算法实现:希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置转载 2016-06-03 15:45:43 · 693 阅读 · 0 评论 -
排序算法之一 —— 冒泡排序的三种实现
转载:http://blog.csdn.net/morewindows/article/details/6657829冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的数据a[j-1] 和a[j],如果a[j-1]>a[j],就交换数据a[j]= a[j-1]。2.对数组的a[0]~a[N-1],N个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置,即a转载 2016-06-03 11:05:55 · 814 阅读 · 0 评论 -
最小公倍数、最大公约数的算法和辗转相除法
https://zh.wikipedia.org/wiki/%E8%BC%BE%E8%BD%89%E7%9B%B8%E9%99%A4%E6%B3%95http://blog.csdn.net/iwm_next/article/details/7450424http://zhidao.baidu.com/question/8557035.html求最小公倍数算法:最小公倍数:数论中的一种概念,两个整数转载 2016-05-20 16:54:21 · 2672 阅读 · 0 评论 -
排序算法之二 —— 插入排序两种实现思想
http://blog.csdn.net/morewindows/article/details/6665714 https://zh.wikipedia.org/wiki/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相转载 2016-06-03 14:44:49 · 669 阅读 · 0 评论