树袋熊|实现,前缀树算法实现路由匹配原理解析:Go( 二 )


其中的addRoute用来将路由插入到对应method的路由树中 , 如果节点是通配符 , 将其设置为isWild , 同时绑定路由和handler方法 。
getRoute方法首先查找路由方法对应的路由前缀树 , 然后在树中查找是否存在该路径 。
总结前缀树trie算法不光可以用在路由的实现上 , 搜索引擎中自动补全的实现 , 拼写检查等等都是用trie实现的 。 trie树查找的时间和空间复杂度都是线性的 , 效率很高 , 很适合路由这种场景使用 。
路由的实现上 , go语言中httpRouter这个库除了使用前缀树之外 , 还加入了优先级 , 有兴趣的可以看看它的源码了解下 。
作者:鸟石
原文链接:
参考资料[1]
动手实现web框架:动手实现web框架/
[2]
点这里:
[3]
【树袋熊|实现,前缀树算法实现路由匹配原理解析:Go】gaga:


推荐阅读