240 发简信
IP属地:广东
  • TimSort(C语言)

    算法说明: http://svn.python.org/projects/python/trunk/Objects/listsort.txt算法的步骤:https://www...

  • 120
    二分法插入排序(C语言)

    二分法插入排序,简称二分排序,是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left>r...

  • 基数排序(C语言)

    基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也...

  • 桶排序(C语言)

    桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点:在额外空间充足的情况下,尽量增大桶的数量使...

  • 计数排序(C语言)

    计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 算法的步骤如下: (1)找出...

  • 堆排序(C语言)

    堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点...

  • 快速排序(C语言)

    快速排序的算法有点类似归并排序,快速排序的分组依据是“基准”,比如数组给定一个数组K,长度为n,设定K[0]为基准值, 定义指针left指向下标1,指针right指向下标n-...

  • 归并排序(C语言)

    归并排序是把数组分成k组,对每个组做排序在合并,假设数组长度为len,分成长度为m,n两组,在对m和n分别再分两组总共4组,以此递归直到每个数组只有一个元素,那这个元素就是有...

  • 希尔排序(C语言)

    希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。 算法步骤 选择一个...

  • 插入排序(C语言)

    算法步骤 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如...

  • 选择排序(C语言)

    算法步骤 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均...

  • 冒泡排序(C语言)

    算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的...