当前位置: 首页 > news >正文

小程序免费制作平台源码成都网站seo推广

小程序免费制作平台源码,成都网站seo推广,大连网建科技,用.net做的网站吗一、递归简介 递归算法是一种直接或者间接调用自身函数或者方法的算法。 递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。 递归本质是循环&a…

一、递归简介

递归算法是一种直接或者间接调用自身函数或者方法的算法。

递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。

递归本质是循环,循环推理。

递归是一种数学上分而自治的思想。

A、将原问题分解为规模较小的问题进行处理

分解后的问题与原问题类型完全相同,但规模较小。

通过小规模问题的解,能够轻易求得原生问题的解

B、问题的分解是有限的

当边界条件不能满足时,分解问题(继续递归)

当边界条件满足时,直接求解(递归结束)

二、递归在程序设计中的应用

递归函数:

函数体中存在自我调用的函数

递归函数必须有递归出口(边界条件)

函数的无限递归将导致程序崩溃

使用递归函数时不要陷入递归函数的执行细节,应首先建立递归模型和确立边界条件。

三、递归算法常见的应用场景

1.数据的定义是按递归定义的。如:斐波那契数列
2.问题解法按递归算法实现。如:递归求和
3.数据的结构形式是按递归定义的。如二叉树、广义表等

四、递归使用场景整理

1.树结构中使用递归

C#树结构操作逻辑整理

/// <summary>
/// 地区案例测试
/// </summary>
static void TestArea()
{List<Area> list = new List<Area>() {new Area(){ ID=1,Name="中国",ParentID=null},new Area(){ ID=2,Name="山东",ParentID=1},new Area(){ ID=3,Name="济南",ParentID=2},new Area(){ ID=4,Name="槐荫",ParentID=3},new Area(){ ID=5,Name="千乐微云",ParentID=4},new Area(){ ID=6,Name="市中区",ParentID=3},new Area(){ ID=7,Name="泉城广场",ParentID=6},};//转化为树结构展示var result = getChild(null, list);Console.WriteLine(result.ToJsonString());
}
/// <summary>
/// 递归处理子节点
/// </summary>
static List<Area> getChild(int? parentid, List<Area> source)
{List<Area> result = new List<Area>();//1.获取父节点List<Area> parent = source.Where(q => q.ParentID == parentid).ToList();if (parent.Count > 0){//添加父类对象result.AddRange(parent);foreach (Area item in parent){//循环父节点,获取子节点item.Children = getChild(item.ID, source);}}return result;
}

2.递归求和

/// <summary>
/// 递归求和
/// </summary>
static int Sum(int num)
{if (num == 1)return 1;return num + Sum(num - 1);
}//递归求和
Console.WriteLine(Sum(1));//1
Console.WriteLine(Sum(2));//3
Console.WriteLine(Sum(3));//6
Console.WriteLine(Sum(4));//10

3.递归计算阶乘

/// <summary>
/// 递归阶乘
/// </summary>
static int Factorial(int num)
{if (num == 1)return 1;return num * Factorial(num - 1);
}//递归阶乘
Console.WriteLine(Factorial(1));//1
Console.WriteLine(Factorial(2));//2
Console.WriteLine(Factorial(3));//6
Console.WriteLine(Factorial(4));//24

4.递归实现斐波那契数列

待完善.....

5.递归实现全排列

全排列算法(递归)封装

排列组合算法(递归)1

更多:

C#树结构操作逻辑整理

初学者开发流程_项目开发常见问题

二维码简介_二维码基本概念_二维码基本原理

http://www.tj-hxxt.cn/news/105698.html

相关文章:

  • 苏州手机网站建设超级软文网
  • net服装网站建设淮北seo
  • 在百度怎么建立自己的网站吗互联网营销顾问
  • wordpress标题数据表长春网站优化体验
  • 模板板网站兰州网站seo诊断
  • 视频网站做推广有没有效果seo标题生成器
  • 黑群辉wordpress搜索关键词排名优化软件
  • 长沙做网站建设公司排名百度指数数据分析
  • 西安网站开发高端网站开发搜索引擎优化指南
  • 网站如何做移动网站学大教育培训机构怎么样
  • 网站怎么做反向代理品牌策划案例
  • 色系网站哪里有北京seo怎么优化
  • 象山网站建设免费发布广告的平台
  • 哪里有做网站系统的seo技术培训茂名
  • 台州网站定制百度官网电话客服24小时
  • 网站建设dede模板免费竞价网
  • 源码下载网站源码公司网站推广方案
  • 北京住房丰台建设委网站百度搜索优化怎么做
  • 深圳国贸网站建设seo发外链工具
  • 罗湖网站建设罗湖网站设计职业培训机构哪家最好
  • 徐州网站建设案例品牌推广与传播方案
  • 室内设计网站案例推广平台怎么做
  • 广告优化师招聘seo营销技巧
  • 进入微信官方网站下载怎样在百度上发布广告
  • 织梦网站模板制作天桥区seo全网宣传
  • 云指建站平台经典营销案例
  • 怎样设置 自己的网站关键词全网搜索
  • 网站推广外包宣传产品的方式
  • 抚州市做棋牌网站搜索引擎优化的实验结果分析
  • 精致网站赏析sem工作原理