选择排序: 1.数组分成前后两个部分,前部分是排序的,后部分是无序的 2.两层循环,先假定当前循环的第一个索引为最小值,内部循环找比该索引还小的值,找到交换 for i;i<len;i++ minIndex=i for j=i+1;j<len;j++ if arr[j]<arr[minIndex] ... ...
分类:
编程语言 时间:
2018-10-30 21:55:58
阅读次数:
144
知识点一、选择排序选择排序原理将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素循环第 1 条规则,找出最小元素,放于第 1 个位置经过 n-1 轮比较完成排序简单而言,每轮都找到最小的放到前面。二、冒泡排序冒泡排序原理逐一比较数组中相邻的两个元素,如果后面的元素小于前面 ...
分类:
编程语言 时间:
2018-10-30 21:20:25
阅读次数:
158
冒泡排序 冒泡法:第一趟:相邻的两数相比,大的往下沉。最后一个元素是最大的。 第二趟:相邻的两数相比,大的往下沉。最后一个元素不用比。 时间复杂度:O(n^2) 稳定性:稳定 改进:如果一趟比较没有发生位置变换,则认为排序完成 直接选择排序 选择排序法:每一次从待排序的数据元素中选出最小(或最大)的 ...
分类:
编程语言 时间:
2018-10-27 17:09:25
阅读次数:
184
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错、高并发、易扩展,需要zookeeper来选择排序引擎处理记账的唯一性 我们这里选择kafka排序引擎并通过Kafka集群和zookeeper集群保证数 ...
分类:
其他好文 时间:
2018-10-27 13:28:54
阅读次数:
257
2.1.31双倍测试。编写一个能够对排序算法进行双倍测试的用例。数组规模N的起始值为1000,排序后打印N、估计排序用时、实际排序用时以及在N增倍之后两次用时的比例。用这段程序验证在随机输入模型下插入排序和选择排序的运行时间都是平方级别的。对希尔排序的性能作出猜想并验证你的猜想。public cla ...
分类:
其他好文 时间:
2018-10-27 10:28:31
阅读次数:
184
2.1.17动画。修改插入排序和选择排序的代码,使之将数组内容绘制成正文中所示的棒状图。在每一轮排序后重绘图片来产生动画效果,并以一张“有序”的图片作为结束,即所有圆棒均已按照高度有序排列。提示:使用类似于正文中的用例来随机生成Double值,在排序代码的适当位置调用show()方法,并在show( ...
分类:
编程语言 时间:
2018-10-27 10:28:16
阅读次数:
202
2.1.18可视轨迹。修改你为上一题给出的解答,为插入排序和选择排序生成和正文中类似的可视轨迹。提示:使用setYscale()函数是一个明智的选择。附加题:添加必要的代码,与正文中的图片一样用红色和灰色强调不同角色的元素。 /************************************ ...
分类:
编程语言 时间:
2018-10-27 10:27:03
阅读次数:
111
2.1.17动画。修改插入排序和选择排序的代码,使之将数组内容绘制成正文中所示的棒状图。在每一轮排序后重绘图片来产生动画效果,并以一张“有序”的图片作为结束,即所有圆棒均已按照高度有序排列。提示:使用类似于正文中的用例来随机生成Double值,在排序代码的适当位置调用show()方法,并在show( ...
分类:
编程语言 时间:
2018-10-27 10:26:18
阅读次数:
165
2.1.28相等的主键。对于主键仅可能取两种值的数组,评估和验证插入排序和选择排序的性能,假设两种主键值出现的概率相同。试验结果:插入排序用时只需选择排序的1/4,主要原因是插入排序在将元素放入到合适的位置时与有序元素不需要进行全部的比较,而选择排序会需要将元素与所有未排序的元素全部比较。1)使用相 ...
分类:
其他好文 时间:
2018-10-27 10:25:36
阅读次数:
155
2.1.18可视轨迹。修改你为上一题给出的解答,为插入排序和选择排序生成和正文中类似的可视轨迹。提示:使用setYscale()函数是一个明智的选择。附加题:添加必要的代码,与正文中的图片一样用红色和灰色强调不同角色的元素。/************************************* ...
分类:
编程语言 时间:
2018-10-27 10:23:00
阅读次数:
170