Tim排序算法实现

本文概述

  • 技术
  • 复杂
Tim-sort是一种从插入排序和合并排序派生的排序算法。它旨在以最佳方式对不同种类的现实世界数据执行。这是一种自适应排序算法, 需要O(n log n)比较才能对n个元素的数组进行排序。它是由Tim Peters在2002年以python编程语言设计和实现的。自2.3版以来, 它一直是python的标准排序算法。
技术 考虑需要排序的n个元素的数组。在Tim排序中, 数组分为几个部分, 每个部分称为运行。这些运行通过使用插入排序一一进行排序, 然后使用合并功能对已排序的运行进行合并。 Tim排序的思想源于以下事实:插入排序在短列表上比在较大列表上更有效地工作。
Tim排序算法实现

文章图片
复杂
复杂 最好的情况 平均情况 最差的情况
时间复杂度 O(n) O(n log n) O(n log n)
Space Complexity n
脚步 :
  1. 将数组划分为称为运行的块数。
  2. 考虑运行大小为32或64(在以下实现中, 运行大小为32。)
  3. 使用插入排序将每个运行的单个元素一一排序。
  4. 使用合并排序的合并功能将已排序的运行逐一合并。
  5. 每次迭代后, 合并子数组的大小加倍。
  6. C program
    【Tim排序算法实现】Output:
    Printing Array elements 121202312354332Printing sorted array elements 123122054123332


    Next Topic

    ← prev next →

    推荐阅读