十大经典算法排序总结对比 一张图概括: 主流排序算法概览 主流排序算法概览 n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 作为最简单的排序算 ...
分类:
编程语言 时间:
2019-06-19 12:29:19
阅读次数:
157
MySQL作为最流行的关系型数据库产品之一,当数据规模增大遭遇性能瓶颈时,最容易想到的解决方案就是分库分表。无论是进行水平拆分还是垂直拆分,第一步必然需要数据迁移与同步。由此可以衍生出一系列数据迁移过程中的需求:1.原本一张表迁移到单库多表(或多库多表),这是最基本的需求;2.原本单库多表(或多库多 ...
分类:
数据库 时间:
2019-06-14 09:29:18
阅读次数:
161
MySQL作为最流行的关系型数据库产品之一,当数据规模增大遭遇性能瓶颈时,最容易想到的解决方案就是分库分表。无论是进行水平拆分还是垂直拆分,第一步必然需要数据迁移与同步。由此可以衍生出一系列数据迁移过程中的需求:1.原本一张表迁移到单库多表(或多库多表),这是最基本的需求;2.原本单库多表(或多库多 ...
分类:
数据库 时间:
2019-06-14 09:22:36
阅读次数:
138
一、MySQL扩展具体的实现方式随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。关于数据库的扩展主要包括:业务拆分、主从复制,数据库分库与分表。这篇文章主要讲述数据库分库与分表(1)业务拆分业务起步初始,为了加快应用上线和快速迭代,很多应用都采用集中式的架构。随着业务系统的扩大,系统变得越来越复杂,越来越难以维护,开发效率变得越来越低,并且对资源的
分类:
数据库 时间:
2019-05-23 23:21:23
阅读次数:
264
无论什么语言,千万不要在循环里进行数据库的查询。 首先说明一下,这里说的程序优化是指程序效率的优化。一般来说,程序优化主要是以下三个步骤: 1.算法优化 2.代码优化 3.指令优化 算法优化 算法上的优化是必须首要考虑的,也是最重要的一步。一般我们需要分析算法的时间复杂度,即处理时间与输入数据规模的 ...
分类:
其他好文 时间:
2019-05-09 15:48:43
阅读次数:
167
题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题: 一株奇怪的花卉,上面共连有NN朵花,共有N-1N?1条枝干将花儿连在一起, ...
分类:
其他好文 时间:
2019-05-09 00:50:04
阅读次数:
176
题目背景 数据规模和spoj上有所不同 题目描述 给定一棵n个节点的树,有两个操作: CHANGE i ti 把第i条边的边权变成ti QUERY a b 输出从a到b的路径中最大的边权,当a=b的时候,输出0 CHANGE i ti 把第i条边的边权变成ti QUERY a b 输出从a到b的路径 ...
分类:
其他好文 时间:
2019-05-02 09:21:04
阅读次数:
142
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 ...
分类:
编程语言 时间:
2019-04-28 10:01:35
阅读次数:
138
N个节点的树,有R种属性,每个点属于一种属性。有Q次询问,每次询问r1,r2,回答有多少对(e1,e2)满足e1属性是r1,e2属性是r2,e1是e2的祖先。 数据规模N≤200000,R≤25000,Q≤200000 30%数据R≤500 55%数据同种属性节点个数≤500 Input Outpu ...
分类:
其他好文 时间:
2019-04-15 20:04:41
阅读次数:
104
草草写完的,写的不太好,望谅解 移动"哨兵棋子" 题面+数据规模 一条数轴有$N$个棋子,每个棋子可以占据一个整数位置。$N$个棋子目前位于不同的整数位置,现在你想要移动它们以便它们占据N个连续位置(例如,位置$5,6,7,8$)。当前所有棋子中位置最小或者位置最大的棋子,称为“哨兵棋子”。每一次, ...
分类:
其他好文 时间:
2019-04-06 09:16:36
阅读次数:
93