package paul;
/**
*title: 快速演演算法
* description:
* 快速排序法的基本精神是在?盜兄姓頁鯗m??的?s心,
* 然後???盜幸環??槎?,分?e?ψ筮??c右???盜羞m行排序,
* 而影??快速排序法效率的正是?s心的?x?瘛?
* 下面介紹了三種方法,從理論分析效率遞增,
* 但是沒有用大陣列來進行測試
* @author paulliu
* @version 1.0
*/
public class quicksort
/**
* printarray 用來跟蹤了演算法演算過程
*/
public static void printarray(int number)
system.out.print("/n"
; }
/**
* sort 只是為了便於觀察分析才設了這個方法,可有可無。
* @param number int 陣列
*/
public static void sort(int number)
/**
* sort
* 開始時,以左邊第乙個元素為軸
* @param number int
* @param left int
* @param right int
*/
private static void sort(int number, int left, int right)
//將左側軸與j交換
number[left]=number[j];
number[j]=s;
sort(number,left,j-1);//軸左邊進行遞迴
printarray(number);
sort(number,j+1,right);//軸右邊進行遞迴
printarray(number);
} }
/**
* provesortfirst
* 以中間的元素為軸
* @param number int
* @param left int
* @param right int
*/
public static void provesortfirst(int number, int left, int right)
provesortfirst(number, left, i-1);
printarray(number);
provesortfirst(number, j+1, right);
printarray(number);
} }
/**
* swap
* 交換值方法
* @param number int
* @param i int
* @param j int
*/
private static void swap(int number, int i, int j)
public static void main(string args) ;
sort(number);
} private static void thirdsort(int number,
int left, int right)
}
/**
* partition 在軸設定方面有優點
* @param number int
* @param left int
* @param right int
* @return int
*/
private static int partition(int number,
int left, int right)
}
swap(number, i+1, right);
return i+1;
} }
Bresenham直線演演算法
法,它會算出一條線段在 n 維光柵上最接近的點。這個演演算法只會用到較為快速的整數加法 減法和位元移位,常用於繪製電腦畫面中的直線。是計算機圖形學中最先發展出來的演演算法。經過少量的延伸之後,原本用來畫直線的演演算法也可用來畫圓。且同樣可用較簡單的算術運算來完成,避免了計算二次方程式或三角函式,或遞...
爬蟲 RSA加密演演算法
公鑰與金鑰的產生 假設alice想要通過乙個不可靠的 接受bob的一條私人訊息。她可以用以下的方式來產生乙個公鑰和乙個私鑰 隨意選擇兩個大的質數p和q,p不等於q,計算n pq 根據尤拉函式 r n 其中r是小於或等於n的正整數中與n 互質的數的數目 求得r n p q p 1 q 1 選擇乙個小於...
谷歌推出演演算法,加快AI邊緣裝置效能
谷歌推出efficientnet edgetpu演演算法,加快ai邊緣裝置效能。efficientnet edgetpu是針對coral dev board,tinker edge t等搭載edge tpu張量處理器進行最佳化的演演算法,能提公升神經網路運算效能達10倍,對運算能量有限的邊緣裝置來說...