上一页 1 ··· 6 7 8 9 10 11 12 下一页

2020年5月19日

详解堆排序算法

摘要: 什么是堆 堆 首先是一个完全二叉树, 堆 分为 大顶堆 和 小顶堆 ; 大顶堆 : 每个节点的值大于或等于其左右孩子节点的值,称为大顶堆。 小顶堆 同理就是每个节点的值小于或等于其左右孩子节点的值。 注意 : 每个节点的左右孩子节点的大小关系并没有限定。 大顶堆举例 如图: 首先其为一个完全二叉树, 阅读全文

posted @ 2020-05-19 17:23 随机的未知 阅读(669) 评论(0) 推荐(0)

2020年5月11日

谈谈Java中的反射机制

摘要: 前言 在使用框架进行开发时,我们的开发速度大大提升。我们感叹于它的神奇之处,我们使用它的时候,也要知道其“灵魂”。正所谓,无反射,不框架,框架的灵魂就是反射。 另外,我们在eclipse或者IDEA中编辑Java代码时,它们是怎么知道我们的对象有哪些方法,输入一个点就能给提示呢? 带着问题我们来谈谈 阅读全文

posted @ 2020-05-11 11:06 随机的未知 阅读(249) 评论(0) 推荐(0)

2020年5月6日

详解基数排序算法

摘要: 基本思想 基数排序的思想是将整数按位数切割成不同的数字,然后按每个位数分别比较从而得到有序的序列。 例子 本文以数组中元素均为正整数来演示思想。 给定一个数组 arr = [ 6, 56, 89 , 12 ,39 ,21,11,156,657 ]; 初始状态如下: 按照个位装桶 十进制的每位数字都是 阅读全文

posted @ 2020-05-06 17:54 随机的未知 阅读(1463) 评论(1) 推荐(0)

2020年4月27日

详解归并排序算法

摘要: 基本思想 归并排序的基本思想是: 先将序列一次次分成子序列,直到子序列长度为1; 再将已有序的子序列合并,得到完全有序的序列。 可以看出归并排序运用了 分而治之的思想 。 例子 输入数组 [ 2, 5, 3 , 10, 3, 1 , 6 , 4]; 初始状态如下: 分治思想如下: 首先把数组依次折半 阅读全文

posted @ 2020-04-27 14:18 随机的未知 阅读(667) 评论(0) 推荐(0)

2020年4月20日

Leetcode 92题反转链表 II(Reverse Linked List II) Java语言求解

摘要: 前言 反转链表可以先看我这篇文章: "Leetcode 206题 反转链表(Reverse Linked List)Java语言求解" 题目链接 "https://leetcode cn.com/problems/reverse linked list ii/" 题目描述 反转从位置 m 到 n 的 阅读全文

posted @ 2020-04-20 09:06 随机的未知 阅读(255) 评论(0) 推荐(0)

2020年4月13日

详解快速排序算法

摘要: 基本思想 本文的思路是以从小到大为例讲的。 快速排序的基本思想是任取待排序序列的一个元素作为中心元素(可以用第一个,最后一个,也可以是中间任何一个),习惯将其称为 pivot ,枢轴元素; 将所有比枢轴元素小的放在其左边; 将所有比它大的放在其右边; 形成左右两个子表; 然后对左右两个子表再按照前面 阅读全文

posted @ 2020-04-13 09:29 随机的未知 阅读(41814) 评论(0) 推荐(3)

2020年4月7日

希尔排序算法

摘要: 前言 当待插入元素是一个很小(当需求是从小到大排序时,从大到小排序时此处为很大)直接插入排序需要移动较多次数,性能会很差。希尔排序解决了这一问题。 基本思想 希尔排序的基本思想: 把序列按下标的一定增量分组,对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时 阅读全文

posted @ 2020-04-07 09:28 随机的未知 阅读(319) 评论(0) 推荐(0)

2020年3月30日

详解直接插入排序算法

摘要: 前言 在玩扑克牌的时候,我们抽到一张牌的时候,都是将它插入到当前手中牌的合适位置的。 如下图: (上图来自算法导论) 直接插入排序也是这样的思想。 基本思想 插入排序的思想是: 将待排序序列分成两个序列,前面的序列保持有序,依次选取后面的序列的元素,在前面的序列中进行插入。 初始时,有序序列的长度为 阅读全文

posted @ 2020-03-30 09:21 随机的未知 阅读(3043) 评论(0) 推荐(0)

2020年3月25日

详解选择排序算法

摘要: 基本思想 选择排序的思想是: 给定一个数组arr,其长度为n; 第一次从 arr[0] 到 arr[n 1] 中选取一个最值(按照需求,可以是最大值,可以是最小值,下同)与arr[0]进行交换; 第二次从arr[1] 到 arr[n 1] 中选取一个最值与arr[1]进行交换; 以此类推,直到arr 阅读全文

posted @ 2020-03-25 09:08 随机的未知 阅读(4317) 评论(0) 推荐(0)

2020年3月23日

详解冒泡排序算法

摘要: 基本思想 冒泡排序的基本思想是: 通过对待排序的序列从前向后依次比较相邻元素的值,如果发现逆序则交换。 逆序的含义:如果想把序列从小到大排序,那么两个数中前面的比后面的大就是逆序。 若需求是将序列从小到大排序,那么每一趟比较都会把值较大的逐渐从前面移动到后面。 就像水底的泡泡一样: (如下图,图片来 阅读全文

posted @ 2020-03-23 07:05 随机的未知 阅读(3804) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 下一页

导航