使用Golang实现以下排序算法: 冒泡排序 选择排序 插入排序 快速排序 并打印时间进行比较。 主函数 package main import ( "fmt" "math/rand" "sort" "time" ) const ( num = 10000 // 测试数组的长度 rangeNum = ...
分类:
编程语言 时间:
2021-06-28 18:47:49
阅读次数:
0
常用排序算法: 冒泡排序 插入排序 快速排序 选择排序 排序算法的时间&&空间复杂度 排序算法的稳定性 冒泡排序——bubbleSort 是一种简单的排序算法,重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把他们交换。走访数列的工作是重复的进行直到没有需要交换。 如果两个数关系不正确 ...
分类:
编程语言 时间:
2020-07-24 10:07:24
阅读次数:
101
一、简单排序 1.1:直接插入排序:在插入第i个记录时,R1,R2,...Ri-1,Ri已经排好序,这时将关键字ki依次与关键字ki-1, ki-2,...,k1进行比较,从而找到应该插入的位置,然后将ki插入,插入位置及其后面的记录依次向后移。 简单地理解就是从后找起,找到合适的位置插入,然后不断 ...
分类:
编程语言 时间:
2020-06-30 22:09:38
阅读次数:
71
简述一些常用算法,并用代码实现它。 注:动图是在网上找的。 (1)冒泡排序 核心思想:交换序列中相邻两个整数。 测试代码: 1 void bubble_sort(void) 2 { 3 /* 4 * 冒泡排序:以降序为例进行说明 5 * 比较相邻的元素,将值最小的元素交换到右边。 6 */ 7 in ...
分类:
编程语言 时间:
2020-06-30 00:30:44
阅读次数:
69
<?php header('content-type:text/html;charset=utf-8'); $arr = array(3,2,5,8,23,54,44,6,22,9); echo implode(' ', $arr)."<br/>"; /* 常用排序算法 */ //冒泡排序 func ...
分类:
编程语言 时间:
2020-06-15 15:59:09
阅读次数:
53
以上快速排序和归并排序的空间复杂度不正确 图2没有的参考图1,以图2为准(对,就是懒得重新画图了) 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序 O ...
分类:
编程语言 时间:
2020-05-23 20:29:05
阅读次数:
74
语雀入口 https://www.yuque.com/along-n3gko/ezt5z9 冒泡排序 比较相邻的两个元素,如果前一个比后一个大,则交换位置。 比较完第一轮的时候,最后一个元素是最大的元素。 这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。 1 let arr = [ ...
分类:
编程语言 时间:
2020-05-16 12:13:53
阅读次数:
58
public class Sort { //冒泡排序方法1 public static void bubbleSort1(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - ...
分类:
编程语言 时间:
2020-05-03 00:44:05
阅读次数:
59
介绍 直接插入排序算法是一种简单,直观且稳定的排序算法。直接插入排序的基本思路是将一个元素插入到已经排好序的序列中,从而得到一个新的有序序列。 原理 直接插入排序的原理就好比抓扑克牌一样,我们每新抓到一张扑克后,会扫描已经有序的扑克牌,以升序为例,从大到小扫描扑克牌,当出现扑克小于当前的新扑克时,将 ...
分类:
编程语言 时间:
2020-04-22 22:51:19
阅读次数:
78
排序算法 [toc] 1. 排序算法概述 1.1 什么是排序算法? 对一序列对象根据某个关键字,按照某种规则进行排序 1.2、排序术语 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面 内排序 :所有排序操作都在 ...
分类:
编程语言 时间:
2020-03-30 19:39:50
阅读次数:
76