<template>
<div>{{ data }}</div>
</template>
<script setup lang="ts">
import { ref } from "vue";
const data = ref<any>([]);
const tree: any = {
value: 1,
left: {
value: 7,
left: {
value: 3,
},
right: {
value: 5,
left: {
value: 9,
},
},
},
right: {
value: 3,
right: {
value: 8,
},
},
};
//先序優(yōu)先查找 使用遞歸查找
const findTree = (tree: any, result: any = []) => {
if (tree) {
result.push(tree.value);
findTree(tree.left, result);
findTree(tree.right, result);
}
return result;
};
// data.value=findTree(tree, []);
//廣度優(yōu)先查找 使用while將二叉樹的每一項(xiàng)推入棧中,然后使用shift將棧中的元素取出來
const findTree2 = (tree: any, result: any = []) => {
if (tree) {
const queue = [tree];
while (queue.length) {
const item = queue.shift();//取出第一個(gè)并把第一個(gè)刪除
result.push(item.value);
if (item.left) queue.push(item.left);
if (item.right) queue.push(item.right);
}
}
return result;
};
data.value = findTree2(tree, []);
</script>
<style scoped></style>
二叉樹遍歷
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 樹 在計(jì)算機(jī)科學(xué)中,樹(英語:tree)是一種抽象數(shù)據(jù)類型或是實(shí)現(xiàn)這種抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),用來模擬具有樹狀結(jié)構(gòu)...
- https://www.bilibili.com/video/BV15a4y1a7B5?from=search&s...
- 引子:五分鐘玩轉(zhuǎn)面試考點(diǎn)-數(shù)據(jù)結(jié)構(gòu)系列,不會(huì)像那種嚴(yán)肅、古板的教科書般的博客文章,而是將晦澀難懂的概念和知識(shí)點(diǎn)盡可...
- 引言 無論是遞歸遍歷還是非遞歸遍歷,我們都無法將空間復(fù)雜度達(dá)到O(1),因?yàn)閷τ谥暗谋闅v來說,它們都是使用棧的(...
- 二叉樹層次遍歷 按照二叉樹中的層次從左到右依次遍歷每層中的結(jié)點(diǎn)。具體的實(shí)現(xiàn)思路是:通過使用隊(duì)列的數(shù)據(jù)結(jié)構(gòu),從樹的根...