算法
文章平均质量分 75
雨落千木
我是一个爱好编程的菜鸟!
展开
-
排序算法java实现冒泡排序
public class BubbleSort { //冒泡排序 //基本思想:两个数比较大小,较大的数下沉,较小的数冒起来 //过程:1.比较相邻的两个数,如果第二个数小就交换位置 //2.从后向前两两比较,一直到比较最前面的两个数据。最终最小数被交换到起始的位置, //这样第一个最小数的位置就排好了 //继续重复上述过程,依次将第2,3,...n-1个最小数排好位置 //...原创 2016-02-01 17:16:20 · 100 阅读 · 0 评论 -
排序算法java实现选择排序
public class SelectionSort { //选择排序 //基本思想: //在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换 //第二次遍历n-2个数,找到最小的数值与第二个元素交换, //... //第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。 //平均时间复杂度为:O(n^2) public s...2016-02-01 17:17:10 · 130 阅读 · 0 评论 -
排序算法java实现插入排序
public class InsertSort { //插入排序 //基本思想: //在要排序的一组数中,假定前n-1个数已经排好序, //现在将第n个数插到前面的有序数列中,使得这n个数也是排好序的。 //如此反复循环,直到全部排好序。 过程: //平均时间复杂度:O(n^2) public static void main(String[] args) { ...原创 2016-02-02 09:04:31 · 149 阅读 · 0 评论 -
排序算法java实现希尔排序
public class ShellSort { //希尔排序: //基本思想: //在要排序的一组数中,根据某一增量分为若干子序列,并对子序列分别进行插入排序。 //然后逐渐将增量减小,重复上述过程。 //直至增量为1,此时数据序列基本有序,最后进行插入排序。 //过程 //平均时间复杂度:O(n^1.5) public static void main(S...原创 2016-02-02 09:04:40 · 130 阅读 · 0 评论 -
排序算法java实现快速排序
public class QuickSort { //快速排序: //基本思想:(分治) //先从数组中取出一个数作为key值; //将比这个数小的数全部放在它的左边, //大于或等于它的数全部放在它的右边, //对左右两个小数组重复上述步骤,直到各个区间只有1个数 //辅助理解:(挖坑填数) //初始时:i=0;j=8;key=6 //由于已经将a[0]中的数保存...2016-02-02 10:45:22 · 171 阅读 · 0 评论 -
排序算法java实现归并排序
public class MergeSort { //归并排序 //基本思想:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。 //首先考虑下如何将两个有序数列合并: //比较两个数列的第一个数,谁小就先去谁,取了后就在对应数列中删除这个数,然后再进行比较, //如果数列为空,那么将另一个数列的数据依次取出即可。 //解决了两个数...2016-02-02 11:24:58 · 85 阅读 · 0 评论 -
对String str=“234561121”排序
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class SortTest { public static void main(String[] args) { String str ...原创 2016-02-24 15:10:34 · 148 阅读 · 0 评论 -
排序算法java实现堆排序
public class HeapSort { //堆排序: //基本思想: //首先要了解堆这种数据结构: //堆是实质上是一个满足如下条件的完全二叉树:树中任意非叶节点的关键字均不大于(或不小于)其左右孩子节点的关键字,即: //给定关键字数列:T1,T2,...,Tn, //当且仅当数列满足如下性质:(1)Ti<=T2i且Ti<=T2i+1或者(2)Ti&g...原创 2016-02-24 15:10:49 · 109 阅读 · 0 评论