JAVA演算法的簡單了解 簡單排序演算法和冒泡演算法

2021-09-05 02:13:41 字數 1868 閱讀 1864

public

class

paixu

;int

arr1=

; duotai1.

selectionsort

(arr)

; duotai1.

maopao

(arr1)

; system.out.

println

(arrays.

tostring

(arr));

system.out.

println

(arrays.

tostring

(arr1));

}//選擇排序演算法

//int arr = ;array.length為6

public

void

selectionsort

(int

array)}}

}//i = 0, j = 1, 2≯34,然後j + 1,j = 2 2≯34,然後j + 2.。。。。。。。最後array[i = 0] 就為2,這裡進行了5次比較

// i=1,j=2,34>13,那麼 執行if中語句,arr[i=1]=13。然後j+1,j=3,13≯23,。。。。最後j+3,j=5,13>10,那麼進行if語句

// 最後arrary[i=1]就為10,這裡進行了4次比較

//依次類推,進行3次比較,2次比較,1次比較,最後排序好陣列順序。乙個進行了5+4+3+2+1=15次比較。

// 如果是intarr=new int[n]的陣列要排序順序,那就需要(n-1)+(n-2)+(n-3)+(n-4)。。。。。+1=(n²+1)/2次比較,

//因此簡單排序的時間複雜度為o(n²)。

//第一次排序之後:2, 34, 13, 23, 41, 10

//第二次排序之後:2, 10, 34, 23, 41, 13

//第三次排序之後 2, 10, 13, 34, 41, 23

//第四次排序之後:2, 10, 13, 23, 41, 34

//第五次排序之後:2, 10, 13, 23, 34, 41

//冒泡演算法

//int arr1 = ; array.length為7

public

void

maopao

(int

array)}}

}}//i=0,j=0,14>12,那麼array[j=0]為12,然後j+1,j=1,14>2,那麼array[j=1]為2,依次類推,這是i=0完成的排序12 2 4 14 18 1 24,進行了6次比較

//依次類推 第二次i=1時候 排完的順序為 2 4 12 14 1 18 24 進行了5次比較(注意這個判定條件j < array.length - i - 1)

//第三次 i =2時候 2 4 12 1 14 18 24 進行了4次

//第四次 i =3時候, 2 4 1 12 14 18 24 進行了3次

//第五次:2 1 4 12 14 18 24 進行了2次

//第六次:1 2 4 12 14 18 24 進行了1次

//這裡注意到在第三次除了數字1還沒有排序好之外,其他數字都排序完成,這是因為我寫的這個陣列將最小的數字放在了最後乙個,因此這樣的陣列(最小的在最後乙個)是氣泡排序最差的情況。

// 如果是intarr=new int[n]的陣列要排序順序,那也需要(n-1)+(n-2)+(n-3)+(n-4)。。。。。+1=(n²+1)/2次比較

//因此在最差情況下:冒泡演算法排序的時間複雜度也為o(n²)

//當然如果理想情況下,一次就可以排序完成的,這種情況下需要比較n-1次,這個時候的時間複雜度為o(n)。

java簡單排序

1 氣泡排序 把最小的資料乙個個往上冒,然後進行比較,排序。package ch02 public class bubblesort 接著對她進行排序 bubblesort.sort array system.out.println 排序後的陣列 用for迴圈 for long num array ...

簡單排序演算法

package com.shine.sort 排序演算法 說明 排序演算法分為三種 插入排序 交換排序 選擇排序 1.插入排序 直接插入排序 折半插入排序 希爾排序 2.交換排序 氣泡排序 快速排序 3.選擇排序 直接選擇排序 堆排序 public class mysort 希爾排序 描述 1.將乙...

簡單排序演算法

演算法思想 將初始序列 a 0 a n 1 作為待排序序列,第一趟在待排序序列 a 0 a n 1 中找最小值元素,與該序列中第乙個元素a 0 交換,這樣的子串行 a 0 有序,下一趟排序在待排序子串行 a 1 a n 1 中進行。第i趟排序在待排序子串行 a i 1 a n 1 中,找最小值元素,...