摘要: 前言 基于先前的学习计划,最近打算深入学习Java的集合类,首先要研究的就是HashMap,在学习HashMap前,我花了几天时间温习了一下类中用到的数据结构 (哈希表,二叉树),并决定把所学的知识记录写成文章,本文讲述的就是关于哈希表的知识。 什么是哈希表 在之前的博客文章里,我们简单介绍了数据结 阅读全文
posted @ 2018-10-25 21:37 鄙人薛某 阅读(14531) 评论(1) 推荐(0) 编辑
摘要: 文章转载自:https://www.cnblogs.com/CarpenterLee/p/5503882.html, 觉得作者写的非常好,特此转载此文章方便学习,如若侵权,立马删除! 本文以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red Black tree 阅读全文
posted @ 2018-10-25 21:37 鄙人薛某 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 数据结构分类中有一种很常见的结构,那就是树,树的分类很多种,包括二叉树、二叉搜索树、红黑树、B+树等等,但大多数都是基于二叉树的衍生结构,所以今天来学习下二叉树。 [toc] 什么是二叉树 定义:二叉树是每个结点最多有两个子树的树结构。通常子树被称作 “左子树”(left subtree)和 “右子 阅读全文
posted @ 2018-10-24 20:13 鄙人薛某 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 哈夫曼树 哈夫曼树是一种最优二叉树,其定义是:给定n个权值作为n个叶子节点,构造一棵二叉树,若树的带权路径长度达到最小,这样的树就达到最优二叉树,也就是哈夫曼树,示例图如下: 基本概念 深入学习哈夫曼树前,先了解一下基本概念,并以上面的哈夫曼树图为例 路径:树中一个结点到另一个结点之间的分支序列构成 阅读全文
posted @ 2018-10-24 19:59 鄙人薛某 阅读(4201) 评论(0) 推荐(0) 编辑
摘要: @[toc] 数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。 常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示: 1、数组 数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进 阅读全文
posted @ 2018-10-23 11:56 鄙人薛某 阅读(1102) 评论(2) 推荐(0) 编辑