![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
datoucaidekuaile
这个作者很懒,什么都没留下…
展开
-
数据结构 —— 数组
对数组的操作 1、使用自定义类封装数组。 2、添加类方法来实现数据操作。 普通数组: public class MyArray { // 创建一个数组变量 private long[] arr; // 表示数组中数据的长度 private int elements; /** * 创建一个默认数组长度为50的数组 */ public MyArray() { arr = n...原创 2019-03-04 23:26:22 · 260 阅读 · 0 评论 -
数据结构——栈
栈的特点: 先进后出,后进先出。 内部实现是数组。 Java代码实现 public class MyStack { // 底层实现是一个数组 private long[] arr; // 栈顶项在数组中的位置 private int top; /** * 创建默认长度数组的构造方法 */ public MyStack() { arr = new long[10]; ...原创 2019-03-05 10:25:15 · 183 阅读 · 0 评论 -
数据结构——队列
队列的特点 先进先出,后进后出。 底层使用数组保存数据。 Java代码实现 public class MyQueue { // 使用数组保存数据 private long[] arr; // 有效数据大小 private int elements; // 队头 private int front; // 队尾 private int end; /** * 创建默认长度的...原创 2019-03-05 13:17:42 · 224 阅读 · 0 评论 -
数据结构——链表
链表分类 普通链表 双端链表 链表中保存着对最后一个链节点引用的链表。 方便从尾结点插入数据。 双向链表 每个节点除了保存对下一个对象的引用,同时还保存着对前一个节点的引用。 普通链表Java实现 创建节点类 /** * 链节点类 * * @author tiger * */ public class Node { // 数据域(保存节点的数据) public long ...原创 2019-03-06 07:39:21 · 163 阅读 · 0 评论 -
数据结构——树
优点:快速的查找数据项、插入数据项和删除数据项。 基本概念 路径:顺着链接节点的边从一个节点到另一个节点,所经过的节点顺序排列称为路径。 根:树最上面的节点称为根节点,一棵树只有一个根,而且从根到任何节点有且只有一条路径。 父节点:每个节点都有一条边向上链接到另一个节点,这个节点就称为下面那个节点的父节点。 子节点:每个节点都有一条边,向下链接到另一个节点,下面的节点就是该节点的子节点。 叶子节点...原创 2019-03-10 09:12:50 · 193 阅读 · 0 评论 -
数据结构——哈希表1(散列表)
哈希表:哈希表是一种数据结构,它提供了快速的插入操作和查找操作,其基于数组来实现。 哈希化方式 1)直接将关键字作为索引。 弊端:关键字数据类型只能是整形。 2)将单词转换成索引。 ①将字母转换成ASCII码,然后进行相加。 弊端:会出现不同的字符串转换ASCII码的值和相同。 ②幂的连乘。 弊端:通过幂的连乘得到的key一般非常大。 ③压缩可选值。 弊端:不能保证每个单词都映射到数组的空白单元。...原创 2019-03-10 10:45:00 · 195 阅读 · 0 评论 -
数据结构——哈希表2(散列表)
**开放地址法:**当冲突发生时,通过查找数组中的一个空位,并将数据确认,而不是用哈希函数得到的数组下标。 缺点:将别的对象的位置占用了。别的对象存储的时候只能查找位置来存放。 **链地址法:**在哈希表每个单元中设置链表,某个数据项的关键字还是像通常一样映射到哈希表的单元中,而数据项本身插入到单元的链表中。 开放地址法Java代码实现: 创建一个存储对象类 public class Info {...原创 2019-03-10 11:46:21 · 171 阅读 · 0 评论