gpt4 book ai didi

node.js - 在 NodeJs 中合并一个非常大的列表的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 11:46:07 27 4
gpt4 key购买 nike

我正在 NodeJS 中制作一个 api 爬虫应用程序,它同时对多个 rest api 进行并行调用。这些 rest api 调用中的每一个都返回一个排序的对象列表。这些列表可能很大。现在我必须将它们合并成一个大的排序列表并将其作为我的响应返回。

每次 api 调用完成后,我将结果存储在 redis 中,当所有完成后,我使用堆排序算法进行合并。这是空间和时间效率方面的最佳方式吗?

另一种我可以做到这一点的方法是简单地从合并排序中执行合并算法。什么是最佳方法?

最佳答案

Merge sorted arrays method (O(n1 + n2) Time and O(n1 + n2) Extra Space)

思路是利用Merge排序的Merge函数

  • 创建一个大小为 n1 + n2 的数组 arr3[]。
  • 同时遍历 arr1[] 和 arr2[]。
  • 在 arr1[] 和 arr2[] 中选择较小的当前元素,复制这个较小的元素到 arr3[] 中的下一个位置并在 arr3[] 中向前移动以及其元素被选中的数组。
  • 如果arr1[]或arr2[]中还有剩余元素,则复制它们也在 arr3[].

关于node.js - 在 NodeJs 中合并一个非常大的列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50066711/

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