java中的排序演算法——氣泡排序
氣泡排序
工作原理: 重複的訪問要排序的序列,一次比較兩個元素,如果他們的順序錯誤就把它們交換過來,重 復進行訪問,直到排序完成,越小的元素會經過不停的交換慢慢浮到序列的最上層。 即每輪迴圈把最大的數放在最後,與選擇排序的區別,無需記錄最大數的位置,一邊比較一邊交換位置。 Java程式碼如下:
輸出結果:
時間複雜度 冒泡N-1輪,每輪最長N-1次,最短1次,總共(N-1)+(N-2)+……+1:O(N^2) ,每次操作只有常數次比較和賦值,複雜度是O(N^2)。 穩定性 每次都比較相鄰的元素,只有前者比後者大才交換位置,是穩定排序。
相關推薦
java中的排序演算法——氣泡排序
氣泡排序 工作原理: 重複的訪問要排序的序列,一次比較兩個元素,如果他們的順序錯誤就把它們交換過來,重 復進行訪問,直到排序完成,越小的元素會經過不停的交換慢慢浮到序列的最上層。 即每輪迴圈把最大的數放在最後,與選擇排序的區別,無需記錄最大數的位置,一邊比較一邊
java排序演算法—氣泡排序
快速排序 氣泡排序的思想方法: 1.從無序序列頭部開始,進行兩兩比較,根據大小交換位置,直到最後將最大(小)的資料元素交換到了無序佇列的隊尾,從而成為有序序列的一部分; 2.下一次繼續這個過程,直到所有資料元素都排好序。演算法的核心在於每次通過兩兩比較交換位置,選出剩餘無序序列裡最大(小
Java中陣列的氣泡排序,氣泡排序優化
氣泡排序: 思路: int[] arr={3,4,2,6,1}; 1.第一次排序,從索引[0]開始,依次兩兩比較。索引[0]與[1]比,[1]與[2]比,[2]與[3]比…… if(arr[0]<arr[1]){
python中經典排序演算法----- 氣泡排序
lt = [1, 5, 7, 3, 2] # 氣泡排序:從小到大 # 第一輪:1 5 3 2 7 # 第二輪:1 3 2 5 7 n = len(lt) # 外層迴圈控制比較多少輪 for i in range(n-1): # 內層迴圈控制元素的比較 for
[排序演算法]--氣泡排序的三種實現(Java)
氣泡排序是非常好理解的,以從小到大排序為例,每一輪排序就找出未排序序列中最大值放在最後。 設陣列的長度為N: (1)比較前後相鄰的二個數據,如果前面資料大於後面的資料,就將這二個數據交換。 (2)這樣對陣列的第0個數據到N-1個數據進行一次遍歷後,最大的一個數據
java 排序演算法 氣泡排序
一般的氣泡排序會有重複的比較,所以需要對氣泡排序進行優化,優化後的氣泡排序 package shujujiegou; import java.util.Arrays; /** * 氣泡排序的優化演算法 * @author TomCat * */ pu
排序演算法----氣泡排序java
import java.util.Arrays; import java.util.Scanner; /** * Created by Admin on 2017/3/26. */ public class test02 { public static void BubbleSort(int[] n)
Java排序演算法-氣泡排序以及優化
繼上一篇博: 氣泡排序:如何理解: 兩個數比較大小,較大的數下沉,較小的數冒起來。 過程:比較相鄰的兩個資料,如果第二個數小,就交換位置。從後向前兩兩比較,一直到比較最前兩個資料。最終最小數被交換到起始的位置,這樣第一個最小數的位置就排好了。繼續重複上述過程,依次將第2.
常見演算法:C語言中的排序演算法--氣泡排序,選擇排序,希爾排序
氣泡排序(Bubble Sort,臺灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小
排序演算法--氣泡排序(bubble sort)
氣泡排序是一個簡單的排序演算法,演算法複雜度n的平方,特點是兩兩比較,每次遍歷會將最大值或最小值放在最後,像冒泡一樣,每次的最大值或最小值,逐漸冒出,故名氣泡排序; 程式碼如下 void swap( int& a,int& b) {//資料交換的函式,這裡另類了一點,沒有
經典排序演算法 - 氣泡排序Bubble Sort
最近學習了一下排序演算法,寫篇文章記錄一下,詳細講解網上有很多,可以自己去查 氣泡排序Bubble Sort 氣泡排序是通過兩兩比較,最大的往後移,重複這一過程直到資料不再交換,則排序完成。氣泡排序的時間複雜度是O(n²),是穩定排序。 演算法描述(Java):
排序演算法之氣泡排序(關鍵詞:資料結構/演算法/排序演算法/氣泡排序)
假定:有 1 個亂序的數列 nums ,其中有 n 個數。 要求:排好序之後是 從小到大 的順序。 氣泡排序演算法 程式碼 from swap import swap def bubble_sort(nums): n = len(nums) for i in rang
陣列的常見排序演算法--氣泡排序,選擇排序
陣列的排序演算法--氣泡排序,選擇排序 1.氣泡排序 基本思想 演算法實現 2.選擇排序演算法 基本思想 演算法實現 程式設計中,我們會經
小甲魚 排序演算法 氣泡排序
小甲魚 排序演算法 氣泡排序 氣泡排序 基本思想:兩兩相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止 (PS 反序:大在前,小在後) 下面的程式碼不是真正意義的氣泡排序(因為比較的不是相鄰) //BubbleSort氣泡排
排序演算法----氣泡排序
氣泡排序是一種簡單的排序演算法,演算法的原理如下: 1. 比較相鄰元素,如果第一個比第二個大,就交換他們兩者之間的順序 2. 對每一對相鄰元素作相同工作,從開始第一對到結尾最後一對,第一次完畢後,最後的元素就是最
經典排序演算法——氣泡排序演算法詳解
一、演算法基本思想 (1)基本思想 氣泡排序的基本思想就是:從無序序列頭部開始,進行兩兩比較,根據大小交換位置,直到最後將最大(小)的資料元素交換到了無序佇列的隊尾,從而成為有序序列的一部分;下一次繼續這個過程,直到所有資料元素都排好序。 演算法的核心在於每次通過兩兩比較交換位置,選
排序演算法---氣泡排序
參考網址:https://www.cnblogs.com/onepixel/articles/7674659.html 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直
排序演算法——氣泡排序
程式語言:JavaScript 演算法核心思想: 1.比較相鄰的元素,如果第一個比第二個大,就交換他們兩個 2.對每一對相鄰元素做同樣的工作 Array.prototype.bubbleSort = function () {
三個簡單、基本的排序演算法---氣泡排序 、選擇排序、插入排序
1.氣泡排序 public class BubbleSort { public static void sort(long[] arr){ long temp; for(int i=0;i<arr.length-1;i++){ for(int j=ar
簡單排序演算法———氣泡排序
public class BubbleSortTest { public static void main(String [] args){ int arr[] = {1,3,2,0}; int arrLowToHigh[] = {1,2,3,4}