我正在寻找一个Python工具来可视化一个二进制搜索树,也做插入和删除操作。
就像这样:
50
\
70
/ \
/ \
63 90插入(50)插入(70)插入(90)插入(63)
和
删除(70)
50
\
63
\
\
90有人有类似的东西吗?
greetz duffy6
发布于 2022-11-04 16:50:41
首先,为二进制搜索树创建函数,下面是插入、查找和删除的代码
function insert(id, current){
if (!nodes[id]) nodes[id] = {left: null,right: null, parent: null};
if (rootId === null){rootId = id; return;}
if (current === undefined) current = rootId;
if (id < current)
if (nodes[current].left === null) nodes[current].left = id;
else insert(id, nodes[current].left);
else if (id > current)
if (nodes[current].right === null) nodes[current].right = id;
else insert(id, nodes[current].right);
}
function find(id, current){
if (id == rootId) return nodes[rootId];
if (id == current) return nodes[current];
if (current === undefined) current = rootId;
if (!nodes[current]) return null;
if (id < current) return find(id, nodes[current].left);
else if (id > current) return find(id, nodes[current].right);
}它只是少数几行代码,但实际上是在做您想要的事情。
使用上面的方法为您创建代码演示


https://stackoverflow.com/questions/71785033
复制相似问题