我应该使用冒泡排序、插入排序等排序算法,还是应该使用 C++ 中内置的 sort() 函数对数组进行排序?如果我应该使用 sort() 函数,为什么我需要学习其他排序算法?如果有内置排序功能,我不明白这种算法有什么用,它们有什么特别之处吗?
最佳答案
Should I use sorting algorithms like bubble sort, insertion sort or should I use the inbuilt sort() function in c++ to sort arrays?
这是你的愿望。你可以使用任何东西。但是在使用任何代码之前,您需要了解时间和空间复杂性的重要性以及您的要求。
And if I should use sort() function, why do I need to learn other sorting algorithms?
这个问题的答案很棘手。您需要学习一些东西,因为每种排序算法在实现、时间和空间复杂性方面都不同。例如,冒泡排序的运行时间为 O(n^2),而归并排序的运行时间为 O(n log n)。 而冒泡排序占用的空间是 O(1),归并排序占用 O(n) 的空间。就代码复杂度而言,您可以在 5 分钟内编写一个冒泡排序片段,而归并排序可能需要 30 分钟。
I'm not understanding what is the use of such algorithms if there is an inbuilt sort function, do they have something special?
是的,他们有。这与要求有关。今天,您可能不需要节省空间的算法。但是当出现这种情况时,您可能需要优先选择一种特定的算法。通常,您学习这些概念只是为了了解当前算法是如何开发的。
关于c++ - 我应该使用冒泡排序、插入排序等排序算法,还是应该使用 C++ 中内置的 sort() 函数对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66720937/