您是否已经选择了分类#algorithm?
我承认,这项练习不是至少之一,分类算法,其中有数十个,每个人都有他们的发言权。
几乎全部研究了,我保留的选择之一是#Timsort的算法。
Timsort is an efficient sorting algorithm for real-world data. Created by Tim Peters and adopted in 2001 as the default sorting algo in the #Python programming language. Timsort first analyzes the list it is trying to sort, then chooses an approach based on the analysis performed.
初始数组被分为一个称为#run的子阵列,应用了插入排序(插入排序);然后在其每个运行中合并排序以返回初始数组。
NB: The value of RUN may vary depending on the size of the initial array.
该算法使您可以在更糟糕的情况下具有O(n log n)的订单#complexity,并且在最佳情况下o(n)的复杂性。
使用我用该算法制作的双链接列表在C中的实现,可以在Link
中找到在评论中欢迎您的反馈。