在复习归并排序的时候,使用到了递归,我一直以为是递归函数没写对,导致了Maximum call stack size exceeded 栈溢出,但是其实是JavaScript浮点数的自动转换的问题! function sort(arry,left,right){ if(left right){ re ...
分类:
编程语言 时间:
2021-05-25 17:48:06
阅读次数:
0
/***********************************线性表顺序存储结构的ADT定义(数组实现)********************************************** ADT List { 数据对象:D={ ai | ai ∈ElemSet, i=1,2,.. ...
分类:
编程语言 时间:
2021-05-24 17:12:00
阅读次数:
0
Insertion sort Attempt#1 每次将元素A[j]插入它之前的有序序列A[1 .. j-1]中,插入方式是与前一个相邻元素两两比较并交换直到到达正确位置 Complexity 显然复杂度主要来自于 compare 和 swap : 平均情况下,比较和交换均需要 Θ(n2),虽然可以 ...
分类:
其他好文 时间:
2021-05-24 02:26:31
阅读次数:
0
ShardingJDBC的核心流程主要分成六个步骤,分别是:SQL解析->SQL优化->SQL路由->SQL改写->SQL执行->结果归并,流程图如下: sharding官网 https://shardingsphere.apache.org/document/legacy/3.x/document ...
分类:
数据库 时间:
2021-04-30 12:09:19
阅读次数:
0
1. 希尔排序 思路: 是优化了的插入排序,可以改进当最值处于头或尾需要多次移动元素的问题,因为它会设置步长k(>=1),初始步长是len/2, 先保证步长为k的每个子数组有序,再进一步缩小步长直到为1的时候,数组基本有序。 ''' 希尔排序 时间复杂度 平均:O(nlogn) 最好:O(nlogn ...
分类:
编程语言 时间:
2021-04-29 11:58:13
阅读次数:
0
十大经典排序算法 排序算法可以分为内部排序和外部排序,内部排序时数据记录在内存中进行排序,而外部排序时因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等 ...
分类:
编程语言 时间:
2021-04-27 15:03:51
阅读次数:
0
#归并排序 思路:(分而治之的思想) 1.申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列; 2.设定两个指针,最初位置分别为两个已经排序序列的起始位置; 3.比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置; 4.重复步骤 3 直到某一指针达到序列 ...
分类:
编程语言 时间:
2021-04-15 12:38:31
阅读次数:
0
315. 计算右侧小于当前元素的个数 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例: 输入:nums = [5,2,6,1] 输出:[2,1,1,0] 解释: ...
分类:
编程语言 时间:
2021-04-14 11:58:17
阅读次数:
0
比如外存中有100G的字符串文件,1G的内存,对字符串进行排序操作。 1.首先将100G的内容分成若干个小部分,每个部分不超过500MB。分别读取这些小部分进行排序,然后写入到外存中。这样就得到了若干个已经排好序的小部分。 2.多路归并排序,(相对二路归并而言)。对于k个已经排好序的小部分,每次取出 ...
分类:
编程语言 时间:
2021-04-13 12:30:46
阅读次数:
0
LeetCode148 排序链表 题目 给定链表的头结点head,返回排序后的链表,按照由小到大的顺序。 案例1 输入:head = [4,2,1,3] 输出:[1,2,3,4] 分析 使用归并排序,先找出中间节点(快慢指针:快指针每次走两步,慢指针每次走一步,当快指针走到链表最后,慢指针所在的位置 ...
分类:
编程语言 时间:
2021-04-10 13:34:31
阅读次数:
0