gpt4 book ai didi

r - R 中用于 OPTICS 实现的优先级队列

转载 作者:行者123 更新时间:2023-12-02 02:15:44 28 4
gpt4 key购买 nike

我需要在 R 中构建一个优先级队列,我将在其中放置用于 OPTICS 聚类算法的有序种子对象(或对象的索引)。

  • 一种可能性是用具有数组表示的堆来实现它,并在每次插入和减少键调用中传递堆数组,并返回更改后的数组并在调用函数中重新分配它。在这种情况下,reassign 操作会使性能很差,每次执行 insert 或 decrease 操作时,整个数组需要复制两次,一次用于调用,另一次用于返回和重新分配。

    <
  • 另一种可能性是在函数内部编写堆操作代码而不是调用它。这样会造成代码重复,代码繁琐。

  • 有没有像我们在C

    中做的那样访问指针?
  • 我可以在 R 的 S3 或 S4 类中声明用户定义的函数吗?在这种情况下,我认为对这些函数的调用在返回后仍然需要相同的重新分配(不像 C++/Java 类,对对象进行操作(对吗?))

  • 在 R 中,是否有任何内置方法可以在 O(log(n)) 时间内插入和提取队列中的对象?

  • 除了在每次插入后显式排序外,是否有任何其他方法可以实现我的目标,即根据对象在 OPTICS 算法中的可达距离保持基于优先级的种子插入和移除.

最佳答案

R5 classes定义可变对象,与 Java 类非常相似:它们应该允许您在修改对象时避免复制。

关于r - R 中用于 OPTICS 实现的优先级队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798958/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com