Algorithm 排序算法工厂有哪些参数?
我正在考虑创建软件,根据指定的要求生成所有可能的排序算法,以及最佳拟合算法。您会为该软件指定哪些实际需求?您将如何指定它们 我的建议是:Algorithm 排序算法工厂有哪些参数?,algorithm,sorting,Algorithm,Sorting,我正在考虑创建软件,根据指定的要求生成所有可能的排序算法,以及最佳拟合算法。您会为该软件指定哪些实际需求?您将如何指定它们 我的建议是: getSortingAlgorithm(int memorySize, int timeConstraintInMillisec); //getSortingAlgorithm("O(n)", "O(n*log(n))"); getSortingAlgorithm(AssymptomaticConstaint memoryConstraint, Assymp
getSortingAlgorithm(int memorySize, int timeConstraintInMillisec);
//getSortingAlgorithm("O(n)", "O(n*log(n))");
getSortingAlgorithm(AssymptomaticConstaint memoryConstraint, AssymptomaticConstaint timeConstraint);
强化、缓解这些限制的任何其他想法?元素数量和缓存的大小/类型也可能是一种简化,以优化排序的缓存性能 也是一个布尔值,指示元素是否具有int值,因为整数排序不受基于比较的算法的限制
要使用的线程数可能也是一个问题:尝试在库中也创建并行算法。您也可以使用稳定/不稳定参数 例如,冒泡排序和选择排序都具有时间复杂度:O(n2),内存:O(1)
但泡沫类型是稳定的 针对速度和存储进行优化 重新存储、cap max存储和使用文件进行“备份存储”(“分块”排序) 维护相同项目(或不相同项目)的顺序 索引排序 稳定性vs最佳平均速度vs利用“几乎分类”数据集 数据集的大小——对于较小的数据集,排序越简单,设置越少越好 键的大小——这会影响所使用的数据结构