今天学习的是选择排序的实现。实现的原理是把当前位置的元素和其它未排序的所有元素比较,满足条件则把索引值记录下来,每次遍历都能选出一个未排序的元素中最大(小)的一个。实现的小技巧是每次比较之后暂时只把索引记录下来,当前值和余下所有未排序的元素都比较完之后再执行交换。def selectionSort(sort_list):
list_length =
原创
2014-04-12 20:16:10
948阅读
冒泡:importrandomdefpaixu(*args):args=list(args)forninrange(len(args)-1):foriinrange(len(args)-1-n):ifargs[i]>args[i+1]:args[i],args[i+1]=args[i+1],args[i]print(args)选择:defpaixu(*args):args=list(args
原创
2017-12-01 18:01:21
727阅读
Python实现选择排序
原创
2022-09-15 10:04:23
301阅读
python实现选择排序选择排序:实现原理:我们以 【 54 226 93 17 77 31 44 55 20】为例子【54 226 93 17 77 31 44 55 20】那么首先我们认为第一个元素为最小元素,然后从列表中找到最小元素,并与第一个元素替换,【54 226 93 17 77 31 44 55 20】【17 ,226, 93 ,54 ,77 ,31, 44, 55...
原创
2021-06-16 20:27:35
10000+阅读
'''Created on 2017-1-6@author: admin'''def selectSort(source): for i in range(len(source)): mins=source[i] index=i for j in range(i,len(source)): if(mins>s
原创
2022-07-28 16:34:09
42阅读
选择排序基本原理当前元素和后面所有元素最小值进行比较,若前者大,则交换位置。代码# -*- coding: utf-8 -*-def select_sort(input_list): if len(input_list) <= 1 : return input_list for i in range(0,len(input_list)-1): for j in range(i+1,len(input_list)): # 和后面所有元素进行比
原创
2021-09-08 16:01:04
67阅读
# 冒泡排序x =[1,2,6,0.3,2,0.5,-1,2.4]n =len(x)for i in range(n): for j in range(i): if x[j] > x[i]: x[i],x[j] =x[j],x[i]print(x)
原创
2022-09-23 10:42:26
38阅读
## 选择排序的原理和实现
选择排序(Selection Sort)是一种简单直观的排序算法,它的原理是每次从待排序的数据中选择最小(或最大)的元素,放到已排序序列的末尾,直到所有元素都排序完成。
选择排序的算法步骤如下:
1. 在未排序序列中,找到最小(或最大)的元素,将其和未排序序列的第一个元素交换位置。
2. 在剩余未排序元素中,继续寻找最小(或最大)的元素,将其与未排序序列的第一个元素
原创
2023-07-31 09:32:32
21阅读
选择排序: 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。算法原理1.首先从原始数据中选择选择最小的1个数据,将其和位于第1个位置的数据交换 2.接着从剩下的n-1个数据中选择次小的一个元素,将
转载
2023-10-26 15:23:18
68阅读
目录选择排序基本思想性能特点步骤详解python代码选择排序 选择排序是一种十分基础的的排序算法,比较简单直观。当对数据量较少的序列实现升序或降序排序是可以采用选择排序。基本思想 从头到尾扫描所有的n个元素,从中找出最小或最大的元素并和第一个元素进行交
转载
2023-11-20 21:46:23
49阅读
python实现【选择排序】(SelectionSort)算法原理及介绍选择排序(Selection-sort)是一种简单直观的排
原创
2022-11-29 16:20:02
94阅读
#!/usr/bin/envpython3#-*-coding:UTF-8-*-#Date:2018-5-27#Author:AreLIN#选择排序:每次只取一个最大或最小值的索引importrandoma=[]count_swap=0count_iter=0#随机数列表for_inrange(20):a.append(random.randrange(1,101))print("myfirstl
原创
2018-05-28 01:20:52
1481阅读
defsort(arr):count=len(arr)foriinrange(count):max=arr[i]forjinrange(count-i):ifmax<arr[i+j]:max,arr[i+j]=arr[i+j],maxarr[i]=maxreturnarrl=[5,2,7,8,6,1,4,9,10,1,2,3,4]print(sort(l))
原创
2019-10-19 19:35:05
234阅读
看到一个题目,问冒泡排序和选择排序的区别,我发现我好像忘了,所以来回顾一下。 冒泡排序 L=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48] 要将列表L里的15个元素进行从小到大排序,用冒泡排序的过程是: 列表有n个元素,则应比较n-1轮,第一轮比较n-1次,第一 ...
转载
2021-09-01 21:25:00
341阅读
2评论
1.选择排序1.1 选择排序算法介绍选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最大元素,存放到排序序列的末尾位置(与原末尾位置元素交换),然后,再从剩余未排序元素中继续寻找最大元素,与未排序序列的末尾位置交换。以此类推,直到所有元素均排序完毕。或者 在未排序系列中找到最小元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小
转载
2024-01-11 21:59:24
85阅读
选择排序的时间复杂度为O(n^2),是不稳定的排序冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序插入排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),,平均情况下为O(n^2),是稳定的排序1.选择排序def selectio...
转载
2014-07-14 15:38:00
106阅读
""" 要掌握冒泡排序 选择排序 插入排序 快速排序的实现方法 """ """冒泡排序 冒泡排序算法的运作: 1、比较相邻元素,如果第一个比第二个大(升序),就交换他们两个 2、对每一对相邻元素做同样的工作,从开始到结尾的最后一对,这步做完后,最后的元素会是最大的数 3、针对所有的元素重复以上的步骤 ...
转载
2021-08-22 22:30:00
254阅读
2评论
一.选择排序介绍选择排序,顾名思义就是用逐个选择的方式来进行排序,逐个选择出数组中的最大(或最小)的元素,直到选择至最后一个元素。此时数组完成了排序。二.选择排序原理分析三.选择排序代码实现/**
* @Author {LearnAndGet}
* @Time 2019年1月8日
* @Discription:选择排序
*/
package com.sort;
import java.u
转载
2023-07-18 14:28:49
26阅读
冒泡排序法:属于交换排序两两比较大小,交换位置。如同水泡咕嘟咕嘟往上冒结果分为升序和降序排列升序排序原理:n个数从左至右,索引编号从0开始到n-1,索引0和1的值比较,如果索引0大,则交换两者位置,如果索引1大,则不交换。继续比较索引1和2的值,将大值放在右侧,直到索引n-2和n-1比较完,第一轮比较完成,此时,位于最右侧的值为最大的数。第二轮从索引0开始比较到索引n-2,因为最右侧n-1位置上已
转载
2023-12-01 10:29:29
51阅读
public void SelectSort(int[] ary)
{
// 需要遍历获得最小值的次数
for (int i = 0; i < ary.Length - 1; i++)
{
int temp = 0;
转载
2017-06-03 09:38:00
66阅读
2评论