插入排序:
/**
* 插入排序
* 初始時,拿第二個和第乙個比較,如果第二個小於第乙個,兩個交換
* 當進行到第n次時,前面的n-1個順序應該是正確的
* 拿第n個和前面的n-1個數比較,如果第m個小於n,m+1大於n,則把n插到m和m+1中間
* 相當於將n和前乙個數比較,如果前乙個數大於n,則把前乙個移動到n的位置上,內層的每個迴圈都是將大於n的數字在向後移以為,也就相當於是將n插在兩個之間。
* * 時間複雜度:n+(n-1)+(n-2)+...+1 = (n+1)n/2=n^2 o(n^2) 空間複雜度:o(1) 穩定
* @title: insertionsort
* @author: wanglh3
* @description: todo
* @param numbers
* @return void
*/
public static void insertionsort(int numbers)
}system.out.println(j+"----"+temp);
numbers[j+1] = temp;
} }
二分排序演算法應該是插入排序的優化演算法,插入時不從一端查詢,而是從中間開始查詢。
氣泡排序
/**
* 氣泡排序
* 從後往前,先把最小的移到第一位,然後迴圈,把次小的移到第二位
* 氣泡排序法的改進:
* 1.設定乙個標誌變數,如果某一次排序中,沒有進行交換,就可以停止排序
* 2.設定乙個記錄,標誌某位之後都已經進行排序,之後排序時,無需對之後的元素進行比較
* 3.正向逆向同時排序
* * 時間複雜度:o(n^2) 空間複雜度o(1) 穩定
* @title: bubblesort
* @author: wanglh3
* @description: todo
* @param numbers
* @return void
*/public static void bubblesort(int numbers)
}} }
選擇排序
/**
* 選擇排序
* 從未排序的數中,選出最小的,與未排序的第乙個數值交換
* 改進方法:二元選擇排序
* 每次迴圈選出最大的和最小的,最小的和前面的交換,最大的和後面的交換
* 時間複雜度:o(n^2) 空間複雜度o(1) 不穩定
* @title: selectionsort
* @author: wanglh3
* @description: todo
* @param numbers
* @return void
*/public static void selectionsort(int numbers)
public static void _quicksort(int numbers,int low,int high)
} //
public static int partition(int numbers,int low,int high)
numbers[low] = numbers[high];
while(low < high && numbers[low] <= privotkey)
numbers[high]=numbers[low];
system.out.println();
} numbers[low] = privotkey;
return low;
} //------------快排end----------------
Frameworks 不定時更新
ios4.0引入了accelerate框架,該框架的介面可用於執行數學 大數字以及dsp運算。和開發者個人編寫的庫相比,該礦建的優點在於它根據現存的各種ios裝置的硬體配置進行過優化。因此,只需一次編碼就可以確保它所有裝置高效執行。accounts 框架給某乙個使用者賬戶提供乙個單一的登入模型。單一...
JDBC總結(不定時更新)
那些名詞 jdbc配置 註冊驅動器類 解壓jar包可以找到driver.class其路徑即是名字 法一 class.forname com.mysql.jdbc.driver 法二 system.setproperty jdbc.drivers com.mysql.jdbc.driver mysql...
Linux指令(不定時更新)
以下是我在操作過程中用到的一些指令及其用法。1 ls指令,用於列出當前目錄的檔案 通過新增 l引數可以使檔案以詳情模式列出 通過新增 a引數可以將包含隱藏檔案在內的全部檔案列出。用法 ls l 2 lsblk指令 除了ram之外,以標準樹狀格式輸出檔案 常用於了解新插入的usb裝置名字 可以通過新增...