码迷,mamicode.com
首页 >  
搜索关键字:稳定排序    ( 224个结果
算法的六种排序
一、选择排序法 简单选择排序是最简单直观的一种算法,基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。 for (int i = 0; i < arr.length - 1; i++) { ... 2 简单插入排序在最好情况下 ...
分类:编程语言   时间:2019-07-25 19:17:38    阅读次数:105
为什么要区分稳定和非稳定排序
原文链接:https://www.sohu.com/a/252870668_818692 ...
分类:编程语言   时间:2019-07-01 00:56:53    阅读次数:110
排序算法总结——冒泡排序与鸡尾酒排序
1、 冒泡排序 冒泡排序(bubble sort),是一种基础的交换排序。基本思想是,把相邻的元素两辆进行比较,当一个元素大于右侧相邻元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变。 冒泡排序是一种稳定排序,值相等的元素并不会打乱原本的顺序。由于该排序算法每一轮都要遍历所有元素 ...
分类:编程语言   时间:2019-06-26 01:06:10    阅读次数:145
Web高级 JavaScript中的算法
算法 排序算法 稳定排序 待排序序列中相等元素在排序完成后,原有先后顺序不变。 非稳定排序 有序度 待排序序列中有序关系的元素对个数。 逆序度 1. 插入排序 遍历有序数组,对比待插入的元素大小,找到位置。把该位置后的元素依次后移。 时间复杂度: O(N2) 2. 选择排序 区分已排序区间和未排序区 ...
分类:编程语言   时间:2019-06-17 01:16:56    阅读次数:115
选择排序
// 不稳定排序#include using namespace std; int main() { int arr[100], tmp; for (int i = 0; i > arr[i]; for (int j = 0; j arr[k]) { tmp = arr[j]; arr[j] = a... ...
分类:编程语言   时间:2019-05-03 14:49:11    阅读次数:153
数据结构(二)——排序
排序:稳定排序算法,不稳定排序算法 如上图,若两个5排序之后交换了位置就是不稳定的,没有交换位置就是稳定排序 1.选择排序 冒泡是相邻的两个交换,选择法是首元素与最小的交换。 2.冒泡排序 冒泡算法的优化,在待排序数据处于一种趋于有序的情况,可以减少判断次数,比如:1,2,3,4,7,5,6 3.插 ...
分类:编程语言   时间:2019-02-03 00:51:33    阅读次数:202
归并排序
归并排序原理: 利用分治的思想,通过递归来实现的, java代码: 性能分析: 时间复杂度:O(n*logN) 空间复杂度:O(n) 原地排序:否 稳定排序:是 ...
分类:编程语言   时间:2019-01-30 16:07:29    阅读次数:209
简单选择排序
简单选择排序原理: 性能分析: 时间复杂度:O(n^2) 空间复杂度:O(1) 原地排序:是 稳定排序:否 ...
分类:编程语言   时间:2019-01-30 13:07:21    阅读次数:143
堆排序
堆排序是利用堆这种数据结构而设计的一种排序算法,属于选择排序,它的最坏、最好、平均复杂度均为O(Nlog2^N),属于不稳定排序;堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆;每个节点的值都小于或等于其左右孩子节点的值,称为小顶堆;用简单的公式描述一下堆的定义 ...
分类:编程语言   时间:2018-12-31 22:39:18    阅读次数:329
排序算法的简单实现(冒泡和快排)
排序算法 冒泡排序 原理:把相邻的元素两两比较,根据大小来交换元素的位置。 原始的冒泡排序是稳定排序。由于该排序的每一轮要遍历所以元素,轮转的次数和元素数量相当,所以时间复杂度是 O(N^2)。 java代码表达如下: (使用双循环来进行排序。外部循环控制所有的回合,内部循环代表每一轮的冒泡处理,先 ...
分类:编程语言   时间:2018-12-15 16:20:19    阅读次数:203
224条   上一页 1 ... 3 4 5 6 7 ... 23 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!