数据结构
平凡的L同学
个人感兴趣的方向:云计算网络,SDN,网络操作系统,量子通信,机器学习,欢迎讨论。
展开
-
java实现散列表
在直接寻址的情况下,具有关键字k的元素被存储在槽k中。比方说关键字域有2,3,5,8四个数,那么它只能被存储在2,3,5,8四个位置,其他的位置全部都被浪费掉了,这时候就可以通过散列函数h,将关键字域中的元素映射到散列表[0,m-1]的位置上。这时候内存的花销就大大的减少了。在JDK中已经有一个HashTable了,为了更加深刻的理解hash表,这里我们来自己实现一下:散列函数定义为:原创 2017-02-28 11:51:54 · 1489 阅读 · 1 评论 -
java构造二叉树并且实现先,中,后序遍历
关于二叉树的基本概念前面已经有所涉及,这里不在赘述:一些基本概念可以参考这里:http://blog.csdn.net/yalishadaa/article/details/54851324下面直接使用代码实现:package bbb;public class TreeNode { private TreeNode left; private TreeNode right;原创 2017-03-01 11:46:30 · 1422 阅读 · 0 评论 -
堆栈的实现
堆栈是一种后进先出的数据结构,主要需要实现的方法有两个,一个是压栈的操作PUSH,另一个是出栈的操作POP很容易联想到可以通过数组这样的一个数据结构来实现堆栈假设插入的顺序是1234567(初始状态)(插入后的状态,此时指针由右往左,顺序就是7654321,这样就实现先进后出的一个效果)下面给出相关的代码:package aa;import java原创 2017-02-24 10:54:05 · 713 阅读 · 0 评论 -
队列的java实现
和栈相反,队列是一种先进后出的数据结构这里还是采用最简单的数组来实现和前面栈的实现比较类似,只是这里用了两个指针:下面贴出代码:package aa;public class Queue { private Object[] data=null; private int maxSize;//队列的大小 private int front;//队头 private原创 2017-02-26 10:54:02 · 497 阅读 · 0 评论 -
单向链表的java实现
链表这种数据结构,各对象按照线性顺序进行排列,每一个对象包含一个关键字域以及两个指针next和prev下面是链表的示意图:下面再来看一下链表的删除以及插入操作(删除插入是链表擅长的,效率要比数组高很多)2.插入3.删除最后贴出实现链表的代码:package aa;public class MyList { Node head=null; class原创 2017-02-27 11:04:43 · 637 阅读 · 0 评论 -
B树,B+树,B*树相关知识以及Mysql数据库中的两种引擎
原文地址:http://m.blog.csdn.net/article/details?id=53164202接触到了数据结构当中的B树,B+树,B*树,我觉得应该写一篇博客记录下,毕竟是第一次接触的,只有写了博客以后,感觉对这个的印象才会更加深刻。 前言: 为什么要有B树? 学习任何一个东西我们都要知道为什么要有它,B树也一样,既然存储数据,我们为什么不用红黑树呢?这转载 2017-04-02 14:52:27 · 593 阅读 · 0 评论