算法小议
溪水流不停
远处的是风景,近处的才是人生!
展开
-
来说说二叉树非递归遍历
二叉树的遍历早之前和同学聊天时,就提到了当时实习面试有一题就是要求非递归实现二叉树遍历,二叉树本身就是一种通过递归定义的数据结构,所以用递归的方法遍历二叉树是很容易的,而二叉树的遍历又分为前序遍历,中序遍历以及后序遍历,其中非递归的算法前序遍历和中序遍历稍简单,后序遍历稍复杂,并且都要用到栈,下面算法以如下二叉树为例: 则算法遍历的路线图如下所示:前序遍历前序遍历中,对于任一节点P可以看成根节原创 2015-04-02 20:54:11 · 612 阅读 · 0 评论 -
来说说二分查找
二分查找是我们经常会遇到的算法,思路清晰,代码简洁。二分查找要求序列有序,且支持随机存取,一般情况下我们讨论的序列不存在相同元素,则二分查找可以很熟练的表示如下: int binsearch(int A[], int n, int target) { int left=0,right=n-1,res=-1; while(left<=right)原创 2015-04-01 16:13:59 · 492 阅读 · 0 评论