• 120
    从观察者模式出发,聊聊RxJava

    前言 RxJava 是什么 RxJava – Reactive Extensions for the JVM – a library for composing asynch...

  • 120
    代理模式

    介绍 代理模式也称为委托模式,是一种结构性设计模式。 说到代理,可能大部分人都会有一种陌生又熟悉的感觉,日常生活中好像都能遇到,比如代理上网,招商代理,商务代理等;但又说不出...

  • 120
    Android 插件化和热修复知识梳理

    概述 在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插件化和热修复的框架似乎已经日趋成熟,许多开发者也把这两项技术...

  • 120
    数据结构-堆

    定义 优先队列:一种特殊的队列,队列中元素出栈的顺序是按照元素的优先权大小,而不是元素入队的先后顺序。 堆的特性: 必须是完全二叉树 用数组实现 任一结点的值是其子树所有结点...

  • 120
    数据结构-平衡二叉树

    定义 平衡二叉树,是对二叉搜索树的一种优化。 向二叉搜索树中插入元素时,不同的插入次序,将构造出不同结构的树。通俗来讲,就是会导致树的深度和平均查找长度(ASL averge...

  • 120
    数据结构-二叉搜索树的实现

    定义 二叉搜索树(Binary Search Tree,BST),也称为二叉排序树或二叉查找树。 相较于普通的二叉树,非空的二叉搜索树有如下性质: 非空左子树的所有键值小于其...

  • 数据结构-二叉树的存储结构与遍历

    定义 一个有穷的结点集合,可以为空。若不为空,则它是由根结点和称为其左子树和右子树的两个互不相交的二叉树组成。 二叉树的五种基本形态: 二叉树的子树是有顺序之分的,称为左子树...

  • 栈和队列的相互实现

    前言 栈和队列作为两种典型的线性表,有着非常鲜明甚至可以说是相互对立的特点;栈先进后出(后进先出),队列先进先出(后进后出)。因此,对相同的输入,两者会产生恰好截然相反的输出...

  • 120
    数据结构-栈&队列&Deque实现比较

    栈 栈: 限定仅在表尾进行插入和删除操作的线性表; 后进先出(LIFO)。 在表尾进行操作,表尾是栈顶;最新进栈的元素在栈底。 栈的ADT 进栈&出栈 栈的存储结构实现 顺序...