多叉树优化问题

发布于 2022-09-04 03:19:07 字数 1011 浏览 13 评论 0

我想实现一个 类似 文件夹的功能。

文件夹是一个多叉树

数据结构用json可以如下形式表示

{
    "name": "dir1",
    "isDir": true,
    "children": [
        {
            "name": "dir2",
            "isDir": true,
            "children": [
                {
                    "name": "file2",
                    "isDir": false,
                    "children": []
                },
                {
                    "name": "file3",
                    "isDir": false,
                    "children": []
                }
            ]
        },
        {
            "name": "dir3",
            "isDir": true,
            "children": []
        }
        {
            "name": "file1",
            "isDir": false,
            "children": []
        }
    ]
}

我可以 移动文件位置,移动文件夹位置,修改文件名,删除文件,删除文件夹等等很多操作。

归结下来就是 查询,修改这个多叉树。

我现在是用递归进行多叉树的遍历(写起来方便),也可以用循环的方式

但是我觉得,效率依旧不高。

请问:有什么高效的遍历方式么?高效的节点修改,删除方式么? 或者说,是不是我所描述这种场景用的数据结构有问题?可以用其他非多叉树的形式解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若言繁花未落 2022-09-11 03:19:08

深度遍历和广度遍历也是可以的哦

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文