第一章:基础算法 排序 快速排序 分治算法 确定分界点x(有三种方法,a、直接取左边界q[l],b、取中间值q[\((l +r)/ 2\)], c、随机) 调整区间,将区间划分为两段,左边所有的数都是小于等于x,右边所有的数大于等于x 递归处理左右两段 public void quickSort(i ...
分类:
编程语言 时间:
2020-08-07 00:26:11
阅读次数:
78
排序 冒泡排序 从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作比较至最后一个元素,此时最后一个元素就是最大的数。下一轮重复以上操作,此时无需比较最后一个元素,只需比较到length-2位置。 实现代码如下: function bubble(array) ...
分类:
编程语言 时间:
2020-07-28 00:22:28
阅读次数:
88
归并排序是一种效率较高的排序方法。本文将先介绍归并排序,然后再简单盘点一下其与快排的一些区别。 ...
分类:
编程语言 时间:
2020-07-27 09:30:05
阅读次数:
74
希尔排序 希尔排序法基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止 public class ShellSort { public static void main(Stri ...
分类:
编程语言 时间:
2020-07-16 21:53:38
阅读次数:
58
author:phaethonWB e-mail:945784220@qq.com 排序与搜索 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是 ...
分类:
编程语言 时间:
2020-07-16 00:07:06
阅读次数:
82
1.冒泡排序 def bubble_sort(list): for i in range(len(list)-1): for j in range(len(list)-i-1): if list[j] > list[j+1]: list[j], list[j+1] = list[j+1], list ...
分类:
编程语言 时间:
2020-07-12 20:42:52
阅读次数:
79
排序算法 冒泡排序 思想:冒泡排序(Bubble Sort)是一种简单直观的排序算法。它的工作原理是:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交 ...
分类:
编程语言 时间:
2020-07-05 21:02:01
阅读次数:
48
1.介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。 2.基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越 ...
分类:
编程语言 时间:
2020-07-04 15:15:58
阅读次数:
66
排序算法几乎是最为常见的算法,其目的是将一串不规则的数据按照递增递减的方式重新排列。 ...
分类:
编程语言 时间:
2020-07-03 19:10:13
阅读次数:
63
排序算法 这篇博文主要讲解一下主流的几大排序算法 选择排序 思路 选择排序应该是这么多排序算法中最简单的一种排序算法了,主要思路是找到数组中最小的元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素就和自己交换)。再次,在剩下的元素中重复此行为。 时间复杂度:O(n^2) 特点 ...
分类:
编程语言 时间:
2020-06-20 00:44:40
阅读次数:
55