随笔分类 -  递归

算法的基础
摘要:栈stack栈是一种后进后出机制,它只允许访问访问一个数据项,即 栈顶(最后插入的数据项)。它有主要的三种操作:push,向栈内压入值;pop,弹出栈顶的值,即返回栈顶的值,并把它从栈内删除;peek,只返回但不删除栈顶。概念很容易理解,无非就像给弹匣压子弹等等这种类比,但是像我这样的新手在刚接触到栈的时候总是很迷茫,认为它很难,其实这只是错觉,主要是因为没有搞清楚栈主要用在那些场景。栈普遍应用于... 阅读全文
posted @ 2009-01-02 22:02 朱煜 阅读(655) 评论(0) 推荐(0)
摘要:在实际编程中,有许多定义或者问题本身就具有递归性质.所以我们顺其自然就想到用递归来解决.这样不仅代码少,而且结构清晰.但是问题是我们应该怎样设计递归呢?这确实一个问题,由于许多问题并不是很明显的表现出递归的关系,所有很大一部分需要我们进行推导,从而得出递归关系,有了递归关系,编写代码就相对的比较简单了.首先,我们了解递归算法的特点,所谓的递归,就是把一个大型的复杂的问题层层的转化为一个与原问题相似... 阅读全文
posted @ 2009-01-02 21:58 朱煜 阅读(715) 评论(0) 推荐(0)