任何一个伟大的目标,都有一个微不足道的开始。
摘要: 1.基础语法 基本数据类型 Java有8种基本数据类型,分别是byte、short、int、long、float、double、char、boolean。这8种类型又可以划分为4个小类,每一个类型占据不同的内存空间,详细见下表: 整数类型 整数类型的最高位存放正负符号,1表示负、0表示非负,其余位置 阅读全文
posted @ 2022-05-05 12:06 思无邪buff 阅读(136) 评论(0) 推荐(1)
摘要: 目录 双路快速排序 一、概念及其介绍 二、适用说明 三、过程图示 四、Java 实例代码 三路排序算法 一、概念及其介绍 二、适用说明 三、过程图示 四、Java 实例代码 双路快速排序 一、概念及其介绍 双路快速排序算法是随机化快速排序的改进版本,par... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(253) 评论(0) 推荐(0)
摘要: 目录 一、概念及其介绍 二、适用说明 三、结构图示 四、Java 实例代码 一、概念及其介绍 堆(Heap)是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆满足下列性质: 堆中某个节点的值总是不大于或不小于其父... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(107) 评论(0) 推荐(0)
摘要: 目录 堆的 shift up Java 实例代码 堆的 shift down Java 实例代码 堆的 shift up 本小节介绍如何向一个最大堆中添加元素,称为 shift up。 假设我们对下面的最大堆新加入一个元素52,放在数组的最后一位,52大于... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(211) 评论(0) 推荐(0)
摘要: 目录 基础堆排序 一、概念及其介绍 二、适用说明 三、过程图示 四、Java 实例代码 优化堆排序 Java 实例代码 基础堆排序 一、概念及其介绍 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。 堆是一个近似 完全二叉树的结构,并... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(198) 评论(0) 推荐(0)
摘要: 目录 一、概念及其介绍 二、适用说明 三、结构图示 四、Java 实例代码 一、概念及其介绍 索引堆是对堆这个数据结构的优化。 索引堆使用了一个新的 int 类型的数组,用于存放索引信息。 相较于堆,优点如下: 优化了交换元素的消耗。加入的数据位置固定,方... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(52) 评论(0) 推荐(0)
摘要: 目录 一、概念及其介绍 二、适用说明 三、二分查找法过程图示 四、Java 实例代码 一、概念及其介绍 二分搜索树(英语:Binary Search Tree),也称为 二叉查找树 、二叉搜索树 、有序二叉树或排序二叉树。满足以下几个条件: 若它的左子树不... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(57) 评论(0) 推荐(0)
摘要: 目录 二分搜索树节点的插入 Java 实例代码 二分搜索树节点的查找 Java 实例代码 二分搜索树节点的插入 首先定义一个二分搜索树,Java 代码表示如下: BST.java public class BST, Value> { // 树中的节点... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(76) 评论(0) 推荐(0)
摘要: 目录 二分搜索树深度优先遍历 Java 实例代码 二分搜索树层序遍历 Java 实例代码 二分搜索树深度优先遍历 二分搜索树遍历分为两大类,深度优先遍历和层序遍历。 深度优先遍历分为三种:先序遍历(preorder tree walk)、中序遍历(inor... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(68) 评论(0) 推荐(0)
摘要: 本文介绍二分搜索树节点的删除之前,先介绍如何查找最小值和最大值,以及删除最小值和最大值。 以最小值为例(最大值同理): 查找最小 key 值代码逻辑,往左子节点递归查找下去: ... // 返回以node为根的二分搜索树的最小键值所在的节点 private... 阅读全文
posted @ 2022-04-29 22:16 思无邪buff 阅读(51) 评论(0) 推荐(0)