交付:建树 + 四种遍历 + Trie
这是这条路线的最终作品。把树建出来、四种遍历都写上、再写一棵 Trie,然后一次验完五条: 节点总数是 6,叶子是 3 前序第一个是「总部」,后序最后一个也是「总部」 中序第一个是「北京」 层序第 4
阅读更多 →
第四步:再写一棵前缀树
把 Trie 的 insert 和 search 写出来,插入 cat / car / card / dog,然后把两个查询结果拼起来输出: search("card") 和 se
阅读更多 →
第三步:接上层序
用队列写层序遍历,输出层序序列的第 4 个。
阅读更多 →
第二步:三种 DFS 一起写
把前序、中序、后序三个都写出来,然后把三个序列各自的第一个拼起来输出,用 / 隔开。 (前序第一个 / 中序第一个 / 后序第一个)
阅读更多 →
第一步:把树建出来
最终作品第一步:写出 TNode,并按下面的形状把整棵树建好。 总部 / \ 华北 华南 / \
阅读更多 →
这棵树有几片叶子
运行下面这段程序: class TNode: def __init__(self, name): self.name = name self.left = No
阅读更多 →
四种遍历的共同点是什么
前序、中序、后序、层序四种遍历,共同点是【0】。
阅读更多 →
一个够用的树至少要有哪几样
手写一棵能用的二叉树,至少要有【0】。
阅读更多 →
有几个词是以它开头的
补全 count_prefix:先走到前缀那个节点,再递归数出它下面一共有多少个词尾标记。 这次数的是以 ca 开头的词。
阅读更多 →
⚠️ 是前缀,但不是词
同一个 search,这次查 ca。 它是 cat / car / card 三个词的开头,但它自己不是一个词——少了末尾那个标记的判断就会答错。
阅读更多 →