導航:首頁 > 源碼編譯 > 遞歸演算法與文件檢索

遞歸演算法與文件檢索

發布時間:2022-04-17 10:08:17

⑴ 如何用遞歸演算法,實現對有序表的順序搜索的功能 《C++》

【1】隨機生成一組數,用快速排序實現數組排序後,用您所想要的遞歸演算法(二分思想)進行搜索,可否看得出快速排序與與該演算法的有某處相同?
【2】好好研究快速排序演算法,無論對遞歸的運用還是提高分析能力都有很大的受益。

#include "time.h"

#define MAX 20

void Initial(int a[]);
void QuickSort(int a[],int left, int right);
void Print(int a[]);
int Search(int a[],int x,int start, int end);

int main()
{
int a[MAX]={0};
Initial(a);
Print(a);
QuickSort(a,0,MAX-1);
printf("###After quick sort:###");
Print(a);
if (Search(a,10,0,MAX-1))
{
printf("\nfind");
}
else
{
printf("\nnot find");
}
return 0;
}

void Initial(int a[])
{
int i=0;
srand( (unsigned)time(NULL));
for (i=0; i<MAX; i++)
{
a[i] = rand()%MAX;
}
}
void QuickSort(int a[],int l, int r)
{
int left=l,right=r;
if (left>=right)
{
return ;
}
int temp = a[left];
while (left<right)
{
//從右邊開始找一個小於temp的數,找到或left>=right為止
while (a[right]>=temp && left<right)
{
right--;
}
if (left<right)
{
a[left]=a[right];
left++;
}
//從左邊開始找一個大於temp的數,找到或left>=right為止
while(a[left]<=temp && left<right)
{
left++;
}
if (left<right)
{
a[right]=a[left];
right--;
}
}
a[left] = temp;
QuickSort(a,l,left-1);
QuickSort(a,left+1,r);
}
void Print(int a[])
{
int i=0;
for (i=0; i<MAX; i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
//這是你所需要的遞歸演算法,對有序表搜索。

int Search(int a[],int x,int start, int end)
{
if (start>end)
{
return 0;
}
int mid=(start+end)/2;
if (x == a[mid])
{
return 1;
}
if (x>a[mid])
{
Search(a,x,mid+1,end);
}
else if (x<a[mid])
{
Search(a,x,start,mid-1);
}
}

⑵ 遞歸程序和遞歸、遞歸演算法一樣嗎

程序調用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種演算法在程序設計語言中廣泛應用。所以,從一定意義上說,人們平時所說的遞歸就是遞歸演算法。遞歸程序是將遞歸演算法用程序設計語言來實現的,它是程序,當然也有人說程序是演算法描述的一種方法,不管怎麼說,遞歸程序不等同於遞歸演算法。

⑶ 如何用遞歸演算法,實現對有序表的順序搜索的功能《C++》

這個問題我知道!順序搜索要用遞歸么???·····對有序表的話用二分就行了········
遞歸的話適用於數列····
a(n)=a(n-1)+a(n-2)
這種,數列元素直接有一定聯系的才行·····,有序表···用遞歸的話···我唯一能想到的就是
intf(intn,inti){
inta;
if(a[i]==n)
returni;
else{
a=f(n,i+1);
returna;
}
}
main(){
~
f(n,0)
~
}
大概就這樣了··從0號元素搜索···不是就下一號········,其他的我就想不出如何用遞歸搜索有序表了·······

⑷ 遞歸順序檢索

沒看出啥問題,應該是對的

php獲得文件夾下所有文件的遞歸演算法的簡單實例

如下所示:
function
my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!="."
&&
$file!="..")
{
if(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
else
{
$files[]=$dir."/".$file;
}
}
}
closedir($handle);
return
$files;
}
}
}
以上就是小編為大家帶來的php獲得文件夾下所有文件的遞歸演算法的簡單實例全部內容了,希望大家多多支持腳本之家~

⑹ 什麼是遞歸演算法,演算法學習哪個網站好呢

遞歸演算法指的是函數/過程/子程序在運行過程中直接或間接調用自身而產生的重入現象。看過馬克威演算法交易平台,裡面涵蓋開源的演算法以及馬克威演算法,另外還有機器學習等內容,真心好,我還下載了幾個演算法研究了下.....頗合我意~希望可以幫到你。

⑺ 遞歸演算法中樹的遍歷和圖的搜索是怎麼一回事啊

訪問樹或圖中的每一個結點,每一結點都要訪問到而且僅能訪問一次

⑻ 使用遞歸演算法 查找是否有.txt的文件 畫出還演算法的流程圖

遞歸演算法畫流程圖沒有意義,演算法代碼我有,你要不要。

⑼ 棧和遞歸演算法

我感覺這道題目出得有問題:
假設這道題目用遞歸來實現,當用戶輸入的x、y滿足x=0 && y>=0或者x>0 && y=0就無法作為遞歸結束的條件。因此,這個函數有問題。如果函數改為:
g(x,y)=0 x=0,y>=0
g(x,y)=g(x-1,2y)+y x>0,y>0
倒是可以實現。
我以我改過的函數寫一個示例,掌握了方法才是王道。

如果我的理解有誤,你可以HI我,接著探討。

⑽ 用遞歸演算法取得一個文件夾的路徑有點效率低,有沒有效率高一點的

Python walk()一下試試。。。

閱讀全文

與遞歸演算法與文件檢索相關的資料

熱點內容
拉伸命令cad 瀏覽:489
yy安卓怎麼搶麥 瀏覽:932
阿里雲共享型伺服器價格 瀏覽:442
壓縮機效率低 瀏覽:54
python讀取excel製作直方圖 瀏覽:485
這周遊源碼 瀏覽:179
安卓手機圖標怎麼變成一樣的 瀏覽:358
pythongui選擇文件 瀏覽:481
預付APP哪個部門管理 瀏覽:612
程序員入門英語聽力 瀏覽:128
伺服器網站被大量不明地址訪問 瀏覽:376
軟體分享網站源碼 瀏覽:611
rn是什麼文件夾 瀏覽:988
鋼筋核心區域加密 瀏覽:279
nginxphp慢 瀏覽:292
伺服器系統如何寫入u盤 瀏覽:12
cs社區伺服器怎麼改中文 瀏覽:26
360手機取消加密 瀏覽:964
python矩陣橫向求和 瀏覽:638
台灣伺服器主板廠商有哪些雲主機 瀏覽:83