问题描述
我已经在 Java 中使用 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 (将#修改为@)