演算法小記(一)

2021-09-24 05:28:57 字數 1079 閱讀 4959

1、生成指定個數的隨機數組

c++實現:

#include

#include

#include

using namespace std;

namespace randomarray

return arr;

}}

2、c++實現選擇排序(模板化)

//預設從小到大排序

template

void

selectionsort

(t arr,

int n)

}swap

(arr[i]

, arr[minindex]);

}}

碰到類似這種迴圈:

for

(int j = i; j >

0; j--

)else

}

可以簡化為:

for

(int j = i; j >

0&& arr[j]

< arr[j -1]

; j--

)

3、陣列拷貝:

c++實現:

template

//t限定為八大基本資料型別

t*copyintarray

(t a,

int n)

//第乙個引數是要拷貝的陣列名稱,第二個引數是陣列的大小

4、c++實現插入排序:

template

void

insertionsort

(t arr,

int n)

}}

優化後(對於乙個將近有序的陣列,時間明顯減少):

template

void

insertionsort

(t arr,

int n)

arr[j]

= e;

}}

Hash演算法學習小記(一)

關於hash演算法的應用是十分廣泛的,其中的最簡單的原因就是我們生活的這個時代每天都在產生著巨大複雜資料,但是對於我們有價值的資料的挖掘和儲存一直是乙個難點。如何把我們找到和我們密切相關的且有價值的資料一直是電腦科學面臨的關鍵問題。hash演算法從某種角度講,其實就是為了解決這一問題,儘管效果會因具...

排序演算法小記

include 氣泡排序,適合於資料量較小的情況,效率較低 最好的時間複雜度為o n 最壞時間複雜度為o n n 平均時間複雜度為o n n void bubble sort int a,int len 交換排序 void swapsort int a,int length 快速排序 void qu...

RSA演算法小記

小記 一 數學基礎 尤拉phi函式 n 總數 從1到n 1中與n互質的整數 尤拉定理 對互質的正整數 a,n,有a n 1能被 整除 當 是質數 時,有特殊情況,即小費馬定理 能被 整除 關於尤拉函式的推論 二 rsa演算法的加密和解密 1 任選互質的 p q,求積 n pq 2 求得 k n p ...