前言:
此时你们对“计数排序的思想”都比较看重,同学们都想要了解一些“计数排序的思想”的相关文章。那么小编也在网摘上汇集了一些对于“计数排序的思想””的相关知识,希望朋友们能喜欢,看官们一起来学习一下吧!说到排序算法,我们先静下心来,思索十分钟,看自己能想出来几种方法。
我先来说说我想到的几种方法。
方法一:
第一轮寻找,找出最大的那个,放到最后的位置;第二轮寻找,找出第二大的,放到倒数第二个位置.....这样依次找下去,直到最后两个数,完成一次比较。
方法二:
先保证局部有序,以这部分排好序的数据作为根据地,不断地吸收新鲜的血液进来,并且把新进来的数安排到合适的位置。
方法三:
选出一个数来,和所有的数比较一圈,比它小的放它左边,比它大的放它右边。这样把数据一分为2,左边的数再选出一个数来,将它放在它应该处的位置上,这样左边的数又被一分为2,这样一直分下去。同理右边的数也是这样处理。最后每一部分只剩下一个数,而这一个数的位置是确定,不需要再进行比较。
方法四:
把需要排序的数组分割成多个小段,每一段都排好序,先保证局部有序。再将两个相邻的小段融合到一起,并排好序,这样不断地进行融合,最终将两个大段融合成一个整体,也就排好序了。
方法五:
利用堆的特性,大顶堆的根节点,是最大的数,将根节点节点放到最后。对堆进行调整,再次形成大顶堆,再将根节点放到放到倒数第二的位置。这样最后,所有的数据就会按照从小到大的顺序进行排序。
方法六:
从左到右,相邻数据进行数值比较,如果右边的数据大于左边的数据,那么左右数据进行交换,第一圈比较下来,最右边的数值肯定是最大的,几轮数据比较下来,所有的元素数据位置不会有所变动,这样就完成了排序。
我的思考结束了,再对照下教科书上的定义,来看下这几种方法的官方名称。
方法一为选择排序,方法二为插入排序,方法三为快速排序,方法四为归并排序,方法五为堆排序,方法六为冒泡排序。
除此之外还有希尔排序,桶排序,计数排序等。如果我们能将,这几种排序的思想都领悟清楚,并且可以手写实现,那么这个程序猿的实力还是可以的。
标签: #计数排序的思想 #计数排序的思想是什么