二叉树作为一种常见的数据结构,我们在学习的过程中会经常用到.
当我们做课设的时候,能把二叉树图形化的打印出来无疑是一个加分项,所以今天我们就来探讨一下如何图形化的打印出二叉树来.
目录
分析阶段
如何打印
我们要完成二叉树的打印,至少要保证所有的节点都能打印在屏幕上而不冲突,而一个二叉树节点最多的情况就是满二叉树.所以我们只需要想好满二叉树如何打印出来便可.
打印二叉树需要以二叉树的遍历为基础,我们要打印出每一个节点就需要对每一个节点进行遍历,在遍历二叉树时递归的先序(中序,后序)更为简单.而控制台打印时只能一行一行的打印,所以我们可以将要打印出来的图形先存储到一个数组中.
存在数组就必定要有大小,数组的大小取决于我们二叉树的高度.
只有一个根节点的二叉树只需要一个1×1的数组就可以存储开
1 |
当有一个根节点及其左右孩子时,我们便需要5×3的数组来存储(为了美观起见,加上了斜杠和反斜杠)
1 | ||||
/ | \ | |||
1 | 1 |
让我们在加一层,当二叉树达到三层时,需要13×7的数组来存放
1 | ||||||||||||
/ | \ | |||||||||||
/ | \ | |||||||||||
/ | \ | |||||||||||
1 | 1 | |||||||||||
/ |