黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java算法學習視頻之常見的算法有哪些

Java算法學習視頻之常見的算法有哪些

更新時間:2020-09-08 15:18:41 來源:動力節點 瀏覽2590次

編程語言的幾種基本算法主要有以下幾個:

1、插入排序(直接插入排序、希爾排序)

2、交換排序(冒泡排序、快速排序)

3、選擇排序(直接選擇排序、堆排序)

4、歸并排序

5、分配排序(箱排序、基數排序)

按照條件來使用排序算法:

所需輔助空間最多:歸并排序

所需輔助空間最少:堆排序

平均速度最快:快速排序

不穩定:快速排序、希爾排序、堆排序

選擇排序算法的時候:

1、數據的規模

2、數據的類型

3、數據已有的順序

一般來說,當數據規模較小時,應該直接插入排序或冒泡排序。任何排序算法在數據量小時基本體現不出來差距。考慮數據的類型,比如如果全部是正整數,那么考慮使用桶排序最優。考慮數據已有順序,快速排序是一種不穩定的排序(可以改進),對于大部分排好的數據,快速排序會浪費大量不必要的步驟。數據量極小,而且已經基本排好序,冒泡是最佳選擇。我們說快速排序好,是指大量隨機數據下,快速排序效果最理想。而不是所有情況。

一、插入排序

1、直接插入排序

講一個記錄插入到已經排好序的有序表中。

①sorted數組的第0個位置沒有放數據

②從sorted第二個數據開始處理;如果該數據比它前面的數據要小,說明該數據要往前面移動。

步驟:

a.首先將數據備份放到sorted的第0個位置當哨兵

b.然后將該數據前面那個數據后移

c.然后往前搜索,找到插入位置

d.找到插入位置之后講,第0個位置的那個數據插入對應位置。

時間復雜度:O(nn),當待排記錄序列為正序時,時間復雜度提高至O(n)

Java算法學習視頻之常見的算法有哪些

直接插入排序例子java語言實現

public?class?InsertionSort?{
	
	//插入排序:?直接插入排序,?希爾排序
	public?static?void?straighInsertionSort(double[]?sorted){
		int?length?=?sorted.length;
		for(int?i=2;?i=0;?j--){
					if(sorted[j]?>?sorted[0]){
						sorted[j+1]?=?sorted[j];??//后移一位
					}else{
						insert?=?j+1;??//插入的位置
						break;
					}
				}
				sorted[insert]?=?sorted[0];
			}
		}
	}
	
	public?static?void?main(String[]?args)?{
		Random?random?=?new?Random(6);
		int?arraySize?=?21;
		double[]?sorted?=?new?double[arraySize];
		
		System.out.println("排序前:");
		for(int?i=1;i

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲国产99 | 久久久亚洲欧洲日产国码二区 | 韩国伦理片免费在线观看 | 欧美日韩精品在线播放 | 久久综合九色综合欧美就去吻 | 黄免费在线 | 又爽又黄又无遮挡的视频在线观看 | 深夜福利网站在线 | 成人福利网站在线看视频 | 国产女女互摸互慰在线观看 | 日本大黄视频 | 亚洲男女在线 | 亚洲精品欧美在线 | 日批免费观看 | 免费在线看污视频 | 九九视频在线看精品 | 黄色网址视频在线播放 | 日本免费黄色网 | 中国大陆高清aⅴ毛片 | 午夜影院一级片 | 成人动漫在线观看视频 | 欧美精品h在线播放 | 狠狠色婷婷丁香六月 | 日韩一区二区三区在线观看 | 日韩视频亚洲 | 日本在线观 | h网站免费看 | 日批视频免费播放 | 视频午夜 | 91导航福利 | 欧美第五页 | 国产成人综合久久亚洲精品 | 多人伦交性欧美在线观看 | 久久成人午夜 | 热热色视频 | 美尻在线 | 国产欧美乱码在线看 | 亚洲五月激情综合图片区 | 一本久道久久综合中文字幕 | 欧美性天天影院欧美狂野 | 国产精品特黄一级国产大片 |