二叉树构造和线索二叉树

Posted kirosola

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树构造和线索二叉树相关的知识,希望对你有一定的参考价值。

中序先序构造

BTNode* CreateBT(char* pre, char* in, int n)

	char* p;
	BTNode* b;
	int k;
	if (n <= 0)
		return NULL;
	b = (BTNode*)malloc(sizeof(BTNode));
	b->data = *pre;
	for (p = in; p < in + n; p++)
	
		if (*p == *pre)
			break;
	
	k = p - in;
	b->lchild = CreateBT(pre+1, in, k);
	b->rchild = CreateBT(pre + k + 1, p+1, n - k - 1);
	return b;

  中序后序构造

BTNode* CreateBT2(char* in, char* post, int n)

	int k;
	char* p;
	BTNode* b = (BTNode*)malloc(sizeof(BTNode));
	if (n <= 0)
		return NULL;
	b->data = *(post + n - 1);
	for (p = in; p < in + n; p++)
	
		if (*p == *(post + n - 1))
			break;
	
	k = p - in;
	b->lchild = CreateBT2(in, post, k);
	b->rchild = CreateBT2(p + 1, post + k, n - k - 1);
	return b;

  

以上是关于二叉树构造和线索二叉树的主要内容,如果未能解决你的问题,请参考以下文章

二叉树构造和线索二叉树

数据结构二叉树

线索化二叉树

数据结构(C语言版)严蔚敏->二叉树(链式存储结构)的构造及其几种遍历方式(先序中序后序层次)和线索二叉树

数据结构(C语言版)严蔚敏->二叉树(链式存储结构)的构造及其几种遍历方式(先序中序后序层次)和线索二叉树

数据结构(C语言版)严蔚敏->二叉树(链式存储结构)的构造及其几种遍历方式(先序中序后序层次)和线索二叉树