簡單演算法複習

2021-06-09 07:36:30 字數 827 閱讀 1058

一、插入排序

void insertsort( int *a, int len )}

第二、氣泡排序

void bubsort( int *a, int len ) }

} }

第三、shell排序

void shell( int *a, int len )

*(a+j+step) = temp ;}}

} 第

四、快速排序(1)

int divide( int a, int low, int high )

第五、快速排序(2)

其實只是分割槽方式不同而已,所以只列出分割槽函式。

int partition( int a, int low, int high )

}temp = a[i+1] ;

a[i+1] = a[high] ;

a[high] = temp ;

return (i+1) ;}

第六、歸併排序

void merge_twoarr( int *a, int *temp, int start, int mid, int end )

while( i<=mid )

temp[k++] = a[i++] ;

while( j<=end )

temp[k++] = a[j++] ;

for( i=start; i<=end; i++ )

a[i] = temp[i] ;}

void mergesort( int *a,  int *temp, int start, int end )

{if( start

html css簡單複習

html 標籤語言。常用的標籤 標題標籤h1 h6 段落標籤p div ul li ol li a 表單標籤 form input 自定義標籤 彈性容器 設定了display flex 這個為彈性容器,裡面的子元素會按照彈性布局的方式進行布局。彈性子元素 設定了display flex的彈性容器直接...

演算法複習 分治演算法

先來看乙個經典的二分查詢例子。int binarysearch vector nums,int target return 1 時間複雜度是 o logn 我們看到,二分查詢貫徹了分治的思想。當我們要解決乙個輸入規模較大 不妨設為 n 的問題時,可以將這個問題分解成 k 個不同的子集,如果能得到 k...

複習LCA Tarjan演算法

解題報告 輸入描述的很恐怖,其實用scanf getchar也可以很簡單就寫出來,用tarjan演算法要注意,統計祖先的時候要想清楚,不要重複統計和少統計了。比如 2 解題報告 這個題構樹要用雙向邊,然後dfs時做訪問標記,根節點可以任意選擇乙個,雖然不同的根節點會導致同一對點的祖先不同,但是它們之...