摘要:
看了一些资料,对于二叉树的非递归实现原理不是很理解,下面的博客中给出了一些解释,收藏下来:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来 阅读全文
摘要:
转自:http://www.cnblogs.com/marrywindy/archive/2010/08/19/1803288.html代码 二:查找
:顺序查找
(整型与零的比较,int i,用if(i!=0),或if(i==0)。 #include "stdio.h" bool SequenceSearch(int*& p,int k,int n,int& pos)
{ int i=0; while (i<n && p[i]!=k) { i++; } if (i>=n) { return false; ... 阅读全文
摘要:
转自:http://www.cnblogs.com/marrywindy/archive/2010/10/29/1864067.html代码 /* purpose:实现链表的几种操作 */ #include "stdio.h" #include "stdlib.h" #include "malloc.h" struct SNode { int ivalue; struct SNode* next; }; /***************************************************************** 阅读全文
摘要:
转自:http://blog.csdn.net/karldoenitz/article/details/8246787// 二叉树.cpp : 定义控制台应用程序的入口点。
//
/*
*二叉树作业
*2012.12.1 13:55
*Made By Karld Vorn Doenitz
*/ #include "stdafx.h"
#include<iostream>
#include<string> using namespace std; class TreeNode{//建立节点类
public: char num; TreeNode *le 阅读全文
摘要:
转自:http://blog.csdn.net/that163/article/details/8040009分别用了三种不同的方法实现了二叉树的前序遍历。 1 #include<iostream> 2 #include<stack> 3 using namespace std; 4 struct BTreeNode{ 5 //二叉树 6 int data; 7 BTreeNode *lchild; 8 BTreeNode *rchild; 9 BTreeNode *parent;10 };11 /*12 void PreOrder... 阅读全文
摘要:
转自:http://www.cnblogs.com/marrywindy/archive/2010/08/21/1805336.html二叉树的一般操作,实现了下:主要练习了二叉树的非递归遍历,利用栈,和队列来完成。算法思想,没描述清楚,表达能力很差...崩溃....代码 #include "stdio.h"
#include "malloc.h" #define MAXSIZE 20
//二叉树结点的结构体表示形式
typedef struct node
{ char data; struct node* left,*right;
}BTree; // 阅读全文