首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
大大纸飞机
掘友等级
阿里巴巴
编程之路,道阻且长。唯,路漫漫其修远兮,吾将上下而求索。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
19
文章 18
沸点 1
赞
19
返回
|
搜索文章
最新
热门
Git实用指南第一篇
从开始使用git至今看过无数文章,大多时候是为了解决一个特定问题,寻求一个特定的解决方案,偶尔也会看一些新手向的教程。对于前者,可能需要你具备一定的git能力,这无可厚非。但大多新手向的教程主要铺陈git的常用命令,看的时候觉得自己懂了,但实际使用时就会问题重重。 磕磕绊绊至今…
Java集合源码分析之基础(六):红黑树(RB Tree)
红黑树和AVL树的思想是类似的,都是在插入过程中对二叉排序树进行调整,从而提升性能,它的增删改查均可以在**O(lg n)**内完成。 本文会从定义到实现一棵红黑树展开,还会简单介绍其与AVL树的异同。 红黑树是一棵二叉排序树。且满足以下特点: 每个节点或者是黑色,或者是红色。…
Java集合源码分析之基础(五):平衡二叉树(AVL Tree)
二叉排序树很好的平衡了插入与查找的效率,但不平衡的二叉排序树效率大打折扣。今天介绍的AVL树就是一种解决此问题的方案。 平衡二叉树(Self-Balancing Binary Search Tree 或Height-Balanced Binary Search Tree),是一…
Java集合源码分析之基础(四):二叉排序树
解决查询速度慢的方案除了哈希表外,还可以使用二叉排序树。我们知道,查询慢主要是因为不知道元素的位置,使用hash函数映射虽然解决了问题,但其并不稳定,当出现大量的哈希碰撞后其表现更像一个链表,查询速度大大降低。 二叉排序树的方案则是使元素有序,这样便可以使用二分法进行查找了,虽…
Java集合源码分析之基础(三):树与二叉树
数组和链表都是用来解决一对一问题的,而一对多问题则需要树来解决。这里,我们重点关注二叉排序树,所以只会介绍一些必需了解的概念,关于树的更多知识,大家可以查看相关书籍进行系统的学习。 树(Tree)是n(n≥0) 个结点的有限集。n=0 时称为空树。在任意一棵非空树中: 1. 有…
Java集合源码分析之基础(二):哈希表
无论是数组还是链表,其对数据的查询表现都比较无力,要想知道一个元素是否在数组或链表中,只能从前向后挨个对比。出现这个问题的根源在于,我们没有办法直接根据一个元素找到它存储的位置,那有没有办法消除这个对比的过程呢? 哈希表就是解决查询问题的一种方案。在后续将会分析的二叉排序树中,…
Java集合源码分析之基础(一):数组与链表
数组和链表是数据结构中最基本的部分,也是其余众多数据结构的基础。即使在Java中,这两种结构使用的也很普遍。这里我们会先对它们进行简要分析。 在java中,数组定义为一种基本类型,其可以通过下标获取到对应位置的数据。那么这种结构的数据,在内存中是怎么存放的呢? 正如上图所示,数…
Android源码分析之开篇
做Android开发也有些时日了,近来感觉新技术层出不穷,从MVC到MVP和MVVM、从OkHttp到RxJava和Retorfit、从Java到Kotlin、从Anko到KTX,还有各种插件化、组件化,以及谷歌官方的Architecture Component和Flutter…
Java集合源码分析之开篇
Java集合是我们使用最频繁的工具,也是面试的热点,但我们对它的理解仅限于使用上,而且大多数情况没有考虑过其使用规范。本系列文章将跟随源码的思路,分析实现的每个细节,以期在使用时避免各种不规范的坑。在这里,我们会惊艳于开发者优秀的设计,也会感激先辈们付出的艰辛努力,更重要的是知…
个人成就
文章被点赞
246
文章被阅读
39,563
掘力值
1,234
关注了
24
关注者
168
收藏集
0
关注标签
26
加入于
2017-10-11