搜索结果
查询Tags标签: gap,共有 78条记录-
基本排序算法原理和优化
(原创) 本文讨论基本排序算法的原理和优化 1.插入排序(insertion sort)新元素,插入到已排好序的序列中去,得到新的有序列 2.选择排序(selection sort)每轮选最值 3.归并排序 merge sort分为两个过程(1)不断分割,直至单元素(2)合并两个有序列的方法先不断分割…
2021/12/19 14:19:28 人评论 次浏览 -
经典排序算法(三) —— Shell Sort 希尔排序
目录简介排序过程实现复杂度 简介 1959年由Shell发明,是第一个突破O(n2)的排序算法,是简单插入排序的改进版。 它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 希尔排序在数组中采用跳跃式分组的策略,通过某个增量将数组元素划分…
2021/12/15 7:19:51 人评论 次浏览 -
经典排序算法(三) —— Shell Sort 希尔排序
目录简介排序过程实现复杂度 简介 1959年由Shell发明,是第一个突破O(n2)的排序算法,是简单插入排序的改进版。 它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 希尔排序在数组中采用跳跃式分组的策略,通过某个增量将数组元素划分…
2021/12/15 7:19:51 人评论 次浏览 -
十大排序算法的实现-python&golang
1.冒泡 思路:每一轮排序,每次循环从头开始比较,但尾部根据i变化,length-i-1或者length-i,相当于每次当前尾部位置固定,每次循环选出当前轮最大的放后面,大的往数组尾部移动,小的往前挪 时空分析: 时间/空间 O(n^2) 稳定性:稳定 内排排序: 内排序 python # 1.冒…
2021/12/7 9:16:41 人评论 次浏览 -
十大排序算法的实现-python&golang
1.冒泡 思路:每一轮排序,每次循环从头开始比较,但尾部根据i变化,length-i-1或者length-i,相当于每次当前尾部位置固定,每次循环选出当前轮最大的放后面,大的往数组尾部移动,小的往前挪 时空分析: 时间/空间 O(n^2) 稳定性:稳定 内排排序: 内排序 python # 1.冒…
2021/12/7 9:16:41 人评论 次浏览 -
896-怎么解决MySQL死锁问题的?
什么是死锁? 死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为 Deadlock found when trying to get lo…
2021/12/4 19:18:15 人评论 次浏览 -
896-怎么解决MySQL死锁问题的?
什么是死锁? 死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为 Deadlock found when trying to get lo…
2021/12/4 19:18:15 人评论 次浏览 -
常见八大排序算法
1 八大排序算法的时间复杂度和空间复杂度排序算法 稳定性 平均时间复杂度 最差时间复杂度 空间复杂度 备注堆排序 不稳定 O(nlogn) O(nlogn) O(1) n大时较好快速排序 不稳定 O(nlogn) O(n^2) O(nlogn) n较大时好希尔排序 不稳定 O(nlogn) O(n^s) O(1) s时所选的分组选择排…
2021/11/25 17:10:49 人评论 次浏览 -
常见八大排序算法
1 八大排序算法的时间复杂度和空间复杂度排序算法 稳定性 平均时间复杂度 最差时间复杂度 空间复杂度 备注堆排序 不稳定 O(nlogn) O(nlogn) O(1) n大时较好快速排序 不稳定 O(nlogn) O(n^2) O(nlogn) n较大时好希尔排序 不稳定 O(nlogn) O(n^s) O(1) s时所选的分组选择排…
2021/11/25 17:10:49 人评论 次浏览 -
排序——归并排序的非递归算法
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<malloc.h> void MergeSortNonR(int* a, int n) {int* tmp = (int*)malloc(sizeof(int)*n);int gap = 1; // 每组数据个数while (gap < n){for (int i = 0; i < n; i += 2 * gap){// [i, …
2021/11/22 20:12:19 人评论 次浏览 -
排序——归并排序的非递归算法
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<malloc.h> void MergeSortNonR(int* a, int n) {int* tmp = (int*)malloc(sizeof(int)*n);int gap = 1; // 每组数据个数while (gap < n){for (int i = 0; i < n; i += 2 * gap){// [i, …
2021/11/22 20:12:19 人评论 次浏览 -
@[学习笔记1——算法—排序(插入排序、希尔排序、堆排序、快排)]
#排序 排序基于是否比较被排数列大小,分为比较排序与比较排序,其中非比较排序有计数排序法,比较排序有常用的冒泡排序、选择排序、插入排序、希尔排序、堆排序、快排、归并排序。 ##目录 (一)排序方法介绍 1.插入排序 2.希尔排序 3.堆排序 4.快排 (二)各种排序特点…
2021/11/21 20:12:39 人评论 次浏览 -
@[学习笔记1——算法—排序(插入排序、希尔排序、堆排序、快排)]
#排序 排序基于是否比较被排数列大小,分为比较排序与比较排序,其中非比较排序有计数排序法,比较排序有常用的冒泡排序、选择排序、插入排序、希尔排序、堆排序、快排、归并排序。 ##目录 (一)排序方法介绍 1.插入排序 2.希尔排序 3.堆排序 4.快排 (二)各种排序特点…
2021/11/21 20:12:39 人评论 次浏览 -
初步理解MySQL的gap锁
转自:Mysql加锁过程详解(7)-初步理解MySQL的gap锁 - crazyYong - 博客园Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select for update/lock in share mode 对事务…
2021/11/21 19:41:16 人评论 次浏览 -
初步理解MySQL的gap锁
转自:Mysql加锁过程详解(7)-初步理解MySQL的gap锁 - crazyYong - 博客园Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select for update/lock in share mode 对事务…
2021/11/21 19:41:16 人评论 次浏览