
数据结构
京城莹莹
你要悄悄拔尖,然后惊艳所有人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构(一)--数组
一、定义数组 long[] arr = new long[]{2,3,4}; long[] arr = new long[10]; arr[0]=1; ... 二、自定义类封装数组 public class MyArray1 { private long[] arr; private int element; public MyArray1(){ arr=ne...原创 2019-09-12 21:24:44 · 873 阅读 · 0 评论 -
数据结构(九)--图
一、图的基本概念 1.什么是图 和树相像的一种数据结构,通常有一个固定的形状,这是由物理和 抽象的问题来决定的。 2.邻接 如果两个顶点被同一条边连接,就称这两个顶点是邻接的。 3.路径 路径是从一个顶点到另一个顶点经过的边的序列。 4.连通图和非连通图 至少有一条路径可以连接所有的顶点,那么这个图就是连通的,否则就是不连通的。 5.有向图和无向图 有向图的边是有方向的,如只...原创 2019-09-14 13:58:22 · 151 阅读 · 0 评论 -
数据结构(八)--二叉树
一、树的基本概念 1.优点 有序数组插入数据项和删除数据项太慢。 链表查找数据太慢。 在树中能快速的查找、插入、删除数据项。 2.路径 顺着连接节点的边从一个节点到另一个节点,所经过的节点顺序排列称为路径。 3.根 树最上面的节点称为根节点。一棵树只有一个根,而且从根到任何节点有且只有一条路径。 4.父节点 每个节点都有一条边向上连接到另一个节点,这个节点就称为是下面这个节点的...原创 2019-09-13 16:56:17 · 221 阅读 · 0 评论 -
数据结构(七)--快速排序
1.快排思想 通过将一个数组划分成两个子数组,然后通过递归调用自身为每个子数组进行快速排序来实现。 2.划分规则 设定关键字,将比关键字小的数据放在一组,比关键字大的放在另外一组, 3.自动设定关键字 设置数组最右端的数据为关键字。 4.代码实现 ...原创 2019-09-12 22:20:06 · 82 阅读 · 0 评论 -
数据结构(六)-递归的应用
1 汉诺塔问题 所有的盘子刚开始都放在A上,要求将所有的盘子从A移到C,每次移动一个盘子,任何盘子不能放在比自己小的盘子上。 2.代码实现 ...原创 2019-09-12 21:44:52 · 149 阅读 · 0 评论 -
数据结构(五)--希尔排序
1. 产生 是由科学家Donald L.Shell提出来的,希尔排序基于插入排序,并添加了一些新的特性,从而大大提高插入排序的执行效率。 2.插入排序缺点 多次移动。假如一个很小的数据在靠右端的位置上,那么要将该数据排序到正确的位置上,则所有的中间数据都需要向右移动一位。 3.希尔排序优点 通过加大插入排序中元素之间的间隔,并对这些间隔的元素进行插入排序,从而使得数据可以大幅度的移动。当...原创 2019-09-12 21:43:46 · 138 阅读 · 0 评论 -
数据结构(四)--链表、双端链表、双向链表
一、链表 Node类和LinkList类。 二、双端链表 链表中保存着对最后一个链节点引用的链表。 从头部进行插入时,要对链表进行判断,如果为空要设置尾节点为新添加的节点。 从尾部进行插入时,如果链表为空,则直接设置头节点为新添加的节点,否则设置尾节点的后一个结点为新添加节点。 从头部进行删除时,判断头节点是否有下一个节点,如果没有则设置尾节点为...原创 2019-09-12 21:37:18 · 316 阅读 · 0 评论 -
数据结构(三)--栈与队列
一、栈 public class MyStack1 { private int top; private long[] arr; public MyStack1(){ arr=new long[50]; top = -1; } public MyStack1(int maxsize){ arr=new long[maxsize]; top = -1; } /** * 添加...原创 2019-09-12 21:32:39 · 114 阅读 · 0 评论 -
数据结构(二)--简单排序
一、冒泡排序(BubbleSort) 升序排序 2.降序排序 二、选择排序(SelectionSort) 三、插入排序原创 2019-09-12 21:27:38 · 149 阅读 · 0 评论 -
数据结构(十)--哈希表
1.什么是哈希表? 是一种数据结构,提供了快速的插入和查找操作,基于数组实现。 2.哈希化 2.1 直接将关键字作为索引。 当索引值不再为int型时,大多数索引值是string类型。 2.2 将单词转换为索引。 2.2.1 将字母转换成ASCII码,然后进行相加。 此种方式,当key的哈希码相同时,就会出现不同的key找到同一个值的问题,比如abc和bbb的哈希编码相同。...原创 2019-09-15 00:11:30 · 148 阅读 · 0 评论