二叉树先序创建和先序遍历

标签: 数据结构
19人阅读 评论(1) 收藏 举报
分类:

先序遍历顺序: 先访问根结点,再访问左子树,最后访问右子树

先序序列的排序也是如此,根结点   左子树   右子树


1.结构体

struct BitNode
{
	char data;
	struct BitNode *lchild;    //左子树 
	struct BitNode *rchild;	   //右子树 
};

2.二叉树先序方式创造

BitNode* CreateBitNode(BitNode * bt) //按照先序的方式进行创建 输入方式为AB**C** 遍历结果为ABC 
{
	char c;
	scanf("%c",&c);
	if( c == '*'){
		bt=NULL;      //若是输入为*,则表示该树为NULL
	}
	else{ 
		bt = (BitNode *)malloc(sizeof(BitNode));    //申请内存空间
		bt->data = c;
		bt->lchild =  CreateBitNode(bt->lchild);    //创建左子树
		bt->rchild =  CreateBitNode(bt->rchild);    //创建右子树
	}
	return bt;
} 
3.先序遍历

void Bit_PreOrder(BitNode * bt)     //先序遍历 
{
	if(bt!=NULL){
		printf("%c",bt->data);   	//打印根结点
		Bit_PreOrder(bt->lchild);   	//遍历左子树
		Bit_PreOrder(bt->rchild);	//遍历右子树
	}
}

4.结果测试

int main()
{
	char a[10],c;
	BitNode * bt = NULL;
	bt = CreateBitNode(bt);
	Bit_PreOrder(bt);
	return 0;
 } 




查看评论

Python算法实战视频课程--二叉树

-
  • 1970年01月01日 08:00

数据结构--java实现二叉树的先序、中序、后序、层次遍历及根据先序中序建立二叉树

数据结构--java实现二叉树的先序、中序、后序、层次遍历及根据先序中序建立二叉树 1.二叉树节点的定义 public class BiTreeNode { public Object data...
  • ping1632743560
  • ping1632743560
  • 2016-10-23 16:00:05
  • 757

简单二叉树的建立和遍历

C语言建立先序二叉树,然后分别用先序,中序,后序遍历输出该二叉树。
  • yanxiuhao
  • yanxiuhao
  • 2017-03-13 13:47:38
  • 881

(C语言版)二叉树遍历算法——包含递归前、中、后序和层次,非递归前、中、后序和层次遍历共八种

首先,要感谢网上的参考资料。 http://mengliao.blog.51cto.com/876134/1178079(作者:BlackAlpha)http://blog.csdn.net/fz...
  • u011248694
  • u011248694
  • 2014-03-18 14:08:38
  • 2081

先序遍历建立并输出二叉树(递归算法)

//代码如下:#include#includetypedef struct Node //二叉树结构定义{ char data; struct Node *lchild; struc...
  • u010660346
  • u010660346
  • 2013-11-22 11:35:31
  • 2571

二叉树(先序创建,前中后序及按层遍历)

.h文件 #include #include struct biTree{ char data; struct biTree * lchild, * rchild; }; struct ...
  • u011700203
  • u011700203
  • 2014-04-16 21:27:04
  • 1630

二叉树先序建树及先序遍历

#include   using namespace std;   int N = 0; typedef struct node   {       struct node *leftChild;...
  • seebetpro
  • seebetpro
  • 2016-04-19 00:34:35
  • 1481

二叉树的创建 先序 中序 后续 递归和非递归遍历

二叉树 递归非递归遍历 总结
  • u011561690
  • u011561690
  • 2015-04-15 19:00:22
  • 908

根据先序遍历建立一个二叉树

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如下的先序遍历字符串:ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起...
  • t46414704152abc
  • t46414704152abc
  • 2017-04-25 23:26:38
  • 2130

【数据结构】扩充先序遍历创建二叉树

之前接触和学习的大多是二叉树的应用,即:二叉树的遍历、查找和排序等等。今天小编要介绍的是二叉树的创建。 为了在程序中更有效和直观的创建一棵二叉树,可以使用,扩充先序遍历,来创建二叉树。 【定义】 扩充...
  • u013036274
  • u013036274
  • 2016-12-14 16:57:12
  • 1854
    个人资料
    持之以恒
    等级:
    访问量: 9543
    积分: 1170
    排名: 4万+
    文章存档
    最新评论