数据结构
喵了个呜s
这个作者很懒,什么都没留下…
展开
-
数组和链表的区别
数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。大致总结一下特点和区别,拿几个人一起去看电影时坐座位为例。数组的特点在内存中,数组是一块连续的区域。 拿上面的看电影来说,这几个人在电影院必须坐在一起。数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证1原创 2017-04-24 16:57:09 · 91855 阅读 · 20 评论 -
二叉查找树的简单实现
二叉查找树首先也是个二叉树,符合二叉树的一切特点。原文地址:http://blog.csdn.net/qq_25806863/article/details/74638590简单介绍但是二叉查找树要求对树中的每个节点,这个节点的左子树中所有的值要小于自己,右子树中所有的值要大于自己。下面是两个的区别:二叉查找树: 不是二叉查找树: 简单实现主要是查询,插入和...原创 2017-07-07 10:55:37 · 1059 阅读 · 0 评论 -
AVL树的旋转图解和简单实现
AVL树是带有平衡条件的查找二叉树。这个平衡条件要容易保持,而且他要保证树的深度为O(logN)原文地址:http://blog.csdn.net/qq_25806863/article/details/74755131平衡条件一个最理想的平衡条件是左右两个子树的高度完全相等,但只有节点数量为2^n-1的树才满足这个条件(n是层数,2层要3个,3层要7个)。这个条件太严格,不好用。...原创 2017-07-07 18:03:51 · 50274 阅读 · 16 评论 -
ArrayList和LinkedList的简单实现
ArrayList提供了一宗可增长数组的实现。有点事对get和set调用花费常数时间。缺点是插入和删除代价昂贵,除非插入和删除是在ArrayList的末端进行。LinkedList提供了双链表实现。优点是,插入和删除开销很小,花费常数时间。缺点是不容易做索引,get和set调用昂贵,除非调用接近表的断点的项(离哪端近就从哪端开始)。原文地址:http://blog.csdn.net/qq_258原创 2017-07-31 11:49:44 · 2615 阅读 · 0 评论