240 发简信
  • 120
    十三、前驱节点(predecessor)&后继节点(successor)

    前驱节点(predecessor) 前驱节点:中序遍历时的前一个节点如果是二叉搜索树,前驱节点就是前一个比它小的节点 寻找前驱节点有三种情况: ...

  • 120
    十二、二叉树的遍历

    简介 遍历是数据结构中的常见操作把所有元素都访问一遍 线性数据结构的遍历比较简单正序遍历逆序遍历 根据节点访问顺序的不同,二叉树的常见遍历方式有...

  • 120
    十一、二叉搜索树(Binary Search Tree)

    思考 在 n 个动态的整数中搜索某个整数?(查看其是否存在) 假设使用动态数组存放元素,从第 0 个位置开始遍历搜索,平均时间复杂度:O(n) ...

  • 120
    十、二叉树(Binary Tree)

    1、树形结构 之前所讲的那些数组、链表、栈、队列等都是线性结构。 下面就是树形结构: 为什么要用到树呢?使用树形结构可以大大提高效率 2、树(T...

  • 120
    九、双端队列(Deque)& 循环队列(Circle Queue)&循环双端队列

    一、双端队列(Deque) 是能在头尾两端的队列英文 deque 是 double ended queue 的简称 双端队列的接口设计 双端队列...

  • 八、队列(Queue)

    队列(Queue) 是一种特殊的线性表,只能在进行操作 队尾(rear):只能从元素,一般叫做 队头(front):只能从元素,一般叫做 先进先...

  • 七、栈(Stack)

    是一种特殊的线性表,只能在进行操作 往栈中元素的操作,一般叫做 从栈中元素的操作,一般叫做(只能移除栈顶元素,也叫做:弹出栈顶元素) 后进先出的...

  • 120
    六、单向循环链表&双向循环链表

    单向循环链表 只需要在之前的 基础之上进行修改,这里只需要修改 和 就可以了。 单向循环链表 – add(int index, E elemen...

  • 120
    五、双向链表

    双向链表 此前介绍的链表,也叫做单向链表使用双向链表可以提升链表的综合性能 修改之前的单链表的源码: 双向链表 – findNode(int i...