常用排序方法总结 1、插入排序 1.1直接插入排序 算法思想 插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。即每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 代码 public static v ...
分类:
编程语言 时间:
2020-12-16 11:56:02
阅读次数:
3
1 背景与动机 传统面向对象编程的核心思想是一个对象有着唯一标识,表现为对象引用,封装着随时可变的属性状态,如果你改变了一个属性的状态,这个对象还是原来那个对象,就是对象引用没有因为状态的改变而改变,也就是说该对象可以有很多种状态。C#从最初开始也是一直这样设计和工作的。但是一些时候,你可能非常需要 ...
上周公司有一个应用,一到晚上高峰期的时候RT(响应时间)就很长。后来上服务器看了下JVM的配置,发现运维在启动参数那里把-Xss给设成了10M。导致每个线程占用的内存过大,导致内存消耗过快,其它线程排队等待的情况。后来把-Xss改成1M之后,系统性能有明显的提高。 总结: 1.-Xss参数不可以设的 ...
分类:
其他好文 时间:
2020-12-15 12:13:56
阅读次数:
2
核心思想 将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数。即:序列的第一个元素,肯定是有序的,把第二个元素和第一个元素相比,插入到合适的位置,这样前两个元素就有序了,接着,把第三个元素插入到前面包含两个元素的有序列表中,以此类推,直至插完第n个数据。 正向思维 ''' 6 ...
分类:
编程语言 时间:
2020-12-15 12:06:24
阅读次数:
5
背景说明华为云分布式数据库中间件(DistributedDatabaseMiddleware,简称DDM),专注于解决数据库分布式扩展问题,突破了传统数据库的容量和性能瓶颈,实现海量数据高并发访问。DDM使用华为关系型数据库(RDS)作为存储引擎,具备自动部署、分库分表、弹性伸缩、高可用等全生命周期运维管控能力。上边几句话是从华为云官网的帮助手册摘录出来的[1],简单介绍了DDM服务。从我这个使用
分类:
数据库 时间:
2020-12-15 11:37:22
阅读次数:
4
ST表的功能很简单 它是解决RMQ问题(区间最值问题)的一种强有力的工具 它可以做到O(nlogn)预处理,O(1)查询最值 ST表是利用的是倍增的思想 拿最大值来说 我们用Max[i][j]表示,从i位置开始的2j个数中的最大值,例如Max[i][1]表示的是ii位置和i+1位置中两个数的最大值 ...
分类:
其他好文 时间:
2020-12-14 13:48:47
阅读次数:
3
不会题目的思路总结 01 对称匹配问题(总元素必为偶数个) 思想: 当读取遇到左边部分(对称轴左边),就把相应的右边部分内容压栈进去, 当读取遇到右边部分,则进行弹栈进行相等比较处理(与右边部分内容) 当读取完时所有元素时,栈中无元素时,则代表所求的东西是对称的符合匹配规律的, 若中途栈为空或者弹栈 ...
分类:
其他好文 时间:
2020-12-14 13:42:56
阅读次数:
4
标签 稳定排序、非原地排序、比较排序 基本思想 归并排序属于比较类非线性时间排序,号称比较类排序中性能最佳者,在数据中应用中较广。 归并排序是分治法(Divide and Conquer)的一个典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有 ...
分类:
编程语言 时间:
2020-12-14 13:39:09
阅读次数:
5
先放一段冒泡排序的代码 public class Test { public void bubbleSort(int[] a){ if (a.length<=1){return;} for (int i = 0; i < a.length; i++) { boolean flag = false; ...
分类:
编程语言 时间:
2020-12-14 13:21:56
阅读次数:
4
选择排序 选择排序,其算法的核心思想是:固定位置,选择元素,即:先从序列中,找到最小的元素,放在第一个位置,之后找到第二小的元素,放在第二个元素,以此类推,就可以完成整个排序工作了。 __author__ = 'kangpc' __date__ = '2020-12-2 0:34' # 选择排序 ' ...
分类:
编程语言 时间:
2020-12-14 12:58:52
阅读次数:
7