这是一个面试问题:编写一个程序来为给定的一组 N 个字符串和正权重实现自动完成。也就是说,给定一个前缀和一个整数 k,在以该前缀开头的字符串中找出集合中的前 k 个字符串。
我在这里找到了一个带有三元搜索树和最大堆的建议算法:http ://www.cs.princeton.edu/courses/archive/fall13/cos226/checklist/autocomplete.html
我有点明白算法,但我不知道如何打印出前 K 个单词。我最大的困惑是:我们可以遍历树并获得所有具有最大权重的节点,但是我们如何返回并将单词放在一起?
任何帮助表示赞赏。