首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >终端二叉树的可视化

终端二叉树的可视化
EN

Stack Overflow用户
提问于 2022-04-07 15:36:08
回答 1查看 139关注 0票数 1

我正在寻找一个Python工具来可视化一个二进制搜索树,也做插入和删除操作。

就像这样:

代码语言:javascript
复制
50
  \
  70
  / \
 /   \
63   90

插入(50)插入(70)插入(90)插入(63)

删除(70)

代码语言:javascript
复制
50
  \
  63
    \
     \
     90

有人有类似的东西吗?

greetz duffy6

EN

回答 1

Stack Overflow用户

发布于 2022-11-04 16:50:41

首先,为二进制搜索树创建函数,下面是插入、查找和删除的代码

代码语言:javascript
复制
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);   
}

它只是少数几行代码,但实际上是在做您想要的事情。

使用上面的方法为您创建代码演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71785033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档