dataStructure
Z_DZ
这个作者很懒,什么都没留下…
展开
-
Java实现二叉树
描述:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连...原创 2018-09-08 09:44:58 · 134 阅读 · 0 评论 -
浅谈数据结构——栈
定义:栈是限定仅在表头进行插入和删除操作的线性表。要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。"栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。首先系统或者数据结构栈中数据内容的读取与插入(压入push和 弹出pop)是两回事!插入是增加数据,弹出是删除数据 ,这些操作只能从栈顶即最低...原创 2018-09-08 09:50:32 · 240 阅读 · 0 评论 -
浅谈数据结构——队列
注:java中LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。用法链接:http://www.runoob.com/java/data-queue.html 定义:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操...原创 2018-09-08 10:02:44 · 130 阅读 · 0 评论 -
Java实现有序数组和无序数组
描述:线性表是其组成元素之间具有线性关系的一种线性结构。在线性表中的任意位置都可以进行插入操作和删除操作。可以采用顺序存储结构和链式存储结构表示线性表。数组是实现顺序存储的基础。在程序设计语言中,数组是一种构造数据类型。 时间复杂度表: 增加 查找 删除 更改...原创 2018-09-05 20:03:38 · 5772 阅读 · 0 评论 -
Java实现单链表
描述:线性表的链式存储结构是用若干个地址分散的存储单元存储数据元素,逻辑上相邻的数据元素在物理位置上不一定相邻,因此,必须采用附加信息表示数据元素之间的顺序关系。存储一个数据元素的存储单元称为结点(Node),一个节点至少包括数据域和地址域。数据域存储数据,地址域用于存储前驱或者后继,单链表是由一个个节点链接而成的。 代码:节点类public class Node { ...原创 2018-09-05 20:37:13 · 206 阅读 · 0 评论 -
HashMap数据结构
java8中的Hashmaphttp://www.importnew.com/20386.html java7中的HashmapMap<String, Integer> mp = new HashMap<>(); mp.put("classNum", 666);之后会进行散列index = hash("classNum"); ...原创 2018-09-12 21:20:11 · 135 阅读 · 0 评论 -
Java用List实现约瑟夫环
import java.util.ArrayList;import java.util.List;public class Josephus { public static void main(String[] args){ kill(10,4); } /** * @param nums 人数 * @param length 步长 */ public...原创 2018-09-07 10:41:23 · 799 阅读 · 0 评论