基数树(Radix Tree)

基数树(Radix Tree)

简介

  • 基数树(Radix tree)是一种多叉搜索前缀树
  • 树的叶子结点是实际的数据条目
  • 每一个结点有一个固定的、2^n指针指向子结点

img

应用场景

  • IP 路由;
  • 倒排索引;
  • IDR(ID Radix)机制;
  • Linux 基数树(radix tree),内存管理;
  • Redis Radix tree

实现

1
2
3
4
5
6
7
8
type radix_node struct {
    Val    string        `json:"Val"`
    Childs []*radix_node `json:"Childs"`
}

type RadixTree struct {
    Root *radix_node `json:"Root"`
}

参考

  1. 数据结构之 Radix Tree
  2. 详解 Linux 内核 Radix 树算法的实现 - 黎棉麒的独立博客
  3. 图解 Redis 中的 Radix 树 - 云+社区 - 腾讯云