![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
你好,数据结构
文章平均质量分 61
江城的程序员大叔
这个作者很懒,什么都没留下…
展开
-
Java动态数组
数据结构对于一个开发者来说,重要性不言而喻,当你点开这片文章时,说明你已经意识到玩转数据结构的意义。笔者将通过这个系列的博客,和大家一起交流数据结构基于Java语言的实现。首先和大家一起交流的数据结构是数组。数组作为十分常见的一种数据结构,在实际开发中有着广泛的应用,下面将通过动态数组的代码实现,一起交流数组的使用。public class Array<E> { ...原创 2018-08-15 16:54:36 · 600 阅读 · 0 评论 -
Java栈(基于动态数组实现)
上一篇博客,和大家一起分享了Java动态数组的实现以及相关注意事项,没看过的同学可以先去了解一下,Java动态数组。有了这个动态数组之后,接下来来看看栈。相信大家都对于栈这一种后进先出的数据结构不会陌生,因为应用栈的地方着实不少,例如常见的撤销操作、括号匹配等等。(博客最后将和大家一起实现一个括号匹配的小demo)首先,先来定义栈的接口public interface StackIn...原创 2018-08-16 16:41:23 · 428 阅读 · 0 评论 -
Java队列(基于动态数组实现)
上篇博客和大家一起分享了Java栈的实现,有兴趣的同学可以和队列做一个对比,Java栈。和实现栈一样,先来定义接口public interface QueueInterface<E> { int getSize(); boolean isEmpty(); void enqueue(E e); E dequeue(); E ge...原创 2018-08-31 17:59:01 · 488 阅读 · 0 评论 -
Java链表
看了前三篇博客,相信大家对于动态数组会有一点新的思考,现在一起再来看另一种重要的线性数据结构--链表。既然已经有了一种线性数据结构,为什么又要在引入另一种数据结构呢,相信大家已经发现,在向数组插入元素的时候,时间复杂度是O(n)级别的,如果现在需要执行频繁的插入操作,那么使用数组会导致程序性能很差,这时就需要使用到链表这一结构,因为链表是依靠引用把一个个分散在内存中的节点串起来的,在插入操作上...原创 2018-08-31 18:20:32 · 242 阅读 · 0 评论 -
Java基于链表的栈和队列
上篇博客和大家分享了java的链表实现,这篇博客将和大家一起分享基于链表的栈和队列。这里可以先回忆一下基于动态数组实现的栈和队列,无论是底层是链表还是动态数组,栈和队列的接口都是一致的。首先,我们一起来看以前定义的栈的接口public interface StackInterface<E> { E pop(); E peek(); void pu...原创 2018-09-07 10:51:58 · 345 阅读 · 0 评论 -
Java二分搜索树及其添加删除遍历
对于树这种结构,相信大家一定耳熟能详,二叉树、二分搜索树、AVL树、红黑树、线段树、Trie等等,但是对于树的应用以及编写一棵解决特定问题的树,不少同学都会觉得不是一件简单的事情,没关系,我们将一步一步的揭开树的神秘面纱,从这篇博客开始,将会注重每一个步骤的代码细节,不同于前面博客的线性数据结构,比较简单,顺着代码就可以读下来,从这里将会和同学们一起,一步一步的实现不同类型的树结构。首先,在这...原创 2018-09-07 15:16:52 · 1365 阅读 · 2 评论