1 一个小例子 首先,来看一个小例子。新创建一个Android工程项目,在Activity里面增加两个按钮,一个按钮用于产生内存泄漏,一个按钮用...
1 思路 假设对数组data进行排序,如果能够对data以元素v分割成左右两部分, 对于左边所有元素都比v小, 对于右边所有元素都比v要大。 那...
1 思路 假设有这样一个数组: 归并排序的思路是,将这个数组先不断的拆分为二,直至只有一个子元素。然后不断的向上合并已排好序的子数组。 因此,大...
1 基本原理 HashMap是一种用于存储键值对的数据结构,顾名思义,它的底层算法是基于hash运算的。对于HashMap最简单的使用如下: 假...
思路 由于链表只在头节点处增删都为O(1),那么对于队列操作,采用上一篇的链表结构,就不能做到入队和出队操作都为O(1),假设在链表头处入队,那...
概念和图示 链表是一条有节点(Node)所组成链式数据结构,每个节点存储的元素(e)以及指向下一个元素的节点(next): 使用类表示如下: 一...
定义 队列是一种先进先出(First In First Out,FIFO)的数据结构。 实现 可以和栈一样,把队列看成是数组实现的一个子集。由于...
思路 栈是一种先进后出(First In Last Out, FILO)的数据结构。相对上一篇的数组,它只能在最后添加或删除元素,因此它是数组的...
什么是数据结构? 数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。 数组封装 定义一个class Ar...