递归算法实验报告
篇一:递归算法的设计和实现的实验报告
  班级学号 姓名  实验组别  试验日期 室温  报告日期成绩 报告内容:(目的和要求、原理、步骤、数据、计算、小结等)
  实验名称:递归算法的设计和应用
  实验目的:
  1. 掌握递归算法的实现。
  2. 实现递归算法的应用。
  实验环境(硬/软件要求):
  Windows XX, Visual C++ 6.0
  实验内容:
  用递归算法实现前n个自然数的累加和与平均数
    【C语言源程序】
    #include
  int Digui(int n)//设计递归算法功能为求前n个整数的和//
  {
  if(n==0)
  return 0;
  if(n==1)
  return 1;
  else return Digui(n-1)+n;
    }
    int main()
  {
  int n;
  printf("请输入n的值:\n");
  scanf("%d",&n);
  printf("计算结果为:\n%d\n",Digui(n));
  printf("这n个数的平均数是:\n%f\n",(float)Digui(n)/n);
  }
篇二:数据结构- 递归算法实验报告
  实验报告
  实验五  递归算法
  实验目的:
  1.熟悉递归算法的实现过程及实现机理;
  2.熟练并掌握递归算法的设计方法;
  3.了解递归算法到非递归算法的转换。
  实验原理:
  高级程序语言函数调用原理;
  递归算法的设计方法。
  实验内容:
  6-14 折半查问题。折半查问题的描述见6.1节,折半查问题的递归算法见例6-2。要求:
  (1)设计折半查问题的循环结构算法;
  (2)设计一个查成功的例子和一个查不成功的例子,并设计测试主程序;
  (3)设计一个包含10000个数据元素的查成功的例子,然后分别调用循环结构的查算法和递归结构的查算法,并测试出两种算法在计算机上的实际运行时间。
  实验结果:
  (1)折半查问题的循环结构算法程序为:
  int Csearch(int test[],int x,int low,int high)
  {
  int i;
  for( i=0;i  {
  if(x==test[i])  return i;
  else if(x>test[i])low=i+1;
  else high=i-1;
  }
  if(i>=high)  return -1;
  }
  (2)①查成功的例子:
  #include
  int Csearch(int test[],int x,int low,int high)
  {
  int i;
  for( i=0;i  {
  if(x==test[i])  return i;
  else if(x>test[i])low=i+1;
  else high=i-1;
  }
  if(i>=high)  return -1;
  }
  int main()
  {
  int a[10]={1,2,3,4,5,6,7,8,9,10};
  int x=6,flag ;
  int low=0,high=10;
  flag=Csearch(a,x,0,10);
  if(flag==-1) printf("searching is failed!\n");
  else printf("searching is success!\n") ;
  printf("This program is made by 10273206\n");
  }
  运行结果为:
  ②查失败的例子为:
  #include
  int Csearch(int test[],int x,int low,int high)
  {
  int i;
二叉树中序遍历非递归算法  for( i=0;i  {
  if(x==test[i])  return i;
  else if(x>test[i])low=i+1;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。