![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
愚人国度的King
不崇尚速成,脚踏实地,静心做技术,静心学习
展开
-
前缀树的应用-单词替换
这道题也是一道前缀树类型的题目。先参考这题主要在于如何去利用这个数据结构,这个结构的主要操作是,建树、查找。要处理的地方在于怎么迁移到这道题目上面来。观察题意,我们可以用pass 和end 来辅助处理。如何理解?首先是建树,建树的过程和上一道的前缀树是一样的(当然在处理之前,要思考,是字典作为树,还是句子中的单词作为树),用句子中单词建树,数据量会很大,而且有多余的部分(分析实例,其中有很多没有词根的是直接输出的,因此我们建树的话,待会这个树会很庞大,且很多枝干是多余的存在的),反过来看,用词根建树,.原创 2021-04-19 12:57:53 · 134 阅读 · 0 评论 -
序列化、反序列化二叉树
序列化:用前序遍历,生成字符串。反序列化:将字符串根据分隔符(逗号),切割成子字符串需要注意的是,遍历时我们一般用void 返回值,将遍历值保存在数组中,生成树时,一般用树节点作为返回值 //遍历的模板void proess(TreeNode* root,vector<int>& my_vec) { if(root == nullptr)return ; proess(root->left,my_vec); ..原创 2021-04-17 11:43:07 · 122 阅读 · 0 评论 -
前缀树
介绍两种解题方法:1.用哈希表法;2.维护一个前缀树;先讲哈希表法,这是本题的一种暴力解法,万不得已,不使用,面试中别用,机考中可能会超时,好处就是思路简单,coding简单;思路:用两个哈希表,一个用于查,一个用于查前缀。这在插入时,就需要将插入字符串,添加到两个哈希表中。存放前缀的哈希表,需要将插入的字符串,按前缀逐步插入到表中。后续的查操作就很简单,直接使用哈希表的查操作。class Trie { public: Trie() { } .原创 2021-04-16 16:02:52 · 89 阅读 · 0 评论