氣泡排序
氣泡排序(bubble sort,台灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。
選擇排序
選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾。以此類推,直到所有元素均排序完畢。
插入排序
插入排序(insertion sort)的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到o(1)的額外空間的排序),因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。
二分法查詢演算法
二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。
package demo;
public class helloworld ;
int a = ;
//bubblesort(a);
binarysearch(a,5);
//selectsort(a);
//insertsort(a);
}//氣泡排序
public static void bubblesort(int a)}}
system.out.println("");
system.out.println("氣泡排序:");
for(int x : a)
}//選擇排序
public static void selectsort(int a)
}system.out.println("");
system.out.println("選擇排序:");
for(int k : a)
}//選擇排序1
public static void selectsort1(int a)
}//插入排序
public static void insertsort(int a)
a[y+1] = x;}}
system.out.println("");
system.out.println("插入排序:");
for(int k : a)
}//二分法查詢(遞迴)
public static void binarysearch(int a,int left,int right,int find)else
if(find > a[mid])else
if(find < a[mid])
}else
}//二分法查詢(迴圈)
public static void binarysearch(int a, int find)
int left = 0;
int right = a.length-1;
while(left <= right)else
if(find < a[mid])else
if(find > a[mid])
}system.out.print("沒找到");
}}
<?php
//氣泡排序法
function bubblesort($arr)}}
return
$arr;
}//選擇排序法1
function selectsort($arr)
}if($x != $arr[$i])
}return
$arr;
}//選擇排序法2
function selectsort1($arr)}}
return
$arr;
}//插入排序法
function insertsort($arr)
$arr[$y+1] = $x;}}
return
$arr;
}//二分法查詢(遞迴演算法)
function binarysearch($arr, $left, $right, $find)
if($arr[$mid] > $find)
if($arr[$mid] < $find)
}}//二分法查詢(迴圈演算法)
function binarysearch1($arr, $find)
$left = 0;
$right = count($arr)-1;
while($left
<= $right)elseif($arr[$mid] > $find)elseif($arr[$mid] < $find)
}}//$arr = array(2,10,333,11,1,22,100,20);
//$arr = bubblesort($arr);
$arr = array(1,2,3,4,5,6,7,8,9,10);
$arr = binarysearch1($arr,7);
echo
"";print_r($arr);
?>
其他不怎麼經常見到的演算法,改天再研究!
我的部落格:
氣泡排序,選擇排序,插入排序
氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...
選擇排序 , 插入排序 , 氣泡排序
編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...
氣泡排序 插入排序 選擇排序
氣泡排序是每輪比較未排序部分,從第乙個元素開始找最值,比較相鄰數字,依次往後推移,最終將最值置於最右。假設有n個數,外迴圈迴圈n 1遍,內迴圈是n 1在減去當前是第幾次外迴圈。void bubble sort mytype a,int n n為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...