欢迎您的访问
专注于Java技术系列文章的Java技术分享网站

数据结构与算法

专栏汇总:Java数据结构与算法

站长阅读(712)评论(0)赞(100)

Java数据结构和算法(九)——高级排序 Java数据结构和算法(十五)——无权无向图 Java数据结构和算法(十四)——堆 Java数据结构和算法(十三)——哈希表 Java数据结构和算法(十二)——2-3-4树 Java数据结构和算法(...

Java数据结构和算法(十五)——无权无向图

站长阅读(687)评论(0)赞(73)

  前面我们介绍了树这种数据结构,树是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,包括二叉树、红黑树、2-3-4树、堆等各种不同的树,有对这几种树不了解的可以参考我前面几篇...

Java数据结构和算法(十四)——堆

站长阅读(698)评论(0)赞(96)

  在Java数据结构和算法(五)——队列中我们介绍了优先级队列,优先级队列是一种抽象数据类型(ADT),它提供了删除最大(或最小)关键字值的数据项的方法,插入数据项的方法,优先级队列可以用有序数组来实现,这种实现方式尽管删除最大数据项的时...

Java数据结构和算法(十三)——哈希表

站长阅读(675)评论(0)赞(71)

  Hash表也称散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key – value)而直接进行访问的数据结构。它基于数组,通过把关键字映射到数组的某个下标来加快查找速度,但是又和数组、链表、树等数据结构不同,在这...

Java数据结构和算法(十二)——2-3-4树

站长阅读(665)评论(0)赞(99)

  通过前面的介绍,我们知道在二叉树中,每个节点只有一个数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树。本篇博客我们将介绍的——2-3-4树,它是一种多叉树,它的每个节点最多有四个子节点和三个数据项。...

Java数据结构和算法(十一)——红黑树

站长阅读(700)评论(0)赞(66)

  上一篇博客我们介绍了二叉搜索树,二叉搜索树对于某个节点而言,其左子树的节点关键值都小于该节点关键值,右子树的所有节点关键值都大于该节点关键值。二叉搜索树作为一种数据结构,其查找、插入和删除操作的时间复杂度都为O(logn),底数为2。但...

Java数据结构和算法(十)——二叉树

站长阅读(703)评论(0)赞(75)

  接下来我们将会介绍另外一种数据结构——树。二叉树是树这种数据结构的一员,后面我们还会介绍红黑树,2-3-4树等数据结构。那么为什么要使用树?它有什么优点?   前面我们介绍数组的数据结构,我们知道对于有序数组,查找很快,并介绍可以通过二...

Java数据结构和算法(九)——高级排序

站长阅读(696)评论(0)赞(96)

  春晚好看吗?不存在的!!!   在Java数据结构和算法(三)——冒泡、选择、插入排序算法中我们介绍了三种简单的排序算法,它们的时间复杂度大O表示法都是O(N2),如果数据量少,我们还能忍受,但是数据量大,那么这三种简单的排序所需要的时...

Java数据结构和算法(八)——递归

站长阅读(684)评论(0)赞(64)

  记得小时候经常讲的一个故事:从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容是“从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容…...

Java数据结构和算法(七)——链表

站长阅读(696)评论(0)赞(85)

  前面博客我们在讲解数组中,知道数组作为数据存储结构有一定的缺陷。在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除效率都很低,并且数组在创建后,其大小是固定了,设置的过大会造成内存的浪费,过小又不能满足数据量的...

一个专注于Java技术系列文章的技术分享网站