/*
* 1.第乙個元素開始,假設第乙個元素已排序
* 2.取下乙個元素temp_val,在已排序的區間從後往前掃瞄,如果大於temp_val,則往後移
* 3.直到小於的時候,將其後一位置為temp_val即可
* 4.重複n-1次2、3步驟
*///三個引數目的是為了,排序某個區間
void insertion_sort(vectorarray, int first,int last)
array[j+1] = temp_val; //到已排序小於temp_val,則下一位為tem_val的位置
}}
二分插入排序
/*
* 1.第乙個元素開始,假設第乙個元素已排序
* 2.取下乙個元素temp_val,在已排序的區間二分查詢,如果mid的值大於等於temp_val,則right=mid,反之left = mid
* 3.直到rightarray, int first,int last)
//後移,為temp_val騰出空間
for(int j = i-1; j>left; j--)
array[j+1] = array[j];
array[left] = temp_val; //到已排序小於temp_val,則下一位為tem_val的位置
}}
void quick_sort(vectorarray, int left, int right)
}array[left] = a[i]; //將最中間的數值與基準交換位置
array[i] = temp;
quick_sort(array, left, i-1); //對標準值左半部遞迴呼叫本函式
quick_sort(array, i+1, right); //對標準值右半部遞迴呼叫本函式
} }
簡單的桶排序原理以及實現
今天學習的演算法,簡單桶排序。這遠遠稱不上桶排序演算法 所謂桶排序,就是將每個輸入的數放入它對應的桶中,最後再按照桶的順序從小到大或從大到小去逐一倒出來,這樣就實現桶排序了。下面我舉個例子,我要排範圍0 10的15個數。1 include 2 3using namespace std 45 intm...
PCA演算法的原理以及c 實現
pca主成分分析,是模式識別中常見的特徵降維的演算法,其大體步驟可以分為以下幾個部分 1 原始特徵矩陣歸一化處理 假設m和樣本,每個樣本n個特徵,則對m n的x資料,進行零均值化,即減去這一列的均值 2 求取歸一化處理後特徵矩陣的協方差矩陣 3 計算協方差矩陣的特徵值及其對應的特徵向量 4 將特徵向...
排序演算法 選擇排序原理及Java實現
選擇排序是一種簡單直觀的排序演算法,其基本原理如下 對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄的位置與第乙個記錄的位置交換 接著對不包括第乙個記錄以外的其他記錄進行第二次比較,得到最小記錄並與第二個位置記錄交換 重複該過程,知道進行比較的記錄只剩下乙個為止。從簡單選擇排序的過程...