使用 js canvas 畫一棵二叉樹

2021-10-07 17:49:57 字數 1523 閱讀 2504

(l)//預設值:角度步長、起點、線段長度、初始方向、等級;角度步長、0級起點位置,作為不變資訊處理

var angle =18;

var startpoint =

newpoint

(720

,860);

var level =0;

var length =60;

var direction =0;

var linearr =

;function

getendpoint

(startp, len, ang, flag)

//flag 取值 「-1」「1」,表示當前線條在那個大分支上,-1左分支,1右分支

//n 表示當前計算的線是左分支=1、右分支=-1

function

getline

(len, newsp, n, dir, flag)

function

getrootendpoint

(sp, len)

function

getrootline

(len, sp, dir, lr)

function

init()

else

//根據 arr 計算新節點,每個節點可算出兩個新節點

var resarr =

;for

(var i =

0; i < arr.length ; i ++

)elseif(

"-1"

== lr)

else

}for

(var i =

0; i < resarr.length ; i ++)}

level ++

;//改變level

}function

printlinearr()

}}var times =0;

function

run()}

printlinearr()

;}var canvas = document.

getelementbyid

("canvas");

var ctx = canvas.

getcontext

("2d");

window.requestanimframe =

(function()

;})(

);(function

animloop()

)();

翻轉一棵二叉樹

問題描述 翻轉一棵二叉樹 示例 輸入 4 2 7 1 3 6 9輸出 4 7 2 9 6 3 1 解法 1.用遞迴來解決 2.首先判斷根是不是空 遞迴出口 3.如果不是空則交換左右子數 4.對左子樹進行遞迴 5.對右子樹進行遞迴 definition for a binary tree node.c...

js畫一棵樹

用純js畫一棵樹。思路 1 一棵樹的,作為頁面背景 2 通過html5中的canvas畫布進行遮罩 3 定時每隔10ms,從下往上清除1px的遮罩 doctype html html head meta charset utf 8 title my js tree title style body ...

判斷一棵二叉樹是不是另一棵二叉樹的子樹

定義 父樹包含子樹的所有節點,注意,空樹不是任何數的子樹。父樹 a 子樹 b 解法 用遞迴來實現,從a樹的根節點開始,判斷其所有的節點是不是依次和樹b相同,如不同,遞迴呼叫函式,繼續判斷樹a當前節點的左子樹的所有節點或右子樹的所有節點是否和樹b所有節點相同,直到遍歷到父樹a的葉子節點,如果不是完全相...