
数据结构与算法
文章平均质量分 78
akaks0
这个作者很懒,什么都没留下…
展开
-
JAVA实现链表的基本操作
Node类:public class Node { // 数据项 public long data; // 下个节点的引用 public Node next; public Node() { } public Node(long data) { this.data = data; }}LinkedL原创 2017-04-15 15:45:48 · 474 阅读 · 0 评论 -
JAVA实现栈的基本操作
栈是限定仅在表头进行插入和删除操作的线性表代码实现:public class MyStack { // 底层用数组实现 private long[] arr; private int pop; public MyStack() { arr = new long[10]; pop = -1; } publ原创 2017-04-15 16:19:18 · 5963 阅读 · 1 评论 -
JAVA实现hash表的基本操作
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表底层是由数组和链表组成,数组中的每一个值都是一个链表,我们可以理解为“链表的数组”。HashMap就是用哈希表来实现的,当我们调用put(key,va原创 2017-04-15 20:05:01 · 3688 阅读 · 0 评论 -
JAVA实现二叉树的基本操作
Node类:// 二叉树节点 public class Node { // 数据 public Long data; // 左子节点 public Node leftChild; // 右子节点 public Node rightChild; public Node(long d原创 2017-04-15 14:10:33 · 560 阅读 · 0 评论 -
JAVA实现图的深度优先搜索和广度优先搜索
深度优先搜索介绍图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被原创 2017-05-28 13:52:52 · 939 阅读 · 0 评论 -
JAVA实现插入排序
插入排序就是将数据一个一个的插入到有序数组中,那么最终组成的数组也将是一个有序数组,以达到排序的目的。流程分析:9 54 7 33 74 30 42 71 59 原始数据 9 | 54 7 33 74 30 42 71 59 9作为原创 2017-04-15 14:08:13 · 180 阅读 · 0 评论 -
JAVA实现快速排序
第一轮数组切分完毕;66已经找到了期位置,66左边的数都比66小,右边的数都比66要大。按照上面的顺序进行递归,不断地将数组进行切分即可得到最终排序的状态,代码如下:public class QuickSort { public static void main(String[] args) { int[] arr = new int[10];原创 2017-04-15 10:05:25 · 265 阅读 · 0 评论 -
快速理解平衡二叉树、B-tree、B+tree、B*tree
1、平衡二叉树(1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;(2)特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:非叶子节点只能允许最多两个子节点存在,每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点...转载 2018-09-15 21:15:17 · 331 阅读 · 0 评论