一、归并排序 二、快速排序
一、归并排序 二、快速排序
线性排序算法的时间复杂度比较低,适用场景比较特殊。所以如果要写一个通用的排序函数,不能选择线性排序算法。 如果对小规模数据进行排序,可以选择时间复杂度是 O() 的算法;如果...
今天我会继续给你讲四个复杂度分析方面的知识点,最好情况时间复杂度(best case time complexity)、最坏情况时间复杂度(worst case time c...
1. 复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半 2. 我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行...
10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规...
感谢极客时间:https://time.geekbang.org/column/article/81925
感谢极客时间:https://time.geekbang.org/column/article/83183
在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 我们 DBA 不让使用 join,使用 join 有什么问题呢? 如果有两个大小不同的表做 join,应...
需要说明的是,如果 MySQL 数据库本身就有很大的压力,导致数据库服务器 CPU 占用率很高或 ioutil(IO 利用率)很高,这种情况下所有语句的执行都有可能变慢,不属...
今天我给你举了三个例子,其实是在说同一件事儿,即: 对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。 第二个例子是隐式类型转换,第三个例子是...
感谢极客时间:https://time.geekbang.org/column/article/73795
注意看底部评论 感谢极客时间:https://time.geekbang.org/column/article/73479
在两阶段提交的不同瞬间,MySQL 如果发生异常重启,是怎么保证数据完整性的? https://time.geekbang.org/column/article/73161
count(*) 的实现方式 你首先要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式。 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 ...
这里,我们还是针对 MySQL 中应用最广泛的 InnoDB 引擎展开讨论。一个 InnoDB 表包含两部分,即:表结构定义和数据。在 MySQL 8.0 版本以前,表结构是...
当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页” 回到文章开头的问题,你不难想象...
MySQL 是支持前缀索引的,也就是说,你可以定义字符串的一部分作为索引。默认地,如果你创建索引的语句不指定前缀长度,那么索引就会包含整个字符串。 1、直接创建完整索引,这样...
优化器的逻辑 优化器没有选择正确的索引,force index 起到了“矫正”的作用。 纠正索引:analyze table 表名 感谢极客时间:https://time.g...
问题:如果某次写入使用了 change buffer 机制,之后主机异常重启,是否会丢失 change buffer 和数据 ? 这个问题的答案是不会丢失,留言区的很多同学都...