Scratch-二叉樹繪畫

2020-12-11 酷叮貓少兒編程

[定義]

二叉樹是一種特殊的樹,它具有以下特點(1)樹中每個節點最多只能有兩棵樹,即每個節點的度最多為2。 (2)二叉樹的子樹有左右之分,即左子樹右子樹,次序不能顛倒。 (3)二叉樹即使只有一個子樹時,也要區分是左子樹還是右子樹。

如圖:

左子樹

右子樹

[編程思路]

1、首先先畫樹幹(指令)

2、接下來畫全部

單擊綠旗運行程序,將會畫出一顆簡單的二叉樹。就好像是春天剛剛到來,樹枝上只長出一些小嫩芽。效果見圖

效果圖

[總結]通過此案例,我們學會了自定義模塊和自定義模塊添加變量的使用,小朋友們我們一起來為春天添加一些綠色吧

相關焦點

  • 平衡二叉樹專題
    力扣關於平衡二叉樹的題目還是有一些的,並且都非常經典,推薦大家練習。今天給大家精選了 4 道題,如果你徹底搞明白了這幾道題,碰到其他的平衡二叉樹的題目應該不至於沒有思路。當你領會了我的思路之後, 建議再找幾個題目練手,鞏固一下學習成果。110.
  • (二叉樹)
    morris遍歷是二叉樹遍歷算法的超強進階算法,morris遍歷可以將非遞歸遍歷中的空間複雜度降為O(1),感興趣大家就去查一查學習學習,比較小眾,面試幾乎不會考。我其實也沒有研究過,就不做過多介紹了。
  • 什麼是平衡二叉樹(AVL)
    1 為什麼要有平衡二叉樹二叉搜索樹一定程度上可以提高搜索效率,但是當原序列有序時,例如序列 A = {1,2,3,4,5,6},構造二叉搜索樹如圖 1.1。依據此序列構造的二叉搜索樹為右斜樹,同時二叉樹退化成單鍊表,搜索效率降低為 O(n)。圖 1.1在此二叉搜索樹中查找元素 6 需要查找 6 次。
  • 二叉樹的應用—二叉樹遍歷的應用
    =NULL) return(Search(bt->lchild,x));/*在bt->lchild 為根結點指針的二叉樹中查找數據元素x*/if (bt->rchild!(SqBiTree bt,int k){/*一維數組bt[2k-1]為二叉樹存儲結構,k 為二叉樹深度,函數值為葉子數。
  • 數據結構(八)--平衡二叉樹
    該來的總會來,平衡二叉樹果然又來了....出現背景前文已經研究過普通的二叉樹,為什麼要用二叉樹呢?因為二叉樹的結構可以實現二分法查找的效果。你比如前文介紹的滿二叉樹:如下圖所示,如果你想要查找4號元素,你只需要遍歷3次即可。所以在理想情況下,二叉樹可以優化遍歷。
  • 二叉查找樹 Java實現
    二叉查找樹(Binary Search Tree),又被稱為二叉搜索樹。
  • 數據結構 | 四種平衡二叉樹介紹
    即使是一般的樹也可以轉化為二叉樹,並且二叉樹的存儲結構和算法相對而言都比較簡單。因此研究二叉樹對於研究數據結構有著重要的意義。基於二叉樹在數據結構中的重要作用,本篇文章中將探討二叉樹的一個重要應用,即作為二叉搜索樹時能夠發揮的作用。
  • 騰訊面試題:有了二叉查找樹、平衡樹為啥還需要紅黑樹?
    1、二叉查找樹的缺點二叉查找樹,相信大家都接觸過,二叉查找樹的特點就是左子樹的節點值比父親節點小,而右子樹的節點值比父親節點大,如圖基於二叉查找樹的這種特點,我們在查找某個節點的時候,可以採取類似於二分查找的思想,快速找到某個節點。n 個節點的二叉查找樹,正常的情況下,查找的時間複雜度為 O(logn)。
  • 五分鐘帶你玩轉平衡二叉樹
    通過上一篇二叉查找樹的文章,相信大家已經掌握了二叉查找樹的相關概念和操作,如果忘了可以通過下方的連結進行學習。帶你玩轉二叉查找樹本文呢,我們將在二叉查找樹的基礎上,繼續學習一種新的樹狀結構-平衡二叉樹。
  • 二叉查找樹之 Java的實現【上】
    二叉查找樹(Binary Search Tree),又被稱為二叉搜索樹。它是特殊的二叉樹:對於二叉樹,假設x為二叉樹中的任意一個結點,x節點包含關鍵字key,節點x的key值記為key[x]。如果y是x的左子樹中的一個結點,則key[y] <= key[x];如果y是x的右子樹的一個結點,則key[y] >= key[x]。那麼,這棵樹就是二叉查找樹。如下圖所示:
  • LeetCode 例題精講 | 11 二叉樹轉化為鍊表:二叉樹遍歷中的相鄰結點
    Convert Binary Tree to Sorted Doubly Linked List 二叉樹轉化為鍊表(Medium)本文將介紹二叉樹問題中一個特殊的技巧:「在二叉樹的前/中/後序遍歷時對相鄰結點進行操作」。這種方法不適用於大多數題目,但在一些特定的題目中使用這個技巧,能起到「秒殺」的效果。
  • 一文讀懂平衡二叉樹|技術頭條
    作者 | 宋廣澤責編 | 伍杏玲出品 | CSDN(ID:CSDNnews)平衡二叉樹,又稱AVL樹,指的是左子樹上的所有節點的值都比根節點的值小,而右子樹上的所有節點的值都比根節點的值大,且左子樹與右子樹的高度差最大為1。因此,平衡二叉樹滿足所有二叉排序(搜索)樹的性質。
  • 深入理解樹(二叉、二叉搜索樹)
    (B的高度為2,B—F—J);樹的高度:是樹中所有結點高度的最大值,樹的深度是樹中所有結點深度的最大值,對於同一棵樹,其深度和高度是相同的,但是對於各個結點,其深度和高度不一定相同;二叉樹如果一棵樹中的每個結點有0,1或者2個孩子結點,那麼這棵樹就稱為二叉樹;空樹也是一顆有效的二叉樹,一顆二叉樹可以看做是由根節點和兩棵不相交的子樹
  • 平衡二叉樹 AVL樹結構詳解 [Java實現]
    作者NeroJings來源https://blog.csdn.net/zhang6622056/article/details/82698859本文思維導圖簡述先不說平衡二叉樹,我們單開來說,這樣比較方便理解。
  • 一個套路搞定二叉樹遍歷
    遍歷是對樹的一種最基本運算
  • 「算法與數據結構」二叉樹之美
    我們可以根據維基百科的依據來作為分類的標準👇無序樹:樹中任意節點的子節點之間沒有順序關係,這種樹稱為無序樹,也稱為自由樹;有序樹:樹中任意節點的子節點之間有順序關係,這種樹稱為有序樹;完全二叉樹:對於一顆二叉樹,假設其深度為d(d>1)。
  • 二叉樹詳解,還包含C代碼
    給定一個二叉查找樹中的結點,找出在中序遍歷下它的後繼和前驅;1 前序遍歷,中序遍歷,後序遍歷;1.1 前序遍歷對於當前結點,先輸出該結點,然後輸出它的左孩子,最後輸出它的右孩子。Morris 提出了二叉樹線索化,解決了這個問題。(根據這個概念我們又提出了一個新的數據結構,即線索二叉樹,因線索二叉樹不是本文要介紹的內容,所以有興趣的朋友請移步線索二叉樹)前序,中序,後序遍歷,不管是遞歸版本還是非遞歸版本,都用到了一個數據結構--棧,為何要用棧?
  • 二叉樹遍歷就是這麼簡單(必殺)
    看起來很刺激,不要謊,讓我慢慢道來。什麼是二叉樹學習二叉樹我們想,為什麼叫做二叉樹呢?類比樹,我們這個結構是不是有樹根樹杈呢?然後,我們再聲明一個二維指針,用來指向樹的根節點BinTreeNode** t;當這個樹雛形出來了後,我們需要做的就是完善這個二叉樹
  • 數據結構+算法(第11篇)玩平衡二叉樹就像蹺蹺板一樣簡單!
    二分查找樹》中提到了:平衡二叉樹的目的就是使得平均查找長度最短。那麼這裡就引出兩個問題:什麼是平衡二叉樹?為什麼平衡二叉樹的平均查找長度最短?如何將非平衡二叉樹調整成平衡二叉樹?1. 平衡二叉樹是什麼鬼?
  • 平衡二叉樹 - leetcode 劍指offer系列
    準時更新公眾號 每日精選算法題, 大家記得關注哦~ 另外在公眾號裡回復 offer 就能看到劍指 offer 系列當前連載的所有文章了題目描述輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹如果某二叉樹中任意節點的左右子樹的深度相差不超過 1,那麼它就是一棵平衡二叉樹。