关于递归(初识)

对于后期转Java的孩子来说缺失了太多的知识。
递归:

所有能用循环语句的都可以改成递归 用递归写的代码不一定能改成循环。 
public class Add { //这种方式代码最简洁,使用最方便,只是初学者难看懂 public static int sum(int num){ if(num==1){return 1;} return num+sum(num-1); } 

public static void main(String[] args) { System.out.println(sun(100)); 

} 
				
时间: 2024-11-13 02:53:32

关于递归(初识)的相关文章

python--递归、二分查找算法

递归 初识递归 递归的定义--在一个函数里再调用这个函数本身 现在我们已经大概知道刚刚讲的story函数做了什么,就是在一个函数里再调用这个函数本身,这种魔性的使用函数的方式就叫做递归. 刚刚我们就已经写了一个最简单的递归函数. 递归的最大深度--997 正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去.但是我们之前已经说过关于函数调用的问题,每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,就会造成名称空间占用太多内存的问题,于是python为了杜绝此类现象,强制

初识递归

#递归函数 # 了解什么是递归 : 在函数中调用自身函数 # 最大递归深度默认是997/998 -- 是python从内存角度出发做得限制 # 能看懂递归 # 能知道递归的应用场景 # 初识递归 -- # 算法 -- 二分查找算法 # 三级菜单 -- 递归实现 # while True: # print('从前有座山') # def story(): # print('从前有座山') # story() # print(111) # # story() #RecursionError: maxi

Python之初识递归

什么是递归 在函数中调用函数本身,就是递归,当然不能无限制调用,调用深度为997,想要修改递归深度,用sys模块 import sys sys.setrecursionlimit(100000) # 修改深度为100000,具体到多少得看及计算机性能 斐波那契数列 # 函数形式的斐波那契数列(长度20) def func(n): if n==1 or n ==2: return 1 return func(n-1)+func(n-2) ret = func(20) print(ret) # 堆栈

初识java数组与递归思想

数组 数组的初始化: 1.静态初始化: 值由我们来给定,长度通过系统来计算. 格式举例: int[] arr=new int[]{这里是我们给定的值} 静态初始化的简写格式: int[] arr={这里是我们给定的值}:这种方式用法的比较多. 2.动态初始化: 长度有我们来给定,值有系统初始化默认值.各个类型对应的默认值不一样,我们 下面会介绍. 格式举例: int[] arr=int[我们指定的长度]; 注意: 数组类型的变量有两种定义方式: 1.int[] a: 2.int a[]: 推荐使

初识linux文件管理

初识linux文件管理 1.文件系统与目录结构 文件系统从根目录 下开始,用"/". 以. 开头的文件为隐藏文件,路径分隔用/表示.文件系统的层级结构是LSB(linux standard base),遵循文件系统层级标准(FHS ) 文件命名规则:   文件名最长255个字节,包括路径名在内共4095个字节 蓝色–> 目录 绿色–> 可执行文件 红色–> 压缩文件 浅蓝色–> 链接文件 灰色–> 除了斜杠和NUL, 所有字符都有效,但不推荐使用特殊字符,

Android网络框架OkHttp之get请求(源码初识)

概括 OkHttp现在很火呀.于是上个星期就一直在学习OkHttp框架,虽然说起来已经有点晚上手了,貌似是2013年就推出了.但是现在它版本更加稳定了呀.这不,说着说着,OkHttp3.3版本在这几天又发布了.以下以OkHttp3.2版本为准,没办法,上个星期看的时候还是以3.2为最新版本的.首先,我们要先了解一些背景,OkHttp这个框架是有Square公司推出的,进入官网.如果想看API,点击进入API.大概了解了OkHttp之后,我们应该知道OkHttp是一个网络框架,想想以前在开发中,网

初识路由

初识路由 TCP/IP 网络 引言 在<TCP/IP基础知识>一文中介绍到:网络层的主要作用是IP编址和路由选择:路由器属于网络层设备,可以实现不同网络之间的通信.那么路由器如何完成路由选择过程?本篇将围绕此问题展开相关内容的学习总结. 内容 网络通信的过程对于网络设备而言是封装与解封装的过程,在这个过程中必须获得有关数据链路标识和数据封装的信息,并且这些信息要保存在数据库中,如二层的ARP表项,同样传输层和网络层也需要获取和保存所涉及到的相关信息,这些信息被保存在路由表中,接下来将主要介绍路

【hadoop之翊】——hadoop大核心之HDFS初识

今天来说说hadoop的一大核心--HDFS,这个是很重要的,它呢,是分布式文件系统.为什么说hadoop能存储海量数据?其实主要还是依赖与hdfs的能力,主要依赖的是hdfs能存储海量数据. 1. 为什么hdfs能存储海量数据呢? 一开始抛出这样的问题来想想.至于HDFS的基本概念什么的都不用多说了的~我们重在使用,而不是去做"研究".扯蛋的话就是,"专家的研究"已经成为名副其实的贬义词了,很带有讽刺意义了,在现在这个时代~你们懂的~因为他们有的没有真正经历过,而

初识 Linux 文件权限--Linux基础教程

初识 Linux 文件权限--Linux基础教程 在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,权限系统就直接取自于 UNIX 文件权限(甚至使用许多相同的工具). 但不要以为理解文件权限需要长时间的学习.事实上会很简单,让我们一起来看看你需要了解哪些内容以及如何使用它们. 基础概念 你要明白的第一件事是文件权限可以用来干什么.当你设置一个分组的权限时发生了什么?让我们