自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KCHEN

这是一个菜鸟的博客

  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 高性能MySql笔记(3)-创建高性能索引

创建高性能索引索引在MYSQl中也叫键(key),是存储引擎用于快速找到记录的一种数据结构。 例如:SELECT name FROM STUDNET WHERE ID=5;如果MYSQL在ID上建立索引,则MYSQL将使用该索引找到ID=5的行,,也就是说MYSQL先在索引上按值进行查找,然后返回所有包含该值的数据行。 索引可以包含一列也可以包含多列,如果索引包含多列,那么列的顺序十分重要,因为M...

2018-03-28 14:22:14 192

原创 算法笔记(6)-冒泡排序

冒泡排序算法描述两两比较两个元素的大小,如果两个元素的顺序相反则交换位置,每一轮扫描都会将最小元素的放到最前面(或者最大的元素放到最后面)。 算法步骤(1)比较相邻的元素,如果第一个比第二个大,则交换它们的顺序。(2)从开始第一对到结尾最后一对重复执行步骤1。会将最大的元素放到最后一个位置(3)针对所有的元素重复上述步骤,最后一个位置已定不需要操作。(4)持续每次对越来越小的序列执行上述操作。 算...

2018-03-23 16:04:41 173

原创 算法笔记(5)-快速排序

快速排序快速排序是分治算法的一种,是应用最广泛的算法。 算法描述(1)选取一个元素作为基准元素。(2)将数组分成两个部分,左边的元素都比基准元素小,右边的元素都比基准元素大。(3)在左右两部分再重复步骤1~2,直到数组有序。 算法实现javapackage algorithm.sort;/** * @author kaichen * */public class Quick { ...

2018-03-23 15:44:11 111

原创 高性能MySql笔记(2)-范式和反范式

范式和反范式设计关系型数据库时,需要遵从不同的规范,设计合理的关系型数据库,不同的规范被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余约小。在关系型数据库中有六中范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),BCNF,第四范式(4NF),第五范式(5NF)。一般数据库设计到第三范式就行了。第一范式1NF是对属性的原子性约束,要求属性具有原子性,不可分。属性不可分下面这...

2018-03-22 21:44:39 586

原创 算法笔记(4)-归并排序

归并排序将两个有序的序列,合并成一个更大的有序序列。对数组进行排序,递归的将数组分成两半,分别进行排序,再将结果合并。归并排序的优点是:对于任意长度为N的数组其时间复杂度为O(N*logN)。但是需要额外的空间,典型的空间换时间。 算法描述(1)创建一个容器数组,大小与待排序数组相同。(2)定义两个指针,分别指向两个已排序序列的起始位置。(3)两个指针位置进行比较,选择相对小的元素放入到容器数组中...

2018-03-22 19:37:34 114

原创 算法笔记(3)-希尔排序

希尔排序希尔排序是插入排序的一种变体。插入排序对于顺序随机的数组,速度回很慢,因为它只会交换相邻的元素,因此元素只能一点一点的从一端移动到另一端。如果最小的元素在最后,则需要移动N-1次才能将其移动到另一端。希尔排序使用交换不相邻的元素以对数组进行排序。 算法思想希尔排序的思想是,使得数组中任意间隔为h的元素都是有序的。希尔排序将比较元素分成几个区域来实现插入排序的性能,这样可以让元素一次性的朝最...

2018-03-22 16:38:33 144

原创 算法笔记(2)-插入排序

插入排序插入排序:对于当前索引,左边元素都是有序的,但是并不一定是元素的最终位置,为了给更小的元素腾出位置,需要移动位置。与插入排序不同的是:如果数组的元素基本有序,则插入排序要比随机顺序的快很多。算法描述:(1)从第一个位置开始,认为该元素已经被排序(2)取出下一个元素,在已经排序的元素序列中,从后向前扫描。(3)如果该元素(已排序)大于新元素,则将该元素移到下一位置(4)重复步骤3,知道找到已...

2018-03-22 13:51:44 136

原创 算法笔记(1)-选择排序

选择排序步骤:首先从数组中找到最小的元素,其次将它与数组中的第一个元素交换(如果第一个元素就是最小的则与其自身交换)。再次,在剩下的元素中找到最小的元素,将它与数组中的第一个元素交换。如此反复,直到整个数组有序。下面是选择排序的代码:package algorithm.sort;import java.util.Arrays;import java.util.Random;/** * @...

2018-03-22 13:06:44 156

原创 高性能MySql笔记(1)-数据类型优化

数据类型优化1. 选择优化的数据类型MYSQL支持的数据类型非常多,选择正确的数据类型存储对于获得高性能只管重要。下面有几个简单的原则:(1)更小的通常更好,应该尽量使用能够正确存储的最小数据类型。(2)简单就好,简单的数据类型通常需要更少的CPU周期。(3)尽量避免NULL,查询中包含NULL的列,对MYSQL来说更难优化,因为可为NULL的列,是的索引,索引统计,值的比较更加复杂。可为NULL...

2018-03-21 23:13:31 115

原创 LintCode 11. 二叉查找树中搜索区间

给定两个值 k1 和 k2(k1 < k2)和一个二叉查找树的根节点。找到树中所有值在 k1 到 k2 范围内的节点。即打印所有x (k1 <= x <= k2) 其中 x 是二叉查找树的中的节点值。返回所有升序的节点值。样例如果有 k1 = 10 和 k2 = 22, 你的程序应该返回 [12, 20, 22]. 20 / \ 8 22 / \4 ...

2018-03-15 19:37:14 217

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除