- 浏览: 227050 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (109)
- IOS (15)
- 设计模式 (7)
- XML (1)
- Android (31)
- 面试经 (1)
- J2EE (3)
- android md5 加密 (2)
- android imagebutton文字实现 (1)
- 反射机制 (2)
- 基础知识 (1)
- linux (3)
- java (4)
- java基础 (2)
- 文章 (1)
- myeclipse tomcat (1)
- Hadoop (1)
- ubuntu (2)
- redmine (1)
- python (4)
- jmeter (10)
- xamarin (1)
- selenium (9)
- nexus (1)
- appium (3)
- BDD (1)
- apache2 (1)
- zabbix (2)
- python,webdriver (1)
- ajax (1)
- jmeter,正则表达式,关联 (2)
- 性能测试工具 (1)
- Django (0)
- Intelij (1)
- RAP (0)
- 性能测试 (0)
最新评论
题目:设计输出如下形式数值的算法,再把算法设计成递归结构算法。
1
22
333
4444
55555
.......
........
nnnnnnnnnnnnnn
普通算法
#include "stdio.h"
int bu(int n)
{
int i,j,k;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d",i);
printf("\n");
}
getch();
}
void main()
{
clrscr();
bu(8);
}
递归算法
#include "stdio.h"
long int bu(int n)
{ long int y;
int i;
if(n<1)
{ printf("error");
return;
}
if(n==1)
{
printf("%d\n",n);
return n;
}
else
{
y=bu(n-1);
for(i=0;i<n;i++)
printf("%d",y+1);
printf("\n");
return n;
}
}
void main()
{ clrscr();
bu(8);
}
二分法在有序数组中查找的递归运算。
普通算法
#include "stdio.h"
int serv(int x,int left,int right ,int w[])
{
int mid ;
while(left<=right)
{
mid=(left+right)/2;
if(w[mid]==x) return mid;
if(w[mid]<x)
left=mid+1 ;
else right= mid-1;
if(left>right) return -1;
}
}
void main()
{
int x=17;
int w[9]={2,5,7,9,11,13,17,22,24};
int left=0;
int right =sizeof(w)/2-1;
int t;
clrscr();
t=serv(x,left,right,w);
if(t==-1) printf("wufazhaodao\n");
else printf("x zai w zhong %d\n",t);
}
递归算法
#include "stdio.h"
int serch(int x,int left,int right,int w[])
{
int mid;
if(left>right) return -1;
mid =(left+right)/2;
if(w[mid]==x) return mid;
if(w[mid]<x)
{
left=mid+1 ;
serch(x,left,right,w);
}
else { right= mid-1;
serch(x,left,right,w);
}
}
void main()
{
int x=17;
int w[8]={2,5,7,9,11,13,17,22};
int left=0;
int right =sizeof(w)/2-1;
int t;
t=serch(x,left,right,w);
if(t==-1) printf("wufazhaodao\n");
else printf("x zai w zhong %d",t);
1
22
333
4444
55555
.......
........
nnnnnnnnnnnnnn
普通算法
#include "stdio.h"
int bu(int n)
{
int i,j,k;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d",i);
printf("\n");
}
getch();
}
void main()
{
clrscr();
bu(8);
}
递归算法
#include "stdio.h"
long int bu(int n)
{ long int y;
int i;
if(n<1)
{ printf("error");
return;
}
if(n==1)
{
printf("%d\n",n);
return n;
}
else
{
y=bu(n-1);
for(i=0;i<n;i++)
printf("%d",y+1);
printf("\n");
return n;
}
}
void main()
{ clrscr();
bu(8);
}
二分法在有序数组中查找的递归运算。
普通算法
#include "stdio.h"
int serv(int x,int left,int right ,int w[])
{
int mid ;
while(left<=right)
{
mid=(left+right)/2;
if(w[mid]==x) return mid;
if(w[mid]<x)
left=mid+1 ;
else right= mid-1;
if(left>right) return -1;
}
}
void main()
{
int x=17;
int w[9]={2,5,7,9,11,13,17,22,24};
int left=0;
int right =sizeof(w)/2-1;
int t;
clrscr();
t=serv(x,left,right,w);
if(t==-1) printf("wufazhaodao\n");
else printf("x zai w zhong %d\n",t);
}
递归算法
#include "stdio.h"
int serch(int x,int left,int right,int w[])
{
int mid;
if(left>right) return -1;
mid =(left+right)/2;
if(w[mid]==x) return mid;
if(w[mid]<x)
{
left=mid+1 ;
serch(x,left,right,w);
}
else { right= mid-1;
serch(x,left,right,w);
}
}
void main()
{
int x=17;
int w[8]={2,5,7,9,11,13,17,22};
int left=0;
int right =sizeof(w)/2-1;
int t;
t=serch(x,left,right,w);
if(t==-1) printf("wufazhaodao\n");
else printf("x zai w zhong %d",t);
发表评论
-
Starting emulator for AVD 'android' PANIC: Could not open: android
2013-05-21 13:29 1929我的电脑-->属性-->高级-->环境变量。 ... -
eclipse4.2版本下面安装ADT,安装已经完成了,但没有ADT的那个图标显示
2013-05-21 13:26 944如果安装过程没错,直接在Eclipse ->window ... -
Android 打包签名 从生成keystore到完成签名 -
2012-10-30 00:49 959首先,我们需要一个keystore,当然已经有了的话就不用这一 ... -
解决更新并使用最新ADT20不能创建android项目问题
2012-10-18 22:20 1057不知道谷歌又怎么了,每次更新ADT插件就会出现各种各样的问题, ... -
ORACLE分页查询SQL语法
2012-10-18 22:20 1212oracle数据库 --1:无ORDER BY ... -
Activity生命周期
2012-10-18 22:20 1142博客分类: Android 新的activit ... -
布局
2012-10-18 22:21 1097padding:描述控件里面的内容与控件的关机,内边距;有四个 ... -
常用控件:TextView EditView
2012-10-13 13:32 1189TextView 布局: Xml代 ... -
按钮控件
2012-10-13 13:32 1184监听器: 监听器 方法 内容 OnClickList ... -
菜单
2012-10-13 13:31 1119menu键触发 三种形式:普通的option menu;上下 ... -
HttpClient
2012-10-13 13:31 1136在Android开发中我们经常会用到网络连接功能与服务器进行数 ... -
Android 的一些提示框
2012-10-08 00:57 7921.在测试时,如何实现一个提示 可以使用 Toast.ma ... -
Intent的几种用法
2012-10-08 00:57 936下面列出几种Intent的用法 1. 启动一个新的Activ ... -
Android改变窗口标题栏的布局
2012-10-10 23:26 930一、 重点 一般应用的Title都是建立应用时在Androi ... -
android中如何自定义attributes
2012-10-10 23:26 992写程序中可能需要用到一些自定义的view控件,这样就需要增加一 ... -
android manifest.xml中元素含义
2012-10-08 00:56 845android:allowTaskReparenting 是 ... -
十二个android编程技巧
2012-10-10 23:26 10081.让一个图片透明: Java代码 1. Bitm ... -
Android Phone类分析
2012-10-10 23:26 1232AccelerometerListener:感应 ... -
android控件设置居中方式
2012-10-07 00:16 8468垂直居中 android:layout_centerVert ... -
android TextView属性大全
2012-10-10 23:28 986android:autoLink设置是否当 ...
相关推荐
为了更好地理解递归与非递归算法的区别,我们可以通过计算阶乘的例子来具体分析: #### 递归算法示例 ```java public class DiGui { public static void main(String[] args) { System.out.println(f(5)); } ...
在这个“VB 递归算法例子”中,我们主要探讨如何使用VB来实现递归,并以一个具体的实例——生成数字三角形——来阐述其工作原理。 递归算法的核心在于它解决问题的方式:通过将复杂问题分解为更小的子问题,直到子...
在ACM(国际大学生程序设计竞赛)中,递归算法是一种常见的解决问题的方法,它通过函数自身调用自身来实现问题的解决。递归的核心在于找到基本情况(base case),即可以直接求解的问题,以及每次递归调用时问题规模...
### 递归算法专题知识点详解 #### 一、递归算法原理 递归算法是一种将问题分解成子问题的方法,其中子问题与原问题性质相同但规模较小。递归算法的关键在于识别出能够通过递归解决的问题,并找到递归的基本情况...
### Java编写的递归算法的经典事例:全排列输出 #### 概述 本文将详细介绍一个用Java编写的递归算法实例,该实例用于实现字符数组的所有可能全排列。通过这个例子,我们可以深入理解递归的基本概念、工作原理以及...
### 递归算法在程序设计中的应用 #### 一、递归的概念与本质 递归是一种重要的编程思想,在计算机科学和数学领域都有广泛的应用。它指的是一个过程或函数直接或间接地调用自身来解决问题的方法。递归的核心在于将...
另一个例子是将整数转换为特定进制的表示,这个任务可以使用递归算法实现。给定的代码示例中,`numbconv`函数接收一个整数n,将其转换为指定进制b,并将结果保存在字符串s中。这个函数首先通过递归调用处理n除以b的...
递归算法是一种强大的编程技术,它通过函数或过程在解决问题时调用自身来解决更小规模的相同问题。递归的基本概念在于一个函数在定义中包含对自身的引用,或者问题的解决方案依赖于较小规模问题的解决方案。在程序...
递归在解决分治策略、树遍历等问题时特别有用,而非递归算法则更适合处理那些可以通过简单循环解决的问题。 总结来说,C++中的递归算法和非递归算法各有优势和应用场景。在实际编程中,理解这两种方法的原理,结合...
在这个例子中,递归算法有效地解决了阶乘问题,但需要注意的是,递归方法可能会占用大量内存,特别是对于大数值,因为每个递归调用都会在内存中创建一个新的栈帧。因此,在实际应用中,非递归方法(如循环)可能更...
以下是一个使用C语言实现折半查找递归算法的具体例子: ```c #include // 定义结构体用于存储数组及长度 typedef struct { int a[100]; int length; } SSTable; SSTable st; // 构建顺序表 void creat(int k) ...
VB(Visual Basic)是一种由微软开发的面向对象的编程语言,尤其适合于初学者和快速开发应用程序。...通过研究和实践这个VB递归算法例子,开发者可以更深入地理解递归工作原理,并将其应用于实际项目中。
7. 递归算法的例子 例1:计算1+2+3+4+…+(n-1)+n的递归算法。 ``` #include using namespace std; int fac(int); int main(void) { int t; cin >> t; cout (t) ; } int fac(int n) { if (n == 1) return 1;...
关于递归算法时间复杂度分析的探讨,是一个深入理解算法效率和优化的关键议题。递归,作为解决问题的一种强大工具,其本质是将复杂问题分解为更简单的子问题,通过求解这些子问题来达到最终解决方案的目的。然而,...
在编程领域,递归算法是一种强大的工具,尤其在处理树形结构或遍历目录时显得尤为重要。本项目“程序2_delphi_milemut_递归算法”是使用Delphi编程语言实现的一个应用,旨在通过递归方法列出指定目录“C:\Windows\...
在编程领域,递归算法是一种基于函数自我调用的解决问题的方法。它通常用于解决那些可以被简化为相同问题子集的问题。"易语言"是中国的一种简单易学的编程语言,旨在降低编程难度,让更多人能接触编程。在这个场景中...
接下来,我们将通过一个具体的例子——走迷宫问题,来进一步了解递归算法的应用。 ##### 2.1 迷宫问题定义 假设有一个由0和1组成的二维数组,其中1代表可以通过的道路,0代表墙壁不可通过。问题是从某个起始位置...
【C#递归算法详解】 递归算法是编程中一种重要的技术,特别是在C#这样的面向对象语言中。它涉及到函数自身调用自身的过程,通过解决更小规模的问题来解决整个问题。递归算法的核心概念包括两个关键部分:基础情况...
通过递归算法实现整数逆序是一个简单而有趣的例子,它展示了递归在实际编程中的应用。递归不仅可以使代码更加简洁,而且对于某些特定类型的问题来说,递归往往是最佳解决方案。当然,在实际开发中还需要考虑性能和...