簡單演算法的應用

2022-09-13 15:03:18 字數 1560 閱讀 3003

#include "stdio.h"

//折半查詢

int searchitem(int array, int len, int key);

int main(int argc, char const *ar**)

;long len = sizeof(array)/sizeof(int);

int location = searchitem(array,10,8);

printf("location = %d\n",location );

return 0;

}/**

*使用折半查詢來查詢乙個數

**引數1 array 陣列

*引數2 len 陣列長度

*引數3 key 查詢的數

*返回查詢的數的位置 , 如果查詢不到返回 -1

*/int searchitem(int array, int len, int key)else if (key < array[mid])

else

}return -1;

}#include "stdio.h"

void selection_sort(int array, int len);//選擇排序

int main(int argc, char const *ar**)

;//1.列印輸出排序之前的元素順序

printf("排序之前:\n");

for (int i = 0; i < 10; ++i)

printf("\n");

//2.排序

selection_sort(a,10);//將陣列名字和陣列的長度傳遞過去

//3.列印輸出排序之後的元素順序

printf("排序之後:\n");

for (int i = 0; i < 10; ++i)

printf("\n");

return 0;}/*

描述:選擇排序

引數:陣列名和陣列長度

返回值:無

*/void selection_sort(int array, int len)}}

}#include "stdio.h"

void bubble_sort(int array, int len);

int main(int argc, char const *ar**)

;//1.列印輸出排序之前的元素順序

printf("排序之前:\n");

for (int i = 0; i < 10; ++i)

printf("\n");

//2.排序

bubble_sort(a,10);//將陣列名字和陣列的長度傳遞過去

//3.列印輸出排序之後的元素順序

printf("排序之後:\n");

for (int i = 0; i < 10; ++i)

printf("\n");

return 0;}/*

氣泡排序函式

引數:陣列和陣列的長度

返回值:無

*/void bubble_sort(int array, int len)}}

}

分治演算法的簡單應用

1.要求2n個數的中位數,採用分治策略。每次劃分後,都會去掉一半的數,只剩原來一半的數。遞推關係式為 t n t n 2 o 1 由master定理,可得時間複雜度為o logn include include define n 1000000 using namespace std int a n...

簡單演算法的小應用

最近在牛客網上經常進行一些演算法的練習,分享兩個好玩的題目。附上牛客網的鏈結,當然了,和acm大神相比,這些題是入門的,想學習的童鞋就溫故知新一下吧。對了這是乙個比較好的平台,大家可以沒事來練練手。排序問題 不知道為啥這個題目被分在了排序演算法中,我在寫這道題目的時候,為了提高效率,使用了二分查詢,...

遞迴演算法簡單應用

1.遞迴和非遞迴分別實現求第n個斐波那契數。斐波那契數 亦稱之為斐波那契數列 義大利語 successione di fibonacci 又稱 分割數列 費波那西數列 費波拿契數 費氏數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波那契數列以如下被以遞迴的方法定義 f0 ...