java架构师学习路线-字典树的介绍

图灵学院 java架构师学习路线

前段时间,我有一个程序员朋友去面试的时候,问到有关字典树结构的问题的时候,由于他对字典树这块知识的匮乏,所以央求我为他做个关于字典树这块知识的归纳。字典树属于哈希树型结构中的一类,字典树查询的效率也比哈希树的效率要高,下面就由我带我大家全新认识字典树。

 一、定义

在计算机科学中,trie又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值;一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串;与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。
       二、性质

从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串,每个节点的所有子节点包含的字符都不相同;根节点不包含字符,除根节点外每一个节点都只包含一个字符。

字典树.png

三、应用场景及其优缺点

Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的,trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点。

字典树的知识点整理在这告一段落了,但是通往学习的道路却不应该终止,“学习如逆水行舟,不进则退。”如果你始终还在原地踏步的话,那就怨不得别人后发先至,只有脚踏实地,一步一个脚印,才能走得更远。

尽管Java架构师学习路线已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。

篇幅有限,如果需要更详细的java架构师学习路线资料可加博主qq:1993712276,或者去图灵官网查看

原文地址:https://www.cnblogs.com/tulingxueyuan/p/13385711.html