栈是限定仅在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表,简称LIFO结构。 栈的插入操作,叫作进栈,也称压栈、入栈。 栈的删除操作,叫作出栈,也有的叫作弹栈。 栈的抽象数据类型 栈的顺序存储结构:以首元 ...
分类:
其他好文 时间:
2018-09-12 15:11:42
阅读次数:
157
递归 递归 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 扩展:函数名可以当做参数传递 函数名():执行函数 函数名:代指函数 示例: #斐波那契def f(a1,a2):if a1 > 100:returnprint(a1)a3 = a1 + a2f(a2, ...
分类:
其他好文 时间:
2018-09-11 21:09:52
阅读次数:
160
递归函数:函数本身自己调用自己,最大的调用层数为998(可以import sys模块 sys.setrecursionlimit(1000000) 增加调用层数)所以需要设置一个明确的断点; 递归函数的理解:看递归函数的时候,最简单的方法,就是抽丝剥茧,一层函数一层函数的来看; 递归的使用:递归比较 ...
分类:
其他好文 时间:
2018-09-03 13:36:49
阅读次数:
102
1、递归函数 1.1、递归函数的限制 (1)递归一定要有退出条件,并且递归调用一定要执行到这个退出条件;如果没有退出条件,就是无限调用,会耗尽所有资源(栈空间); (2)递归调用的深度不易过深,Python对递归调用的深度做了限制,以保护解释器; 1.2、递归实例 ①、递归实现菲薄拉切数列 ②、递归 ...
分类:
编程语言 时间:
2018-09-02 18:42:18
阅读次数:
138
【题目】? 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他的数据结构。 【解答】 ?首先分为两步。第一步,得到栈底元素并移除这个栈底元素;第二步,将得到的栈底 ...
分类:
其他好文 时间:
2018-09-02 18:36:32
阅读次数:
133
递归的数学思想: 递归函数: 递归函数设计技巧: 递归函数设计示例一: 递归版strlen: 运行结果如下: 递归函数示例二: 示例如下: 运行结果如下: 递归函数示例三: 程序如下: 运行结果如下: 小结: ...
分类:
其他好文 时间:
2018-08-30 23:28:13
阅读次数:
259
递归 函数间接或直接调用函数自身就是递归 递归要有边界条件,递归前进段,递归返回段 递归一定要有边界条件, 边界条件不满足,递归前进, 满足边界条件,递归返回 斐波那契数列的递归实现 这种调用方式效率极低,每一次的计算都没有用到前一次计算出的值 可以改写为 以上方式每次计算可以用到上次的结果,n是边 ...
分类:
其他好文 时间:
2018-08-30 00:12:20
阅读次数:
118
一个函数在自己内部调用自己,需要有个返回结果import timeperson_list = ["alex", "wupqi", "yaohuan", "lhaifeng", "zhanshi"]def ask_way(person_list): print("-" * 50) if len(per ...
分类:
其他好文 时间:
2018-08-28 00:54:55
阅读次数:
145
函数数学定义:y=f(x),y是x的函数,x是自变量。y=f(x0,x1,...,xn)Python函数由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元完成一定的功能函数的作用结构化编程对代码的最基本的封装,一般按照功能组织一段代码封装的目的为了复用,减少冗余代码代码更加简洁美观、可读易懂函数的分类内建函数,如max()、reversed()等库函数,如math.ceil()
分类:
编程语言 时间:
2018-08-27 14:20:21
阅读次数:
190
形参:定义中的参数列表成为形式参数,只是一种符号表达 实参:调用时写的参数是实际参数,是实实在在传入的值 可变位置参数:在参数前加一个星号* 可变关键字参数:在参数前加两个星号** 混合使用参数时,普通参数在前 可变参数在后,可变位置参数在可变关键字参数前面 参数解构 非字典类型使用*解构成位置参数 ...
分类:
编程语言 时间:
2018-08-25 17:31:39
阅读次数:
177