递归算法之绘制等距分布二叉树

Python算法之旅

共 881字,需浏览 2分钟

 · 2022-02-15

说在前面

这个视频属于二叉树专题系列,是补去年暑假挖的坑。

在上一节中,我们演示了用数组存储二叉树和遍历二叉树的方法,很多老师对课件中出现的各种精美的二叉树图形产生了兴趣,纷纷询问我这些图形是用什么工具绘制出来的。

在草稿纸上手绘一棵二叉树是简单的,但绘制一张精美、规范的二叉树示意图却不容易,通常需要使用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:递归算法案例分析之谢尔宾斯基三角形

      讲座7:递归算法案例分析之遍历二叉树


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报