selection-sort相关内容

在 Arm 装配中实现选择排序时遇到问题

所以我的程序有问题.它应该在文本文件中读取每行都有一个数字.然后将其存储在一个数组中,使用选择排序对其进行排序,然后将其输出到一个新文件中.读取和写入文件工作得很好,但我的排序代码无法正常工作.当我运行程序时,它似乎只存储了一些数字在数组中,然后是一堆零. 所以如果我的输入是 112323, 32, 12, 19, 2, 1, 23.输出是 0,0,0,0, 2,1,23.我很确定问题在于我 ..
发布时间:2021-11-17 21:58:27 其他开发

如何在 Python 中的链表上实现 SelectionSort 和 InsertionSort?

我已经实现了一个链接列表类,并且创建了一个selectionSort和insertSort函数,该函数可以在常规列表上使用.我需要获得selectionSort和insertSort才能在链表上工作,但是如果我说实话,我不确定从哪里开始. 这是我的链表类: class节点:def __init __(self,initdata):self.data =初始化数据self.next =无d ..
发布时间:2021-05-29 21:13:26 Python

气泡效率与选择排序

我了解冒泡排序和选择排序的大O值相同,(n)^ 2,但是当我尝试同时使用大小为1000的数组运行时,冒泡排序需要962037交换来对数组进行排序,而“选择排序"仅需988次交换即可对数组进行排序.为什么这些不同? 解决方案 因为复杂度是指比较次数,而不是交换次数.两者都需要O(n ^ 2)比较,但是选择排序在最坏的情况下只需要n-1交换(O(n)),而bubbleort可能最多需要n*(n ..
发布时间:2020-09-20 20:47:51 Java开发

如何在Java中实现降序选择排序?

我想实现一个选择排序方法,该方法采用一个整数数组并按降序对其进行排序.但是,诀窍是保持原始选择排序方法不变,而是使用简单的算术运算,并且在数组完成排序后不添加额外的循环来交换元素.这是我的代码,其想法是将最大值和最小值的位置存储在局部变量中,并在内循环完成迭代后将它们与相应的位置交换.我什至尝试使用仅一个变量来找到最小值,并将其放在数组的末尾,但是我失败了,并且我得到了错误的结果,我需要帮助发现错 ..
发布时间:2020-07-21 06:11:41 Java开发

Java选择排序

我在检查每个索引时遇到问题.它会跳过j的第三个索引,因为它会从i[0],j[2]到i[0],j[4],我不知道为什么这样做.另外,我实际上无法调换我的电话号码.有人知道我的错误在哪里吗? static void selectionSort(int[] arr) { final long startTime = System.nanoTime(); // starts time ..
发布时间:2020-07-21 05:24:31 Java开发

选择排序,插入排序和快速排序的方案

如果任何人都可以就我的逻辑提供一些意见,我将不胜感激. 对于所有键都相同,选择排序或插入排序的数组,哪种方法运行更快? 我认为这与对数组进行排序时类似,这样插入排序将是线性的,而选择排序将是二次的. 哪种方法以相反的顺序,选择排序或插入排序对数组运行更快? 我认为它们将以类似的方式运行,因为每个位置的值都必须更改.插入排序的最坏情况是反向排序,这意味着它是二次的,然后选择排 ..

选择或插入排序在学术环境之外有用吗?

这些排序算法在实际应用中是否有用? 还是仅仅是n ^ 2复杂度的排序算法的基本示例? 有人可以给一些吗?用法示例? 解决方案 插入排序是用于对非常小的数组进行排序的最快排序算法之一。 实际上,当要排序的子数组低于特定阈值时,许多quicksort / mergesort实现会停止,然后将插入排序用于这些小数组。 选择排序在实践中很少使用。 ..
发布时间:2020-06-03 21:44:05 其他开发

选择排序的意义

选择排序的意义是什么?即使在最佳情况下,它的时间复杂度也为O(n ^ 2)。那么为什么它仍然流行呢? 解决方案 编写起来很简单,人们也很直观 它是最接近真实人类处理列表的方式。 它在内存中就地起作用 经过n次迭代后,您知道前n个元素已排序。在第一次迭代之后,对第一项进行排序,在第二项完成后,对前两项进行排序,依此类推... ..
发布时间:2020-06-03 21:38:21 其他开发

选择排序的最佳案例时间复杂度

当插入排序和冒泡排序为O(n)时,为什么选择排序O(n ^ 2)的最佳情况时间复杂度为何?他们的平均时间是相同的。我不明白为什么最好的情况会有所不同。希望得到一些帮助。 解决方案 对于选择排序,您必须搜索最小值并将其放在第一次迭代中的第一位。在第二次迭代中,您必须搜索数组未排序部分中的最小值并将其放在第二位,依此类推... 您只知道迭代直到未排序部分的末尾,哪个元素是最小值。即使数组 ..
发布时间:2020-06-03 21:20:07 其他开发

插入排序与选择排序

我试图理解插入排序和选择排序之间的区别。 它们似乎都具有两个组成部分:未排序列表和排序列表。他们似乎都从未排序列表中选取一个元素,并将其放入适当位置的已排序列表中。我已经看到一些网站/书籍说选择排序是通过一次交换一个来实现的,而插入排序只是找到正确的位置并插入它。但是,我看过其他文章说了一些话,说插入排序也互换了。因此,我感到困惑。 解决方案 选择排序: 给出列表,获取当前元素 ..
发布时间:2020-06-03 20:01:54 其他开发

使用选择排序对python中的数组进行排序.我该如何优化?

在HackerRank上进行此挑战,并将此代码通过15个测试用例中的10个.由于超时错误而失败,这是HackerRank告诉您算法未优化的方式.如何优化此代码以在较大的输入数据上运行? 目标是找出对未排序数组进行排序所需的最小交换次数. 更新:数组中的每个元素都是不同的. def minimum_swaps(arr): """Returns the minimum number ..
发布时间:2020-05-21 21:30:10 Python

选择排序从两端增长有序范围

我已经写了一个修改版本的选择排序,我考虑一个数组的最小和最大值,并将它们放在两端。 算法的工作原理如下 1。查找列表中的最小值和最大值。 2.使用第一个位置的值交换最小值。 3.将最大值与最后一个位置的值进行交换。 4.重复上述步骤剩余的 (从第二个位置开始,到第二个到 最后一个位置,并缩小检查的位置范围 从每次阵列的两端)。 不幸的是,上面的数组显示了 ..
发布时间:2017-07-21 01:32:09 Java开发

字符串选择以C ++排序

需要一些字符串帮助我的选择排序。这是我到目前为止。 #include“stdafx.h” #include #include using namespace std; //常量全局变量 const int NUM_NAMES = 20; //函数原型 void selectionSort(string [],int); ..
发布时间:2016-11-02 03:42:52 C/C++开发

为什么我的日志(n)堆比我的n ^ 2选择排序慢

我已经实现了两种从最高到最低排序元素的算法。 第一个,在真实RAM模型上取二次时间,第二个是O(n log(n))时间。 第二个使用优先级队列来减少。 这里是时间,这是上述程序的输出。 第一列是整数随机数组的大小 第二列是O(n ^ 2)技术的时间(以秒为单位) 第三列是O(n log(n) b $ b 9600 1.92663 7.58865 9800 1. ..
发布时间:2016-10-23 12:48:17 C/C++开发

选择排序变不工作

我要实现根据这些参数的选择排序在Java中: 需要实现为分别位于两个最小和最大的元素在扫描列表中,并在开始和列表的末尾位置。其中,选择排序的变化。在通球王元素X0,...,XN-1进行扫描;上通第二,元件X1,...,XN-2进行扫描;等 我传递的方法大小为32的数组,当我打印数组是没有排序。什么是我的code回事? 静态无效的选择排序(){ 争夺(); INT sm ..
发布时间:2016-06-03 22:05:27 Java开发

替代选​​择排序诉选择排序

我一直在做关于更换选择排序的一些研究,我找不到它或任何实现了良好的,全面的实施替代选择排序的任何地方!也许我不看够硬,但谷歌是混淆替代选择排序与选择排序......所以这让我疑惑: 什么是选择排序和替换选择排序之间的真正区别是什么? 我在哪里可以找到替代选择排序的实现(或引导来写的话)? 什么是替代选择的特点那种使它比其他的排序算法更可取? 这是算法的任何其他名字知道? 解决方案 我还 ..
发布时间:2015-11-30 20:36:02 C/C++