我使用 TreeSet 的解决方案的时间复杂度是多少?

问题描述

我已经在 J​​ava 中使用 TreeSet 实现了一个问题的解决方案。对于大小为 m 的数组中提供的每个元素,我将该元素添加到集合中,然后读取其上一个和下一个值。

因此对于大小为 m 的未排序数组中的每个元素:

prev = t_set.lower(number);
next = t_set.higher(number);

其中 t_set 是树集。

由于所有 3 个操作都是 log(n) - 其中 n 是树中的节点数 - 我认为每个输入的时间复杂度是 3*log(n)。

现在,如果我是对的,整个解决方案的时间复杂度是 3* m*log(n)?我不确定这一点,因为 m 可能是一个巨大的数字,但 n 从 0 开始并随着添加更多项目而递增。

另外,如果有比树集更有效的结构(数字必须排序),请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)