网站首页
Veda 原型
互联网资讯
魔法图书馆
晚上八点
订阅
邮件
Veda 原型
成功,唯有积累,没有奇迹
编程语言
PHP服务器脚本
Python程序设计
Java编程语言
C/C++编程语言
前端设计
HTML/HTML 5
CSS层叠样式表
JavaScript
JQuery
Ajax技术
Flex/ActionScript
计算机基础
数据结构
计算机算法
编程思想
面向对象技术
计算机数学与基础
数据之美
数据库技术
Web设计理念
软件架构技术
开源与工具
开源项目与工具
信息安全
搜索引擎优化
网站运维
移动开发
iOS开发
Android开发
程序与生活
IT人家
智力开发
互联网时代
游戏 享受与创造
友情链接
博客导航
专题列表
计算机书籍推荐
关于本站
以图明志
-A wakening of the Trailblazer-
Gundam OO
Unlimited Blade Works
Fate Stay Night
Code Geass
Code Geass
Gundam OOQ Design
Gundam OO
Aeolia Schenberg
Gundam OO
计算机数学与基础
轻松理解吞吐量与延迟,信号量与互斥锁
两个精彩的比喻
吞吐量
互斥锁
在 2012年11月21日 那天写的
20,885 views
关于吞吐量(throughput)和延迟(latency)的。我们可以把网络发送数据包比喻成去街边的 ATM 取钱。每一个人从开始使用 ATM 到取钱结束整个过程都需要一分钟,所以这里的延迟是60秒,那吞吐量呢?当然是 1/60 人/秒。现在银行升级了他们的 ATM 机操作系统,每个人只要30秒就可以完成取款了。
阅读全文 >>
计算机算法
SICP:费马小定理与素数检测
费马小定理是数论的基础理论之一
费马小定理
素数
在 2012年11月05日 那天写的
22,757 views
我知道费马等一些人都热衷于“纯数学”,那些被看起来毫无实用价值的“纯理论”,可这费马检查,却是全世界的服务器每秒中都要运行无数次的 RSA 算法的理论基石。就我自己而言,每天使用 SSH 的时候都要用到。而几位科学家把这这一切联系起来的过程,实在称得上是“玄妙”了。
阅读全文 >>
计算机数学与基础
你写的C语言代码在内存里是如何布局的?
BSS段,数据段,代码段
编译
内存
在 2012年11月04日 那天写的
20,098 views
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。程序编译后生成的目标文件至少含有这三个段。
阅读全文 >>
计算机算法
漫谈递归:从汇编看尾递归的优化
尾递归的编译器优化
尾调用
优化
在 2012年10月18日 那天写的
20,930 views
对于尾递归,很多人的理解仅局限于它是递归和尾调用的一个合体,比普通递归效率高。至于效率为什么高,高在哪,可能没有深究过。 在执行函数B时,函数A的栈帧其实是已经大部分没用了,可以被修改或覆盖。编译器可以利用这一点进行优化,函数B执行后直接返回到函数A的调用者。
阅读全文 >>
计算机算法
漫谈递归:PHP里的尾递归及其优化
PHP编译器没有对尾递归进行优化
尾递归
优化
在 2012年10月17日 那天写的
25,496 views
事实证明,尾递归在php中是没有任何优化效果的。一般的线性递归修改成为尾递归最大的优势在于减少了递归调用栈的开销。从php那个例子就明显看出来递归开销对程序的影响。但是并不是所有语言都支持尾递归的,即使支持尾递归的语言也一般是在编译阶段对尾递归进行优化,比如C语言对尾递归的优化。
阅读全文 >>
计算机算法
漫谈递归:补充一些Continuation的知识
Continuation在函数式编程是非常自然的
尾递归
Continuation
在 2012年10月15日 那天写的
14,179 views
Continuation是一种非常古老的程序结构,简单说来就是entire default future of a computation, 即对程序“接下来要做的事情”所进行的一种建模,即为“完成某件事情”之后“还需要做的事情”。而这种做法,也可以体现在尾递归构造中。在函数式语言中,continuation的引入是非常自然的过程。
阅读全文 >>
计算机算法
漫谈递归:尾递归与CPS
尾递归就是Continuation Passing Style
尾递归
CPS
在 2012年10月14日 那天写的
23,659 views
与普通递归相比,由于尾递归的调用处于方法的最后,因此方法之前所积累下的各种状态对于递归调用结果已经没有任何意义,因此完全可以把本次方法中留在堆栈中的数据完全清除,把空间让给最后的递归调用。这样的优化便使得递归不会在调用堆栈上产生堆积,意味着即时是“无限”递归也不会让堆栈溢出。这便是尾递归的优势。
阅读全文 >>
计算机算法
漫谈递归:从斐波那契开始了解尾递归
对尾递归的大概了解
尾递归
斐波那契
在 2012年10月12日 那天写的
45,207 views
尾部递归是一种编程技巧。递归函数是指一些会在函数内调用自己的函数,如果在递归函数中,递归调用返回的结果总被直接返回,则称为尾部递归。尾部递归的函数有助将算法转化成函数编程语言,而且从编译器角度来说,亦容易优化成为普通循环。这是因为从电脑的基本面来说,所有的循环都是利用重复移跳到代码的开头来实现的。
阅读全文 >>
编程思想
递归计算过程与迭代计算过程
编程需要了解的基础知识
递归
迭代
在 2012年10月10日 那天写的
30,418 views
递归是实现程序计算过程中的描述过程的基本模式之一,在讨论递归的问题前我们必须十分小心,因为递归包含两个方面的内容,一个是递归的计算过程,一个是递归过程,后者是语法上的事实而前者是概念上的计算过程,事实上在程序上我们也许是使用循环来实现的。
阅读全文 >>
计算机算法
漫谈递归:循环与迭代是一回事吗?
理清递归、迭代、循环的概念
循环
迭代
在 2012年10月10日 那天写的
64,159 views
迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。个人认为迭代是循环的一种,循环体代码分为固定循环体,和变化的循环体。
阅读全文 >>
计算机算法
漫谈递归:递归与循环
大部分递归可以转化为循环
递归
循环
在 2012年10月09日 那天写的
26,968 views
大家都知道递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等,这是通过一个递归工作栈实现的。递归是利用系统的堆栈保存函数当中的局部变量来解决问题的。递归说白了就是在栈处理栈上一堆的指针指向内存中的对象,这些对象一直不被释放,直到递归执行到最后一次跳出条件的时候,才一个个出栈。所以开销很大。
阅读全文 >>
计算机算法
漫谈递归:递归的效率问题
效率和开销问题是递归最大的缺点
效率
开销
在 2012年10月08日 那天写的
47,471 views
递归在解决某些问题的时候使得我们思考的方式得以简化,代码也更加精炼,容易阅读。那么既然递归有这么多的优点,我们是不是什么问题都要用递归来解决呢?难道递归就没有缺点吗?今天我们就来讨论一下递归的不足之处。谈到递归就不得不面对它的效率问题。
阅读全文 >>
计算机算法
如何用牛顿法求一个数的平方根
牛顿的逐步逼进方法
牛顿迭代法
在 2012年10月07日 那天写的
54,988 views
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。
阅读全文 >>
计算机算法
漫谈递归:二分查找算法的递归实现
用递归写一个二分查找
二分查找
递归
在 2012年10月07日 那天写的
26,336 views
还有一个典型的递归例子是对已排序数组的二分查找算法。现在有一个已经排序好的数组,要在这个数组中查找一个元素,以确定它是否在这个数组中,很一般的想法是顺序检查每个元素,看它是否与待查找元素相同。这个方法很容易想到,但它的效率不能让人满意,它的复杂度是O(n)的。现在我们来看看递归在这里能不能更有效。
阅读全文 >>
计算机算法
漫谈递归:字符串回文现象的递归判断
回文符合递归的两个条件
回文
递归
在 2012年10月06日 那天写的
25,644 views
回文是一种字符串,它正着读和反着读都是一样的。比如level,eye都是回文。用迭代的方法可以很快地判断一个字符串是否为回文。用递归的方法如何来实现呢?如果一个字符串是回文,那么在它的内部一定存在着更小的回文。 比如level里面的eve也是回文。 而且,我们注意到,一个回文的第一个字符和最后一个字符一定是相同的。
阅读全文 >>
计算机算法
漫谈递归:递归需要满足的两个条件
还是拿斐波那契数列来做例子
递归
斐波那契
在 2012年10月05日 那天写的
31,854 views
递归,并不是简单的“自己调用自己”,也不是简单的“交互调用”。它是一种分析和解决问题的方法和思想。简单来说,递归的思想就是:把问题分解成为规模更小的、具有与原问题有着相同解法的问题。比如二分查找算法,就是不断地把问题的规模变小(变成原问题的一半),而新问题与原问题有着相同的解法。
阅读全文 >>
2 / 22
首页
< Prev
1
2
3
4
5
Next >
尾页
页码:
邮件订阅
输入您的邮箱地址,将会收到本站的文章更新信息,赶紧订阅吧。
RSS
Google
鲜果
抓虾
九点
有道
哪吒
QQ邮箱
时不我待
本周热门博文
品读《诫子书》
129 views
更多优秀文章,请移步
精华排行
互联网资讯
陈一舟:创业18年,我领悟的五点心得
384 views
ADS
大音声稀
今天的努力决定未来的成败。
晚八点
新时代严肃阅读指南:文本矩阵简述
662 views
我的微博
ADS
文章分类
PHP服务器脚本
( 473 )
IT人家
( 310 )
JavaScript
( 259 )
数据结构
( 148 )
互联网时代
( 128 )
Web设计理念
( 118 )
智力开发
( 106 )
计算机算法
( 94 )
数据库技术
( 81 )
编程思想
( 68 )
搜索引擎优化
( 66 )
开源项目与工具
( 61 )
C/C++编程语言
( 58 )
CSS
( 56 )
软件架构技术
( 42 )
JQuery
( 32 )
HTML
( 24 )
计算机数学与基础
( 22 )
Ajax技术
( 15 )
Android
( 14 )
网站运维
( 14 )
信息安全
( 11 )
Flex/ActionScript
( 10 )
面向对象技术
( 9 )
Python程序设计
( 4 )
iOS开发
( 1 )
专题推荐
结构之美
( 16 )
PHP安全编程
( 33 )
PHP面向对象之旅
( 31 )
漫谈递归
( 13 )
PHP设计模式
( 5 )
MagicNotes
( 10 )
其它
捐助本站
计算机书籍推荐
Sponsors
按月归档
2019-08
( 1 )
2019-07
( 13 )
2016-11
( 1 )
2016-10
( 1 )
2016-09
( 1 )
2016-08
( 2 )
2016-06
( 1 )
2016-05
( 3 )
2016-04
( 2 )
2016-03
( 1 )
2016-01
( 1 )
2015-11
( 1 )
2015-10
( 1 )
2015-08
( 1 )
2015-07
( 1 )
2015-06
( 1 )
2015-05
( 1 )
2015-04
( 1 )
2015-02
( 1 )
2014-12
( 1 )
2014-10
( 1 )
2014-09
( 1 )
2014-08
( 1 )
2014-07
( 2 )
2014-06
( 1 )
2014-05
( 2 )
2014-04
( 2 )
2014-03
( 2 )
2014-02
( 5 )
2014-01
( 14 )
2013-12
( 2 )
2013-11
( 3 )
2013-10
( 3 )
2013-09
( 3 )
2013-08
( 5 )
2013-07
( 8 )
2013-06
( 7 )
2013-05
( 3 )
2013-04
( 4 )
2013-03
( 4 )
2013-02
( 6 )
2013-01
( 8 )
2012-12
( 10 )
2012-11
( 13 )
2012-10
( 20 )
2012-09
( 36 )
2012-08
( 55 )
2012-07
( 58 )
2012-06
( 67 )
2012-05
( 86 )
2012-04
( 72 )
2012-03
( 100 )
2012-02
( 100 )
2012-01
( 113 )
2011-12
( 135 )
2011-11
( 199 )
2011-10
( 163 )
2011-09
( 150 )
2011-08
( 163 )
2011-07
( 128 )
2011-06
( 97 )
2011-05
( 59 )
2011-04
( 4 )
2011-03
( 121 )
2011-02
( 32 )
2011-01
( 46 )
2010-08
( 1 )
2010-02
( 30 )
2010-01
( 11 )
2009-12
( 5 )
2009-11
( 1 )
2009-08
( 5 )
2009-07
( 20 )
2009-06
( 1 )