我有一个关于班级项目性能的问题。
我的项目有大约5000个游戏对象,这些对象是通过读取文本文件形成的。我有一个名为supertree的Treemap,它将其节点作为小型Treemaps(似乎是迷你树)。这些节点/小型Treemaps是动作、策略、冒险、体育、游戏标题等。基本上就是游戏类型,这些小树将容纳游戏对象。
因此,supertree本身可能会包含8个节点/Treemaps。
当我插入一个游戏对象时,它会确定它将进入哪个小树并将其放在那里。例如,如果我插入游戏Super Mario World,它将检查它属于哪种类型,并查看它是否为冒险游戏,所以Super Mario World将被插入到冒险树中。
我的问题是,如果问题列出所有动作游戏,性能如何,因为Treemap get是O(log n)。
首先,在超级树中,它将查找Action Node/Treemap,这需要O(log n)时间。
然后一旦进入Action Treemap,它将为所有元素执行get,这将是o(n log n)正确吗?
因此,log n * (n * log n)的总性能是正确的吗?这比o(n)更糟糕。
[编辑] 希望这能澄清我的帖子。
我的项目有大约5000个游戏对象,这些对象是通过读取文本文件形成的。我有一个名为supertree的Treemap,它将其节点作为小型Treemaps(似乎是迷你树)。这些节点/小型Treemaps是动作、策略、冒险、体育、游戏标题等。基本上就是游戏类型,这些小树将容纳游戏对象。
因此,supertree本身可能会包含8个节点/Treemaps。
当我插入一个游戏对象时,它会确定它将进入哪个小树并将其放在那里。例如,如果我插入游戏Super Mario World,它将检查它属于哪种类型,并查看它是否为冒险游戏,所以Super Mario World将被插入到冒险树中。
我的问题是,如果问题列出所有动作游戏,性能如何,因为Treemap get是O(log n)。
首先,在超级树中,它将查找Action Node/Treemap,这需要O(log n)时间。
然后一旦进入Action Treemap,它将为所有元素执行get,这将是o(n log n)正确吗?
因此,log n * (n * log n)的总性能是正确的吗?这比o(n)更糟糕。
[编辑] 希望这能澄清我的帖子。