So einen binären Baum in JavaScript erstellenUm das erste Element eines Binärbaums einzufügen, setzen Sie es links oder rechts?
function ToBinaryTree (arr)
{
// creates a binary tree from an array arr of comparable objects
this.Tree = { left: undefined, right: undefined };
this.CreateNode = function (value)
{
return { val : undefined, left : undefined, right : undefined }
};
this.Insert = function (elem)
{
var node = this.CreateNode(elem);
if (this.Tree.left == undefined)
// ... ??
};
// insert elements from array provided in "constructor"
arr.forEach(function(x){
this.Insert(x);
}.bind(this));
this.Contains = function (elem)
{
// ...
};
return this;
}
Ich versuche, und ich kann das nicht herausfinden, ob eingefügt das erste Element auf right
oder left
, gehen sollte, und wenn, sagen wir, die left
(this.Tree.left
), dann überprüfe ich, dass keine Elemente eingefügt werden, indem Sie this.Tree.left == undefined
???
Jeder Knoten hat einen Wert, linken untergeordneten Knoten und rechten untergeordneten Knoten einschließlich des Stammknotens. Speichern Sie das erste Element im Wert des Stammknotens. – Fabricator
Sie können 'arr.forEach (Funktion (x) { this.Insert (x); } .bind (this));' zu 'arr.forEach (Funktion (x) { this.Insert (x) ; }, dies); ' –