1、 递归算法:quicksort.cpp#include using namespace
std;void Swap(int a[],int i,int j){ int temp=a[i]; a[i] = a[j]; a[j] = temp;}int
Partition(int a[],int l...
分类:
其他好文 时间:
2014-05-27 02:29:55
阅读次数:
274
二叉树非递归访问,借助一个栈,来模拟递归调用过程。struct TreeNode { char
val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL),
right(NULL...
分类:
其他好文 时间:
2014-05-26 22:25:25
阅读次数:
353
深度搜索应用之黑白图像(非递归)前言: 使用深度搜索,有两个方法:递归,栈。本质是栈。
递归有一个缺陷,栈溢出。栈有一个缺陷,程序相对递归更复杂。练习题:
输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连...
分类:
其他好文 时间:
2014-05-26 21:53:21
阅读次数:
344
#include#include#include#include#include#includeusing
namespace std;class node{public: int val; node* left; node* right;
node():val(0),lef...
分类:
其他好文 时间:
2014-05-26 16:14:18
阅读次数:
280
出题:反转链表(递归和非递归解法);分析:有递归跟非递归实现,注意对原始链表头节点的处理,因为其他节点都指向下一个节点,其需要指向NULL;解题: 1
struct Node { 2 int v; 3 Node *next; 4 }; 5 Node* NonRecur...
分类:
其他好文 时间:
2014-05-22 05:20:04
阅读次数:
310
上得厅堂,下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练!...
分类:
其他好文 时间:
2014-05-21 14:40:19
阅读次数:
232
简述树的深度优先及广度优先遍历算法,并说明非递归实现。原题出自百度的笔试:当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构:深度优先遍历--->栈;广度优先遍历--->队列;这里以二叉树为例来实现。import
java.util.ArrayD...
分类:
其他好文 时间:
2014-05-20 02:33:07
阅读次数:
425
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。
线性表有...
分类:
编程语言 时间:
2014-05-19 11:36:46
阅读次数:
369
实现操作
(1)二叉搜索树的建立
(2)二叉搜索树的插入
(3)二叉搜索树的三种递归遍历(前序、中序和后续)
(4)二叉搜索树的三种非递归遍历(前序、中序和后续)
(5)二叉搜索树的逐层打印
有时间再实现:
(6)二叉搜索树的前驱和后继查找
(7)二叉搜索树的删除
源码分析:
#include
#include
#include
using namespace st...
分类:
编程语言 时间:
2014-05-18 10:28:47
阅读次数:
492
先序遍历和中序遍历非递归代码:#include #include using
namespace std;typedef struct BinaryTree { int data; struct BinaryTree *rchild,
*lchild;}BinaryTree;int cr...
分类:
其他好文 时间:
2014-05-17 21:56:50
阅读次数:
264