Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

What is the method of creating n-ary tree with layer depth first and breadth first?

Shulou Source: shulou.com Published: 2022-06-01 12:20:35 10月06日 Update

This article introduces the relevant knowledge of "what is the method of creating n-tree with layer depth first and breadth priority". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

one

Function makeTree (layer) {

Const root = {}

MakeNode (root, layer)

Return root

}

Function makeNode (node, layer, keys = ['left',' right']) {

If (!-- layer) {

Keys.forEach ((key) = > {

Node [key] = null

})

Return

}

Keys.forEach ((key) = > {

Node [key] = {}

});

Keys.forEach ((key) = > {

MakeNode (node [key], layer)

});

}

two

Function makeTree (layer, keys = ['left',' right']) {

If (! layer) {

Return null

}

Layer--

Const node = {}

Keys.forEach ((key) = > {

Node [key] = makeTree (layer)

});

Return node

}

three

Function makeBinaryTree (layer = 4) {

Function Node (opts) {

Return opts

}

Const root = {value: 0, layer: 0}

Let queue = [root]

Let current

While (current = queue.shift ()) {

If (current.layer = = layer) {

Return root

}

Current.left = new Node ({value: 0, layer: current.layer + 1})

Current.right = new Node ({value: 1, layer: current.layer + 1})

Queue.push (current.left)

Queue.push (current.right)

}

}

This is the end of the content of "what is the method of layer depth first and breadth first to create n-tree". Thank you for your reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Breadth method depth content more knowledge practicality achievement next dilemma reality situation article case editing website industry process high quality learning Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia Redmi Huawei MariaDB vpn