归并排序
图示
分治思想
栈内视图
过程视图
平面视图
原理Code1231. 尽可能的一组数据拆分成两个元素个数相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组的元素个数是 1 为止。2. 将相邻的两个子组进行合并,合并同时对这两个子组排序,变成一个有序的大组3. 不断的重复步骤2,直到终只有一个 ...
希尔排序
图示
原理Code123451 确定间隔大小 gap = 元素个数/22 从索引0开始,每隔 gap 个元素分成一组3 每一组元素使用插入排序进行排序(但不是一组一组进行,而是交替进行)4 全部组排完序后,gap = gap/25 重复步骤2和3和4,直到 g ...
插入排序
图示
原理Code1231.把所有的元素分为两组,已经排序的和未排序的2.每次从未排序的元素中“提取”第一个元素,依次逆序和已排序的元素进行比较3.每比较一次,如果提取的元素比被比较的元素大,那么将被比较的元素往右挪一个位置,否则将提取的元素插到这个被比较元素后
实现java1234567891 ...
选择排序
图示
原理Code123456789101. 每一轮选择过程中,都假定该轮第一个索引处的元素是最小值2. 和该轮其他值依次进行比较,如果其他值比先前假设的最小值还小,则更新最小值的索引3. 经过一轮选择后,如果最小值索引和初始的最小值索引不一致,则交换他们的位置如:7 3 4 8 1 2 5 9 ...
冒泡排序
图示
原理Code123456789101. 比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。2. 对每一对相邻元素做同样的工作,从开始第一对元素到结尾的后一对元素。3. 每一轮冒泡能将参与该轮冒泡的最大值元素移动到该轮的末尾。如:7 3 4 8 1 2 5 9 6 010个 ...
Git
0. 基础
add
git add a
all,添加被修改(modified)、被删除(deleted)、新文件(new)到暂存区
git add u
update,添加被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .
添加新文件(new)和 ...
MySQL 基础
MySQL学习笔记登录和退出MySQL服务器shell12345# 登录MySQL$ mysql -h localhost -P 3306 -u root -p root# 退出MySQL数据库服务器exit;
基本语法Code12345678910111213141516171819202122 ...
