gpt4 book ai didi

java - 什么是读取/写入 IPv6 地址范围以快速查找的有效数据结构?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:14 25 4
gpt4 key购买 nike

我正在尝试考虑一种可用于将 IPv6 地址范围存储到其中的高效数据结构。查找时间应该很快。也就是说,给定一个 IPv6 地址,我应该能够快速确定它来自哪个时间间隔。在我这里,地址范围不重叠。

一种有效的方法是创建一个简单的二叉搜索树,每个非叶节点将只是“重定向查找流量”。然而,这种方法的问题是 BST 的大小会非常大,可能大约有 2^128 个节点,我可能无法读取/写入文件。

那么我可以使用什么数据结构来快速查找 IPv6 地址,同时对文件大小也有下限???

顺便说一下,我正在使用 Java。

最佳答案

有一个非常好的数据结构,称为区间树。它基于普通的二叉搜索树。但是,它不是存储 key ,而是存储间隔。并支持查找值。它可以返回找到 key 的节点。由于节点包含其边界,因此可以轻松实现您的用例。

看看https://en.wikipedia.org/wiki/Interval_tree

关于java - 什么是读取/写入 IPv6 地址范围以快速查找的有效数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com