带有双重链接列表的C中的Timsort算法
#c #timsort #timpeter #doublylinkedlist

您是否已经选择了分类#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

中找到

在评论中欢迎您的反馈。