递归算法之绘制等距分布二叉树
说在前面
这个视频属于二叉树专题系列,是补去年暑假挖的坑。
在上一节中,我们演示了用数组存储二叉树和遍历二叉树的方法,很多老师对课件中出现的各种精美的二叉树图形产生了兴趣,纷纷询问我这些图形是用什么工具绘制出来的。
在草稿纸上手绘一棵二叉树是简单的,但绘制一张精美、规范的二叉树示意图却不容易,通常需要使用Photoshop等专业制图软件来绘制,耗时耗力,效果还不一定好。
今天我来教大家如何使用海龟绘图绘制一张规范美观的二叉树图片。
课后练习
自定义函数draw_tree(a)使用海龟绘图按层序绘制对称分布二叉树。
使用数组实现二叉树,自定义函数get_nodes_pos(a)实现按层序获取各节点信息功能。
提示:①在嵌套递归函数postorder_tree(a,res, i, y)中后序遍历存储完全二叉树的结点,以确保叶子节点的x坐标从左到右递增,分支节点的x坐标为其孩子节点x坐标的平均值。
②充分利用draw_node(x,y, r, data, size)和draw_line(x1,y1, x2, y2, r)绘制点和连线。
需要本文PPT、源代码和课后练习答案的,可以加入“Python算法之旅”知识星球参与讨论和下载文件,“Python算法之旅”知识星球汇集了数量众多的同好,更多有趣的话题在这里讨论,更多有用的资料在这里分享。
我们专注Python算法,感兴趣就一起来!
相关优秀文章:
讲座1:递归算法案例分析之入门第一课
讲座2:递归算法案例分析之猴子吃桃问题
讲座3:递归算法案例分析之斐波那契数列
讲座4:递归算法案例分析之寻找轻球问题
讲座5:递归算法案例分析之汉诺塔游戏
讲座6:递归算法案例分析之谢尔宾斯基三角形
评论