每日编程Day 6如何实现树的层次遍历?
- 内容介绍
- 文章标签
- 相关推荐
本文共计778个文字,预计阅读时间需要4分钟。
二叉树采用二叉链表进行存储(如下所示),每个节点包含数据域Data,以及左右子指针域left和right。
请设计非递归算法计算二叉树的高度。
ctypedef struct BitNode { TElemType data; struct BitNode *left; struct BitNode *right;} BitNode;
int calculateHeight(BitNode *root) { if (root==NULL) return 0;
int height=0; int queue[1000]; // 使用数组模拟队列 int front=0, rear=0; queue[rear++]=root; // 初始化队列
while (front for (int i=0; i left !=NULL) queue[rear++]=node->left; if (node->right !=NULL) queue[rear++]=node->right; } levelHeight++; height=levelHeight > height ? levelHeight : height; } return height;} 二叉树采用二叉链表进行存储(如下所示),每个结点包含数据域Data,左孩子指针域left和右孩子指针域right。
本文共计778个文字,预计阅读时间需要4分钟。
二叉树采用二叉链表进行存储(如下所示),每个节点包含数据域Data,以及左右子指针域left和right。
请设计非递归算法计算二叉树的高度。
ctypedef struct BitNode { TElemType data; struct BitNode *left; struct BitNode *right;} BitNode;
int calculateHeight(BitNode *root) { if (root==NULL) return 0;
int height=0; int queue[1000]; // 使用数组模拟队列 int front=0, rear=0; queue[rear++]=root; // 初始化队列
while (front for (int i=0; i left !=NULL) queue[rear++]=node->left; if (node->right !=NULL) queue[rear++]=node->right; } levelHeight++; height=levelHeight > height ? levelHeight : height; } return height;} 二叉树采用二叉链表进行存储(如下所示),每个结点包含数据域Data,左孩子指针域left和右孩子指针域right。

