HashMap源码实现分析 一、前言 HashMap 顾名思义,就是用hash表的原理实现的Map接口容器对象,那什么又是hash表呢。 我们对数组都很熟悉,数组是一个占用连续内存的数据结构,学过C的朋友对这一点影响肯定更为深刻。既然是一段连续的内存,数组的特点就显而易见了,一旦你知道要查第几个数据 ...
分类:
其他好文 时间:
2020-07-21 22:58:35
阅读次数:
69
学什么 基础与应用 广度与深度 哲学 英语 怎么学 知识体系 克服遗忘 碎片时间 用起来 技术分享 造个轮子 我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。为了巩固纯洁的同学关 ...
分类:
其他好文 时间:
2020-07-21 22:50:29
阅读次数:
99
前言本篇文章收录于专辑:http://dwz.win/HjK你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。大家都知道,数据结构与算法解决的主要问题就是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更节省存储空间。所以,“快”和“省”是衡量一个算法非常重要的两项指标,也就是我们经常听到的时间复杂度和空间复杂度分析。那么,为什么需要复杂度分析呢?复杂度分析的方法论是什么呢?这就
分类:
编程语言 时间:
2020-07-21 22:09:42
阅读次数:
59
元组是一种简单的数据结构,我们来看下主要方法及与列表区别
分类:
编程语言 时间:
2020-07-21 22:09:21
阅读次数:
43
重学数据结构(二) 对线性表的顺序表进行实现 public abstract class MyList<T>{ //定义顺序表的初始容量 final int maxSize = 10; //对数据元素进行存储 private T[] list; //顺序表中元素的个数 private int len ...
分类:
其他好文 时间:
2020-07-21 21:35:38
阅读次数:
51
元组是一种简单的数据结构,我们来看下主要方法及与列表区别
分类:
编程语言 时间:
2020-07-21 13:50:45
阅读次数:
53
我们都知道,Redis是由C语言编写的。在C语言中,字符串标准形式是以空字符\0作为结束符的,但是Redis里面的字符串却没有直接沿用C语言的字符串。主要是因为C语言中获取字符串长度可以调用strlen这个标准函数,这个函数的时间复杂度是O(N),由于Redis是单线程的,承受不了这个时间复杂度。 ...
分类:
其他好文 时间:
2020-07-21 11:35:32
阅读次数:
69
简介: 在jdk1.8中,hashmap有了较大的优化,底层实现由之前的“数组+链表”改为了“数组+链表+红黑树”。jdk1.8的hashmap的数据结构如图所示,当链表节点较少时仍然以链表形式存在,当链表节点较多时(大于8)会转化为红黑树。 重要知识点: 1、文章中头节点指的是table表上索引位 ...
分类:
其他好文 时间:
2020-07-21 09:30:18
阅读次数:
68
文 / 2020.07.20 最近这段时间打算把数据结构重新学习一遍。选取的课程为MOOC上的课程《数据结构》。 计划将基础知识用思维导图的方式记录,并进行简单总结。 线性结构 什么是线性表? 线性表是同类型数据元素构成有序序列的线性结构。广义表是线性表的推广,元素除了可以是单元素,也可以是另一个广 ...
分类:
其他好文 时间:
2020-07-21 09:29:20
阅读次数:
71
二叉树 实现一个二叉查找树,并且支持插入、删除、查找操作 实现查找二叉查找树中某个节点的后继、前驱节点 实现二叉树前、中、后序以及按层遍历 二叉查找树的特性,其任一节点,该节点的左子树上的所有值,都比该节点小,该节点的右子树上的所有值,都比该节点大。 查找操作,主要分以下几种情况 如果查找value ...
分类:
其他好文 时间:
2020-07-21 01:26:46
阅读次数:
94