Java数据结构和算法
文章平均质量分 99
重启试试.
这个作者很懒,什么都没留下…
展开
-
第二章 稀疏数组和队列
1.1 稀疏数组(SparseArray)1.1.1 场景需求问题:编写一个五子棋程序,其中有存盘退出和续上盘的功能。方案:可以使用二维数组解决上述问题,但因为二维数组的很多值是默认零值,因此记录了很多没有意义的数据,可以使用稀疏数组来解决无效数据的问题。1.1.2 基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:...原创 2019-07-18 15:13:15 · 202 阅读 · 0 评论 -
第三章 链表结构
3.1 链表(Linked List)3.1.2 基本介绍链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是按照链式存储的方式存储数据,在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时...原创 2019-07-19 18:41:12 · 210 阅读 · 0 评论 -
第四章 栈结构
4.1 栈的介绍栈(英语:stack)又称为堆栈或堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算,因而按照先入后出(FILO-First In Last Out)的原理运作。常与另一种有序的线性数据集合队列相提并论,栈常用一维数组或链表来实现。4.2 栈的应用场景子程序...原创 2019-07-24 19:23:03 · 266 阅读 · 0 评论 -
第六章 排序算法
6.1 排序算法介绍排序也称排序算法(Sort Algorithm),是将一组数据,依指定的顺序进行排列的过程。术语说明:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂......原创 2019-08-02 15:57:36 · 422 阅读 · 0 评论 -
第五章 递归
5.1 递归概念5.1 递归概念5.1 递归概念5.1 递归概念原创 2019-07-31 18:25:25 · 303 阅读 · 0 评论 -
第七章 查找算法
7.1 顺序查找算法思想顺序查找,就是逐个遍历数组中的每一个元素,逐个比较它们和关键字是否相等,当查找到相等元素时, 遍历停止。当数组的规模逐渐扩大时候, 因为比较次数太多,顺序查找耗时太长。算法实现public class SqeSearchTest { public static void main(String[] args) { int[] array ...原创 2019-08-27 14:56:35 · 121 阅读 · 0 评论