导航:首页 > 源码编译 > 递归算法与文件检索

递归算法与文件检索

发布时间: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()一下试试。。。

阅读全文

与递归算法与文件检索相关的资料

热点内容
cs社区服务器怎么改中文 浏览:23
360手机取消加密 浏览:962
python矩阵横向求和 浏览:635
台湾服务器主板厂商有哪些云主机 浏览:81
php代码部署到云服务器 浏览:724
本地服务器怎么打个人网站 浏览:131
用姓做个特效用哪个app 浏览:782
安卓faceme酷脸怎么打开 浏览:290
python矩阵的运算符 浏览:800
程序员进公司干什么 浏览:973
socket发数据java 浏览:566
上传图片服务器开小差是什么意思 浏览:785
pdf文件怎么转换为ppt文件 浏览:858
web前端开发与java 浏览:737
安卓如何卸载软件 浏览:500
linux如何查看服务器型号 浏览:282
php新建一个对象 浏览:682
滴滴加密录像投诉 浏览:979
word兼容pdf 浏览:642
阿里云轻量应用服务器怎么买 浏览:570