摘要:
树:树形结构的特点是一个节点可有多个直接后继,是一种常用的非线性结构。 二叉树:结合了有序数组和链表的优点,在树中查找数据和在有序数组中查找一样快,增删数据和在链表中一样快。 插入操作时,二叉树从根节点开始,比父节点大的往左边插入,比父节点小的往右边插入 下面是链表实现二叉树: Node.java 阅读全文
摘要:
队列的数据项都是队列尾插入,然后移向队列头,并从队列头删除或者获取。 队列需要一个头指针(front)和尾指针(rear),头指针会随着出队变动,rear会随着入队变动 两种常用队列 :线性队列,循环队列。 线性队列和循环队列的区别是:线性队列会产生假溢出,即头指针和尾指针都到了size大小 数组实 阅读全文
摘要:
堆栈的数据结构只允许数据从有序列表的一端做输入输出操作。 堆栈数据结构的特点是先进入的数据后处理,后进入的数据先处理,就比如子弹入弹匣一下,先压入弹匣的子弹后面发射出,后压入的子弹先发射。 下面是用数组模拟堆栈:ArrayOfStack.java 使用链表实现堆栈: 节点类Node.java 堆栈类 阅读全文
摘要:
双向链表与单链表区别在于他多了一个链域,用来存放前驱节点。 基本方法实现: 新增节点: 当前节点的next为新增节点,新增节点的next为当前节点的next.next新增节点的prior为当前结点,当前结点的prior为新增节点 删除节点: 设置删除节点的上一个节点为当前结点。如果当前结点的下下个节 阅读全文
摘要:
概念:链表可以使一种有序或无序的列表,内容通常存储在内存中分散的位置上,有节点组成,每一个节点的结构都相同,节点分为数据域和链域,数据域存放内容,链域存放的是下一个节点指针。 基本方法实现: 新增节点: 删除节点: 打印节点: 数组实现单链表: 创建节点类:Node.java 创建链表类:Link. 阅读全文