码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
python 函数和函数式编程
什么是函数调用函数创建函数传入函数形参变长参数函数式编程变量的作用域递归生成器1 什么是函数函数是对程序逻辑进行结构化或过程化的一种编程方法。能将整块代码巧妙地隔离成易于管理的小块,把重复代码放到函数中而不是进行大量的拷贝--这样既能节省空间,也有助于保持一致性,因为你只需改变单个的拷贝而无须去寻找...
分类:编程语言   时间:2014-05-17 00:34:13    阅读次数:387
快速排序、堆排序和归并排序的实现
1、快速排序 通过选择轴值,一次划分都能确定该轴值得位置,其时间复杂度最好的情况(每次划分都恰好将区间平分为等长的两半)下为Ο(nlgn),最差情况(每次划分将区间分成0与n-1)为O(n^2)。其空间复杂度考虑递归的栈深为O(lgn)。 1 /********************...
分类:其他好文   时间:2014-05-16 19:24:46    阅读次数:361
【数据结构】栈和队列
没什么多说的。栈:后进先出,LIFO队列:先进先出, FIFO讲了递归时用到栈,和栈的顺序表示。队列讲了链式表示和循环队列(顺序表示)。实际上都可以用链式和顺序表示,看情况选吧。里面的例题都还挺不错的,自己做了一遍,都是按照书上的结构来的,现在才知道C++STL里都实现了这些功能了,直接调用就成.....
分类:其他好文   时间:2014-05-16 06:18:38    阅读次数:215
LeetCode OJ - Sort List
题目: Sort a linked list inO(nlogn) time using constant space complexity.解题思路: 复杂度为O(n* logn) 的排序算法有:快速排序、堆排序、归并排序。对于链表这种数据结构,使用归并排序比较靠谱。递归代码如下:代码: /...
分类:其他好文   时间:2014-05-16 05:49:04    阅读次数:266
grep-diff命令
grep:文本搜索,给定某些字符串进行匹配格式:grep parameter char addressparameter:-a:不要忽略二进制-c:计算符合结果的行数-i:忽略字符大小写-r:在指定路径递归查找[jiaxin@computer ~]$ grep 3 ./x123345367diff:...
分类:其他好文   时间:2014-05-16 05:18:43    阅读次数:316
【C语言】汉诺塔问题
之前遇见这个问题,非常费劲地理解了,并写出代码,然后过段时间,再遇见这个问题,又卡住了,如此反反复复两三次,才发现自己对递归的理解依然很肤浅。今天无聊,重温《算法:c语言实现》一书,又遇见了这个问题,心头一紧,担心要费些时间才能写出代码,没想到的是,再理解了书中对递归的定义,蒙住源代码动手写,发现很...
分类:编程语言   时间:2014-05-15 16:06:56    阅读次数:304
【剑指offer】递归循环两种方式反转链表
本文分别用非递归和递归两种方式实现了链表的反转,在九度OJ上测试了非递归版本,AC。 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。 输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。 输出: 对应每个测试案例, 以此输出链表反转后的元素,如没有元素则输出NULL。 样例输入:...
分类:其他好文   时间:2014-05-15 06:41:12    阅读次数:315
【剑指offer】合并两有序单链表
九度OJ上AC,采用归并的思想递归实现。 题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 (hint: 请务必使用链表。) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为两个整数n和m(0<=n<=1000, 0<=m<=1000):n代表将要输入的第一个链表的元素的个数,m代表将要输入的第二个链表的元素的个数。 下面一行包括n个数t(1<=t<=1000000):代表链表一中的元素。接下来一行包含m个元素,s...
分类:其他好文   时间:2014-05-15 03:18:31    阅读次数:356
欧几里德(辗转相除发)算法
辗转相除,又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公约数的算法。此处用函数的递归调用编写了一个小程序:int gcd(int a,int b){ if(a%b==0) return b; else return gcd(b,a%b)...
分类:其他好文   时间:2014-05-14 10:20:27    阅读次数:241
判断一棵树是否为二叉排序树
今天看到了一段判断是否为二叉排序树的代码,感觉有点问题,在网上一搜还真有不少这么做的原本的思路大概是这样的吧,判断根节点值是否比左子节点的值大且比右子节点的值小,若成立,递归判断左子右子。不成立返回false,代码就不贴了。想了一下,如果下面这样的树是不是也判定为二叉排序树,但是根据定义,这不是一个...
分类:其他好文   时间:2014-05-14 07:15:49    阅读次数:359
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!