- 博客(4)
- 收藏
- 关注
原创 JAVA基本算法详细图解---快速排序
快速排序思路 以排序数组int numbers = {4,8,2,3,8,9,5,2,3,6,5,8,7,3,6} 为例 整体思路: 典型的分治思想 1、分解 以数组的第一个元素为基准进行排序,大于基准元素的 放在右边,小于基准元素的放在左边,这样就将数组分成了三部分 左边数组(小于等于基准数组) 基准元素本身 右边数组(大于等于基准数组) 2、递归求解 分别在第一步基础上 递归地对左边数组以及右边数组排序 3、合并 就是将数组合并,由于第一步的所有左边的数组元素 <...
2020-06-05 21:26:39 408 1
原创 SQL中explaind的使用介绍
一、explain 能干嘛? 1、表的读取顺序 2、数据读取操作的操作类型 3、哪些索引可以使用 4、哪些索引被实际使用 5、表之间的使用 6、每张表有多少行被优化器查询 二、怎么使用? 1、explain + sql 2、执行计划包含的信息 id:select 查询到序列号,包含一组数字,表示查询中select子句或操作表的顺序。 id有三种值:决定表的读取顺序 (...
2018-07-17 20:15:21 34572 7
原创 JAVA基本算法详细图解---归并排序
今天来搞一搞归并(合并)排序 基本思想 归并排序的主要实现思想是分治策略, 先抛出两个问题,大家在读的过程中分析下为什么归并排序满足下面这两点 1、时间复杂度:T(n)= O(nlogn) 2、合并排序算法是渐进最优算法。 将待排序的数组分为大致相等的两部分,分别对这两部分进行排序,最终将两个排好序的数组合并成一个有序的数组。 接下来我们先来看实现代码,如果可以看明白代码,说明你已经了解了归并算法了。看的时候有疑问也不要紧,我们下面会进行详细的分解详细描述。 代码实现(递归) /**
2020-06-10 21:11:02 218
原创 JAVA 基本查找算法图解 ---- 二分查找详解
二分搜索技术 二分搜索算法是运用分治策略的典型例子。 分治分治顾名思义就是分而治之。基本思想是将一个规模比较大的问题分为多个小问题,这些问题相互独立且与原问题相同。递归的解这些问题,最后将这些问题的解进行合并得到原问题的解。下面我们以一个示例来进行介绍我们的二分搜索算法思想与代码。 即: 1、分解 2、递归求解 3、合并 如:我们要在一个有序数组 [1,2,3,4,5,6,7,8,9,10,11,12,13,14] 中找寻元素值等于 9 的元素的下标,没有则返回 -1; 先说整体思路: .
2020-06-08 20:43:42 292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人