資料結構和演算法 遞迴

2021-08-20 23:30:20 字數 2447 閱讀 5005

標籤(空格分隔): 資料結構和演算法

#include int main()

return 0;

}

#include int fib(int i)

int main()

計算 n 的階乘 n!

#include int factorial(n)

int main()

編寫乙個遞迴函式,實現將輸入的任意長度的字串反向輸出的功能。

#include void print()

int main()

折半查詢法的迭代實現

//折半查詢法的迭代實現 1

#include #include int bin_serach(int str, int n, int key)

else if (str[mid] < key)

else

}return 0;

}int main()

int n, addr;

printf("\n請輸入要查詢的數字:");

scanf("%d", &n);

addr = bin_serach(str, size, n);

if (-1 != addr)

else

return 0;

}

//折半查詢法的迭代實現 2

#include #include int getaddr(int str, int key, int low, int high)

else if (str[mid] > key)

return getaddr(str, key, low, high);

}int main()

int n, addr;

printf("\n請輸入要查詢的數字:");

scanf("%d", &n);

addr = getaddr(str, n, 0, size);

if (-1 != addr)

else

return 0;

}

折半查詢法的遞迴實現

//折半查詢法的遞迴實現

#include typedef int elemtype;

int half_search(elemtype *str, int low, int high, elemtype n)

else if( str[mid] < n )

else }

int main()

printf("\n");

for( i=0; i//將 n 個盤子從 x 借助 y 移動到 z 上

void move(int n, char x, char y, char z)

else }

int main()

#include int count = 0;

int notdanger( int row, int j, int (*chess)[8] )

} //判斷左上方

for( i=row, k=j; i>=0 && k>=0; i--, k-- ) }

//判斷右下方

for( i=row, k=j; i<8 && k<8; i++, k++ ) }

//判斷右上方

for( i=row, k=j; i>=0 && k<8; i--, k++ ) }

//判斷左下方

for( i=row, k=j; i<8 && k>=0; i++, k-- ) }

if( flag1 || flag2 || flag3 || flag4 ||flag5 )

else }

//引數row:表示起始行

//引數n:表示列數

//引數(*chess)[8]:表示指向棋盤每一行的指標

void eightqueen( int row, int n, int (*chess)[8] )

} if( 8 == row )

printf("\n");

} printf("\n");

count++;

} else

*(*(chess2+row)+j) = 1;

eightqueen( row+1, n, chess2 );

}} }

}int main()

} eightqueen( 0, 8, chess );

printf("總共有 %d 種解決方法\n", count);

return 0;

}

資料結構和演算法 遞迴

遞迴,其實就是自己呼叫自己,實現乙個不斷重複的工作,直接上 給你們講解一下,應該就明白遞迴是什麼東東了,遞迴其實也是一種迴圈,他也是有終止條件的,否則就變成了死迴圈,這個 的終止條件就是 因為這裡就沒有再次呼叫自己,所以就終止了。從這個 我們也可以看出來,這裡的遞迴就實現了抱著,我的,這兩個詞語的多...

資料結構和演算法之遞迴

遞迴問題 方法自己呼叫自己,每次呼叫傳入不同的值 public class recursiontest public static void test int n system.out.println n n public class recursiontest02 public static in...

資料結構 演算法 遞迴

遞迴在較為高階的數演算法實現中是常用的,比如深度優先搜尋,暴力搜尋。下面展示較為簡單的遞迴 執行的過程中。public void recurisve recurisve system.out.println str test public void test 測試 依次輸入是 k i h a 依次輸...