算法分析:
循环算法和递归算法 无论时间效率还是空间效率都是前者高。递归算法在运行时,函数调用保存现场、开辟运行资源、返回回收资源都需要耗时。递归算法的参数表面是一个变量,实际上市一个栈。
结论1:
递归确实是一些复杂的问题处理起来简单明了,但是,就效率而言,递归算法的实现往往比循环算法耗费更多的时间和存储空间,也限制了递归的深度。所以,在具体的实现中,应尽可能把递归算法转换为等价...
分类:
其他好文 时间:
2014-06-20 13:18:09
阅读次数:
170
《重构-改善既有代码的设计》Martin Fowler 摘要: 第九章 简化条件表达式
Decompose Conditinal 分解条件表达式
你有一个复杂的条件(if-then-else)语句
从三个段落中分别提炼出独立函数
Consolidate Conditional Expression 合并条件表达式
你有一系列条件测试,都得到相同结果
将这...
分类:
其他好文 时间:
2014-06-20 13:03:15
阅读次数:
212
昨天做了leetcode里的 Longest Palindromic Substring ,一开始用动态规划O(N^2),不管怎么改都超时了。。。于是在大神的帮助下,找到了传说中的Manacher算法,居然能在O(n)内求出来,瞬间给跪了。
本屌认为,这个算法主要是充分的利用了以前的匹配的结果,来起到了降低时间复杂度的作用,这点跟KMP算是有点类似。在预处理时有个小技巧就是将第0,1为设...
分类:
其他好文 时间:
2014-06-20 12:15:22
阅读次数:
305
前两天我们简单的了解了有关一种特殊的存储过程——触发器的相关知识,今天要写得是关于存储过程的一些简单的理论和实际应用的知识。
首先,我们需要了解的是什么是存储过程,以及它的格式。
定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。...
分类:
数据库 时间:
2014-06-20 11:08:47
阅读次数:
197
就像我其他博文中说的,对于软件的优化除开算法,全部都是为流水线服务的.所以优化的时候要时刻记住一这点.由于优化的东西比较杂,我写的不是很好,所以在文章的最后,我会试着提炼出一些通用性的原则.
由于之前在WPS上写的,所以代码没有用模版来排版,各位看官就将就着看吧..我也只是为了提炼一次知识,真正的优化还是认真看一遍书来的好.
有哪些方法优化软件?
通常有两种方式,一种是通过编译器,另一...
分类:
其他好文 时间:
2014-06-20 09:17:09
阅读次数:
321
XML
中没有规定哪些必须放在属性或者子元素,因此使用哪种方式都是可以实现的。这取决于个人的经验和喜好。在可以使用元素也可以使用属性的两选一的情况下,个人更倾向于使用子元素。主要理由如下:
1. 属性不易扩展,只能支持简单数据类型。如果要定义的数据项将来可能扩展为复杂数据对象时,则应毫不犹豫地使用子...
分类:
其他好文 时间:
2014-06-07 10:35:09
阅读次数:
227
在所有的预处理指令中,#Pragma
指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是...
分类:
其他好文 时间:
2014-06-07 10:29:57
阅读次数:
505
转载于:http://www.uxtribe.com/php/405.html该站下有系列PHP文章。在Linux下搭建PHP环境比Windows下要复杂得多。除了安装Apache,PHP等软件外,还要安装一些相关工具,设置必要参数。而且,如果要使用PHP扩展库,还要进行编译。安装之前要准备如下安装...
分类:
Web程序 时间:
2014-06-07 09:52:34
阅读次数:
361
简介:锦鲤,是风靡当今世界的一种中档观赏鱼,有“水中活宝石”、“会游泳的艺术品”的美称。由于它对水质要求不高,食性较杂,易繁殖,故受到人们的欢迎形态特征:锦鲤体格健美、色彩艳丽、花纹多变、泳姿雄然,具极高的观赏和饲养价值。其体长可达1-1.5米.锦鲤由不同的色彩、图案和鱼鳞来区分。于1980年代培育...
分类:
其他好文 时间:
2014-06-07 07:52:13
阅读次数:
501
skiplist介绍跳表(skip
List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,跳表是由William
Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能...
分类:
其他好文 时间:
2014-06-07 07:18:01
阅读次数:
239