冒泡排序 1 void BubbleSort(ElementType A[], int N) { 2 ElementType temp; 3 for(int i=0; i<N; i++) { 4 for(int j=0; j<N-i-1; j++) { // 关键点在与j<N-i-1,生成一个升序的 ...
分类:
编程语言 时间:
2021-01-08 11:33:42
阅读次数:
0
public static int[] insertionSort(int[] A) { int n=A.length; int i=0,j=0,t=0,k=0; for(i=1;i<n;i++) {//把A[0]看成一个有序数组,从A[1]开始到A[n]逐个插入这个数组。 int temp=A[i ...
分类:
编程语言 时间:
2020-12-19 12:56:59
阅读次数:
1
Python的排序算法由Peter Tim提出,因此称为TimSort。它最先被使用于Python语言,后被多种语言作为默认的排序算法。TimSort实际上可以看作是mergeSort+binarySort,它主要是针对归并排序做了一系列优化。如果想看Python的TimSort源码,在Cpytho ...
分类:
其他好文 时间:
2020-12-17 12:27:06
阅读次数:
2
常用排序方法总结 1、插入排序 1.1直接插入排序 算法思想 插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。即每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 代码 public static v ...
分类:
编程语言 时间:
2020-12-16 11:56:02
阅读次数:
3
**算法名称:**选择排序 基本原理(从小到大): S1:选出数组中最小元素(记下标为i)(一基准值也可)。 S2:从剩余待排序数组元素选出最小元素与下标为(i+1)元素交换。 S3:重复S2。 算法图示: 图片来自https://www.runoob.com/w3cnote/selection-s ...
分类:
编程语言 时间:
2020-12-09 12:30:22
阅读次数:
9
思想:每次遍历列表,选择一个最大或者最小的数,然后将该数放在列表前面, 整个列表可以分为2部分:左边为每次选择的最大/最小数,右边等待选择的数据. 这个过程需要n-1趟,最后一个数肯定是最大/最小的数。 #!/usr/bin/env python #-*- coding:utf-8 -*- ''' ...
分类:
编程语言 时间:
2020-12-04 11:35:56
阅读次数:
23
第四讲 排序 4.1 巨经典的排序算法 1. 冒泡排序(很简单) 平均时间复杂度 O(n^2) ,空间复杂度 O(1),稳定 基本思想 两个数比较大小,较大的数下沉,较小的数冒起来。 演示(图片来自菜鸟教程) 代码 /** * 冒泡排序 * @param array 待排序的数组 */ public ...
分类:
编程语言 时间:
2020-12-04 11:29:30
阅读次数:
5
冒泡排序 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序! 冒泡的代码还是相当简单的,两层循环,外层冒泡层数,里层依次比较,江湖中人人皆知。 我们看到嵌套循环,应该立马可以得出这个算法的时间复杂度为O(n^2) package array; import java.util.Arrays; p ...
分类:
编程语言 时间:
2020-11-30 16:15:19
阅读次数:
31
一、冒泡排序 常用的也是简单的排序算法 个人理解: 步骤:往后对比、找最值、换最值 第一层i循环次数就是要排序数组的个数 第二层j循环可以每次都从第一个数开始往后对比,如果大\小于就交换,保证对比值一直都是最值 第二层循环条件中可以减去i,因为i每次循环后都会得一个最值往后面冒泡,即i下标后面的数已 ...
分类:
编程语言 时间:
2020-11-30 15:31:30
阅读次数:
24
一. 冒泡排序(BubbleSort) 基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。 过程: 比较相邻的两个数据,如果第二个数小,就交换位置。 从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。 继续重复上述过程,依次将第2.3... ...
分类:
编程语言 时间:
2020-11-26 14:24:16
阅读次数:
8