五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一種二叉樹(shù)可視化方案

2022-09-01 08:56 作者:阿-岳同學(xué)  | 我要投稿

摘要

在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)尤其是二叉樹(shù)部分、以及做二叉樹(shù)有關(guān)的算法題的時(shí)候,程序出了問(wèn)題不容易發(fā)現(xiàn)。因?yàn)槎鏄?shù)打印出來(lái)的格式不夠直觀。這篇文章提供一種將二叉樹(shù)通過(guò)轉(zhuǎn)化為html來(lái)直觀可視化的方法。

html生成結(jié)果


主要思路

  1. 通過(guò)打印二叉樹(shù)的帶有空格縮進(jìn)的層次格式的先序序列

  2. 將打印在控制臺(tái)上的文本復(fù)制到txt中

  3. 運(yùn)行python腳本,該腳本能夠讀取文本文件并自動(dòng)生成html代碼并生成網(wǎng)頁(yè)文件

  4. 用瀏覽器打開(kāi)生成的html文件即可看到

詳細(xì)過(guò)程

(一)打印先序序列

以C語(yǔ)言為例,打印一個(gè)二叉樹(shù)可以用以下方法實(shí)現(xiàn)。

調(diào)用printAVL得到的效果是這樣的:

小括號(hào)表示這個(gè)節(jié)點(diǎn)所構(gòu)成的子樹(shù)的高度,這個(gè)可以省略不打印,這個(gè)是為了做平衡二叉樹(shù)方便測(cè)試用的。

^表示的是NULL。小括號(hào)前面的節(jié)點(diǎn)表示二叉樹(shù)節(jié)點(diǎn)的值。空格表示層級(jí)關(guān)系。如同文件夾展開(kāi)樹(shù)一樣。

就如同這樣一個(gè)二叉樹(shù)一樣。學(xué)習(xí)資料是左子樹(shù),軟件是右子樹(shù)。先后區(qū)分了左右。

(二)復(fù)制到txt中并運(yùn)行python腳本

這段python3代碼不借助任何第三方庫(kù)即可運(yùn)行。

若要成功運(yùn)行,需要在同文件夾下新建input.txt并寫(xiě)入內(nèi)容。

然而這個(gè)html代碼需要引入css文件。

需要在同文件夾下新建 index.css文件。下面給出生成css文件的less文件。讀者可以自行搜索如何將LESS文件編譯為css文件。vscode中已有相關(guān)插件。


(三)通過(guò)瀏覽器查看生成效果

小數(shù)據(jù)量
大數(shù)據(jù)量

缺點(diǎn)

  1. 數(shù)字?jǐn)?shù)值大的話(huà)葉子節(jié)點(diǎn)容易密集擠在一起看不清。

  2. css做出來(lái)的格式可能還不夠好看。

  3. 生成的時(shí)間復(fù)雜度是ON2量級(jí),可能還有更優(yōu)的解法。不過(guò)經(jīng)測(cè)試發(fā)現(xiàn)都是一瞬間的事情。節(jié)點(diǎn)數(shù)量再多了也看不清了。



一種二叉樹(shù)可視化方案的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
杭锦后旗| 武强县| 宜兰县| 乐平市| 宜春市| 隆化县| 高邑县| 灵寿县| 泰顺县| 武清区| 阜康市| 长治市| 黄大仙区| 龙胜| 广汉市| 集贤县| 曲水县| 江陵县| 高陵县| 陕西省| 榆中县| 淄博市| 古蔺县| 台中市| 无棣县| 从江县| 社旗县| 孝感市| 铁力市| 滦南县| 蓬安县| 渭源县| 蒙城县| 抚顺县| 辉县市| 九江市| 芦溪县| 禹州市| 呼伦贝尔市| 梓潼县| 潜山县|