所以我正在遍历一个 BinaryTree 并且节点包含字符串以及字符串在读取文件时是否出现多次。我只是在寻找在阅读文件时出现最多的前 10 个单词,所以基本上我只是在比较一个 int 值。
我的问题是我试图找出一种有效的方法来比较和插入一个新节点,如果它们的计数值更大。所以说我有一棵树...
5
/ \
3 10
/ \
1 15
假设数组大小只有 3。我从 1 开始,因为数组在 5 之前都是空的,它看起来像在达到 5 之后......
[1],[3],[5]
当我达到 10 时,它比一切都重要,但我想保持排序,所以我需要将 3 转换为 1、5 转换为 3 和 10 转换为 5。我想知道是否有更有效的方法来做到这一点在每个更高的数字之后移动。它读取超过 10k+ 字的文本文件,所以我希望它尽可能快。
如果不同的数据结构对此更好,请告诉我。我在考虑队列或链表,但我认为数组浪费的空间更少,因为它的大小只有 10。我是一名学生,所以也要温柔:-x。