摘要:
从这篇文章开始介绍图相关的算法,这也是Algorithms在线课程第二部分的第一次课程笔记。图的应用很广泛,也有很多非常有用的算法,当然也有很多待解决的问题,根据性质,图可以分为无向图和有向图。本文先介绍无向图,后文再介绍有向图。之所以要研究图,是因为图在生活中应用比... 阅读全文
posted @ 2018-08-26 23:39
郝云峰
阅读(364)
评论(0)
推荐(0)
摘要:
前面讲解了平衡查找树中的2-3树以及其实现红黑树。2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key。维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时... 阅读全文
posted @ 2018-08-26 23:38
郝云峰
阅读(165)
评论(0)
推荐(0)
摘要:
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构... 阅读全文
posted @ 2018-08-26 23:38
郝云峰
阅读(260)
评论(0)
推荐(0)
摘要:
前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3树的数据结构,即红黑树(... 阅读全文
posted @ 2018-08-26 23:37
郝云峰
阅读(165)
评论(0)
推荐(0)
摘要:
前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的时候具有较高的灵活性,而有序数组在查找时具有较高的效率,本文介绍的二叉查找树(Binary Search Tree,BST)这一数据结构综合了以上两种数据结构的优点。二叉查找树具有很高的灵活性,对其优化可... 阅读全文
posted @ 2018-08-26 23:32
郝云峰
阅读(252)
评论(0)
推荐(0)
摘要:
前面介绍了二叉查找树(Binary Search Tree),他对于大多数情况下的查找和插入在效率上来说是没有问题的,但是他在最差的情况下效率比较低。本文及后面文章介绍的平衡查找树的数据结构能够保证在最差的情况下也能达到lgN的效率,要实现这一目标我们需要保证树在插入... 阅读全文
posted @ 2018-08-26 23:32
郝云峰
阅读(162)
评论(0)
推荐(0)
摘要:
前面几篇文章介绍了基本的排序算法,排序通常是查找的前奏操作。从本文开始介绍基本的查找算法。在介绍查找算法,首先需要了解符号表这一抽象数据结构,本文首先介绍了什么是符号表,以及这一抽象数据结构的的API,然后介绍了两种简单的符号表的实现方式。一符号表在开始介绍查找算法之... 阅读全文
posted @ 2018-08-26 23:31
郝云峰
阅读(190)
评论(0)
推荐(0)
摘要:
Netty是一个基于异步与事件驱动的网络应用程序框架,它支持快速与简单地开发可维护的高性能的服务器与客户端。所谓事件驱动就是由通过各种事件响应来决定程序的流程,在Netty中到处都充满了异步与事件驱动,这种特点使得应用程序可以以任意的顺序响应在任意的时间点产生的事件,... 阅读全文
posted @ 2018-08-26 23:20
郝云峰
阅读(217)
评论(0)
推荐(0)
浙公网安备 33010602011771号