求二叉树带权路径长度——递归与非递归实现

二叉树存储结构:

typedef struct Tnode
{
	char data;
	struct Tnode *lnode;
	struct Tnode *rnode;
}Tnode;
typedef  Tnode* type;

队列的实现:

struct queue
{
	type member[max];
	int tail,head;
};
void initqueue(queue *q)
{
	q->head=q->tail = 0;
}
void pushqueue(queue *q,type o)
{
	if (q->tail > 50)
		return;
	q->member[q->tail++] = o;
}
type popqueue(queue *q)
{
	if (q->tail == 0)
		return NULL;
	return q->member[q->head++];
}
bool isqueueemty(queue *q)
{
	return q->tail ==q->head? true : false;

问题求解——递归实现:
求二叉树带权路径长度——递归与非递归实现C语言实现代码下载

你可能感兴趣的:(数据结构与算法,二叉树,带权路径长度,递归与非递归,数据结构与算法,王道考研)