简单选择排序electionort和树形选择排序reeelectionort圣骑士wind

选择排序的基本思想是:每一趟在剩余未排序的若干记录中选取关键字最小的(也可以是最大的,本文中均考虑排升序)记录作为有序序列中下一个记录。

如第i趟选择排序就是在n-i+1个记录中选取关键字最小的记录作为有序序列中第i个记录。

这样,整个序列共需要n-1趟排序。

一趟简单选择排序的操作为:通过n-i次关键字的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i个记录交换之。

代码如下:(假设记录为整型,并且关键字为其本身)

容易看出,简单选择排序中,所需进行记录移动的操作次数较少,其最小值为“0”,最大值为3(n-1)。

然而,无论记录的初始序列如何,所需进行的关键字间的比较次数相同,均为n(n-1)/2,因此,总的时间复杂度为O(n2)。

因为简单选择排序没有利用上次选择时比较的结果,所以造成了比较次数多,速度慢。如果能够加以改进,将会提高排序的速度,所以出现了后面的树形选择排序和堆排序。

树形选择排序(Tree Selection Sort),又称锦标赛排序(Tournament Sort),是一种按照锦标赛思想进行选择排序的方法。

首先对n个记录的关键字进行两两比较,然后在其中[n/2](向上取整)个较小者之间再进行两两比较,如此重复,直至选出最小关键字的记录为止。

这个过程可以用一棵有n个叶子结点的完全二叉树表示。如图中的二叉树表示从8个关键字中选出最小关键字的过程:

8个叶子结点中依次存放排序之前的8个关键字,每个非终端结点中的关键字均等于其左、右孩子结点中较小的那个关键字,则根结点中的关键字为叶子结点中的最小关键字。

在输出最小关键字之后,根据关系的可传递性,欲选出次小关键字,仅需将叶子结点中的最小关键字(13)改为“最大值”,然后从该叶子结点开始,和其左右兄弟的关键字进行比较,修改从叶子结点到根结点的路径上各结点的关键字,则根结点的关键字即为次小值。

同理,可依次选出从小到大的所有关键字。

由于含有n个叶子结点的完全二叉树的深度为[log2n]+1,则在树形选择排序中,除了最小关键字以外,每选择一个次小关键字仅需进行[log2n]次比较,因此,它的时间复杂度为O(nlogn)。

但是,这种排序方法也有一些缺点,比如辅助存储空间较多,并且需要和“最大值”进行多余的比较。

THE END
0.二哈小剧场(2)楚晚宁讲故事是这样开头的:道可道,非常道,讲什么故事。不会,讲经。 薛蒙:不听不听,王八念……呸!我听!我听就是了。 薛蒙讲睡前故事是这样开头的:我跟你讲,我是个学霸,从小拿过无数次第一,今天先来跟你说说我是怎么拿到第十四届修真界青少年刀法锦标赛第一名的哈~ jvzquC41yy}/lrfpuj{/exr1r1>5d9f8;2jc7<
1.遗传算法中的锦标赛选择锦标赛选择是遗传算法中的一种选择策略,通过随机选取多个个体并比较其适应度,选择最佳者进入下一代。这个过程重复进行,直到构建出新种群,并找出出现频率最高的个体作为最优解。 锦标赛选择:锦标赛选择方法是指每次从种群中取出一定数量个体,然后选择其中最好的一个进入子代种群,之后放回种群,即种群数量不变,再将选中jvzquC41dnuh0lxfp0tfv8qcqukqkuj1ctzjeuj1fgzbkux135639?>36
2.9月27日桂林市举行2023全国桨板青少年锦标赛暨中国桨板公开赛平乐本次赛事,竞赛项目由桨板长距离滑行、短距离竞速、龙板团体和接力赛四项组成,分为公开组、卡胡纳组、大师组、高校组、U18组、U15组、U12组7个单人赛组别和龙板团体及200米接力2个团体级别,选手们可根据自己的年龄和竞技水平选择参赛,其中全国桨板青少年锦标赛可根据比赛成绩申报全国运动员技术等级,因此在满足年龄要jvzquC41iz~xhk3izpkxu7hqo0io1|ycvkiqcpju146359>491tfyp}8739e6@f/438:;?650unuou
3.进化计算遗传算法之史上最全选择策略遗传算法选择选择压力可以通过改变锦标赛的大小s来改变,对于较大的s值,弱者被选中的机会较小,常见的有二元锦标赛和三元锦标赛等。与适应度值比例选择相比,锦标赛选择由于缺乏随机噪声,在实际应用中经常被使用,同时锦标赛选择也和遗传算法适应度函数的尺度无关,因为只需要比较绝对值大小,不用考虑正负的问题。 jvzquC41dnuh0lxfp0tfv8mdc8:75<86295bt}neng5eg}fknu522<773269