IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 递归,迭代算法 -> 正文阅读

[数据结构与算法]递归,迭代算法

几种算法

一,.递归方程(用迭代法)
*斐波那契数列

斐波那契数列:第1,2两个数为1,1。从第三个数开始,该数是其前面两个数之和。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int n = 0;
 int a = 1;
 int b = 1;
 int c = 0;
 int i = 0;
 scanf("%d", &n);
 printf("%5d %5d ", a, b);
 for (i = 0; i < n - 2;i++)
 {
   c = a + b;
   a = b;
   b = c;
   printf("%5d ", c);
 }
 printf("\n");
 system("pause");
 return 0;
}

*汉诺塔递归

#include<stdio.h>
void move(int n,char a,char b,char c)
{
if(n==1)
printf("\t%c->%c\n",a,c); //当n只有1个的时候直接从a移动到c 
else
{ 
move(n-1,a,c,b); //把a的n-1个盘子通过c移动到b 
printf("\t%c->%c\n",a,c); //把a的最后1个盘(最大的盘)移动到c 
move(n-1,b,a,c); //吧b上面的n-1个盘通过a移动到c 
} 
}
int main()
{
int n;
printf("请输入要移动的块数:"); 
scanf("%d",&n);
move(n,'a','b','c');
}

*插入排序递归

 void insert(vector<int>& a, int x=1)    
{                                                   //第一个参数为向量,第二个参数为将要向前插入的数
 if(x >= (int)a.size())       //判断是否已经到了向量的最大值
  return;        //是即返回,程序结束
 int temp = a[x],j;       //定义变量,temp存储当前数值
 for(j = x; j > 0 && a[j-1] > temp; j--)     //和插入排序普通算法一样,从当前数开始,从后往前插入
  a[j] = a[j-1];         //通过赋值,节省时间
 a[j] = temp;               //找到正确位置后,赋值,
 insert(a, x+1);        //递归,开始插入下一个数
}

2.迭代法
*每次用递归方程的右项代替左项
*每次代替,随着n的降低,多一项
*直到出现初值停止迭代
*带入初值,求出递归方程
*用数学归纳法验证正确性

3.贪心算法:不从整体考虑,从局部或是某种意义上的最优解
*贪心选择性质:一个问题的整体最优解可以用子结构最优解达到,并且后一子问题在前一问题基础
*最优子结构性质:一个问题最优解包含子问题最优解

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:31:11  更:2021-09-13 09:31:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 9:50:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码