关于排序的时间效率。

现在有大量数据需要进行排序,是进行一个大型排序速度快还是分为多个小型排序速度快

看你什么类型的数据,在内存够用的时候肯定是大型排序快,在内存不够的时候,多次归并排序虽然有一些运算开销,但是比内存交换快一些。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7435846
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:以一元及二元函数为例,通过多项式的函数图像观察其拟合性能;以及对用多项式作目标函数进行机器学习时的一些理解。
  • 除此之外, 这篇博客: 测试面试题整合中的 105、您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述

  • 您还可以看一下 吴刚老师的【吴刚大讲堂】电商视觉的排版与应用方法课程中的 订单页面的表单视觉优化及细节处理方法小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    问题回答:

    在排序数据时可以基于不同的数据结构进行排序,根据数据集的特性以及选择达到最佳效率的排序方式。

    如果是基于单个数组或者列表进行排序,可以考虑并行化这个过程,然后通过将数据划分为多个小数据集,进行多个并行排序,可以提高速度。可以使用多线程或者多进程来实现并行化,比如可以使用Python中的multiprocessing库来实现。

    如果使用的是基于树形数据结构进行排序的算法,例如快速排序或者归并排序,那么这些算法可以处理大规模的数据集,并且速度通常比基于单个数组或列表的排序要快得多。

    在软件测试中,需要遵守一系列原则和方法,如完全性原则、错误原则、鉴别力原则、可追溯性原则、经济性原则等。软件测试包括静态测试和动态测试,其中动态测试又可以分为黑盒测试和白盒测试两种方法。测试用例的设计需要覆盖不同的场景和功能,可以使用等价类划分、边界值分析、因果图等方法。测试的步骤包括测试计划制定、测试用例设计、测试环境搭建、测试执行和测试报告撰写等。在软件调试方面,可以使用断点调试、日志调试、内存泄露检测、性能调优等技术来解决问题。

    对于问题二中的帮扶单位的绩效排序,可以先构造评价指标,计算各指标的增长率,并进行归一化处理。然后可以使用主成分分析法计算各指标方差贡献率,以此作为各指标的权重;接着采用TOPSIS法进行评价,计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。代码实现可以使用Python中的pandas和sklearn库来实现。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

这个问题的答案取决于数据的大小和计算机的性能。如果数据量很大,单个计算机的处理能力可能无法满足要求,这时候可以考虑使用分布式计算框架,如Hadoop或Spark等。如果数据量较小,单个计算机的处理能力足够,那么可以考虑使用Python内置的排序函数,如sorted()或list.sort()。如果数据量较大,但计算机的处理能力也很强,那么可以考虑将数据分成多个小块,分别排序后再合并。总之,选择哪种方法需要根据具体情况进行评估和测试。