
数据结构
文章平均质量分 56
临酒
我想在此,开间酒馆,名叫夜未央。
只卖醉生梦死。
既然相遇,就是缘分,酒钱,可以是你的故事,你的笑容,抑或只是你的一道伤疤。
客官,坐下来一杯吧,洗洗风尘,忘了忧伤。
侠情,在这一瞬间被点燃。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap实现原理,利用数组和链表存储元素
数组:存储区间连续,占用内存严重,寻址容易,插入删除困难链表:存储区间离散,占用内存比较宽松,寻址困难,插入删除容易hashmap综合应用了这两种数据结构,实现了寻址容易,插入删除也容易HashMap结构示意图:实现原理:用一个数组来存储元素,但是这个数组存储的不是基本数据类型。HashMap实现巧妙的地方就在这里,数组存储的元素是一个Entry类,这个类有原创 2016-04-08 20:10:36 · 10630 阅读 · 0 评论 -
神奇的二叉查找树,停不下来的思维风暴,来这里,我将告诉你它的实现原理
二叉查找树是树ADT的一种,它的性质是对于树中的每个节点X,它的左子树中所有项的值均小于X的值,而X的右子树中所有项的值均大于X的值。*ADT:抽象数据类型:带有一组操作的一些对象的集合。一个简单的二叉查找树如图所示:二叉查找树要求所有的项能够排序,我们需要提供一个interface来表示这个性质,这个接口就是Comparable,实现这个接口,树中的两项总可以原创 2015-12-04 21:03:43 · 503 阅读 · 0 评论 -
LinkedList,双向链表的实现
通过三个类来实现1、LinkedList类本身2、Node类,这个类是list的元素-节点,list用它来存储每一个元素,这个类包含三个成员变量:data(该节点值)、prev(对前一个节点的引用)、next(对后一个节点的引用)3、迭代器LinkedListIterator类,该类实现Iterator接口,提供next()/hasNext/remove的实现如下是原理图,原创 2015-12-02 19:04:55 · 3890 阅读 · 6 评论 -
ArrayList类的实现,利用数组存储元素
避免与类库中的ArrayList混淆,我将我实现的类命名为MyArrayList基本思想:在MyArrayList内部用一个数组来存储插入元素,元素满则扩充数组容量。实现细节如下:1、保存基础数组,数组的容量,以及存储在MyArrayList中的当前项;2、提供一种可以改变数组容量的机制,每当要插入元素且检查到当前存储元素的数组满时,便创建一个两倍容量的新数组,原创 2015-12-01 12:21:05 · 2217 阅读 · 1 评论