数据结构
夜空中de一颗星
一生孜孜不倦追求真知的人
展开
-
浅谈算法和数据结构: 二 基本排序算法
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html本篇开始学习排序算法。排序与我们日常生活中息息相关,比如,我们要从电话簿中找到某个联系人首先会按照姓氏排序、买火车票会按照出发时间或者时长排序、买东西会按照销量或者好评度排序、查找文件会按照修改时间排序等等。在计算机程转载 2017-12-22 16:14:34 · 216 阅读 · 0 评论 -
浅谈算法和数据结构: 十 平衡查找树之B树
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html前面讲解了平衡查找树中的2-3树以及其实现红黑树。2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key。维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种转载 2017-12-22 16:37:53 · 270 阅读 · 0 评论 -
浅谈算法和数据结构: 九 平衡查找树之红黑树
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/category/548373.html前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3转载 2017-12-22 16:36:01 · 245 阅读 · 0 评论 -
浅谈算法和数据结构: 八 平衡查找树之2-3树
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-2-3-Search-Tree.html前面介绍了二叉查找树(Binary Search Tree),他对于大多数情况下的查找和插入在效率上来说是没有问题的,但是他在最差的情况下效率比较低。本文及后面文章介绍的平衡查找树的数据结构能够保证在最差的情况下也能达到转载 2017-12-22 16:34:19 · 353 阅读 · 0 评论 -
浅谈算法和数据结构: 七 二叉查找树
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的时候具有较高的灵活性,而有序数组在查找时具有较高的效率,本文介绍的二叉查找树(Binary Search Tree,BST)这一数据结构综合了以上转载 2017-12-22 16:32:26 · 229 阅读 · 0 评论 -
浅谈算法和数据结构: 三 合并排序
转发请声明转发:原文在这里:http://www.jianshu.com/p/3ba3c884b635合并排序,顾名思义,就是通过将两个有序的序列合并为一个大的有序的序列的方式来实现排序。合并排序是一种典型的分治算法:首先将序列分为两部分,然后对每一部分进行循环递归的排序,然后逐个将结果进行合并。 合并排序最大的优点是它的时间复杂度为O(nlgn),这个是我们之前的转载 2017-12-22 16:19:30 · 393 阅读 · 0 评论 -
浅谈算法和数据结构: 六 符号表及其基本实现
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-Symbol-Table-and-Elementary-Implementations.html前面几篇文章介绍了基本的排序算法,排序通常是查找的前奏操作。从本文开始介绍基本的查找算法。在介绍查找算法,首先需要了解符号表这一抽象数据结构,本文首先介绍了转载 2017-12-22 16:27:42 · 432 阅读 · 0 评论 -
浅谈算法和数据结构: 五 优先级队列与堆排序
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-Priority-Queue-And-Heap-Sort.html在很多应用中,我们通常需要按照优先级情况对待处理对象进行处理,比如首先处理优先级最高的对象,然后处理次高的对象。最简单的一个例子就是,在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来转载 2017-12-22 16:25:53 · 302 阅读 · 0 评论 -
浅谈算法和数据结构: 四 快速排序
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduce-Quick-Sort.html上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick Sort)。快速排序是20世纪科技领域的十大算法之一 ,他由C. A. R转载 2017-12-22 16:23:45 · 3806 阅读 · 0 评论 -
浅谈算法和数据结构: 一 栈和队列
转发请声明转发:原文在这里:http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因。另外普林斯顿大转载 2017-12-22 16:09:50 · 279 阅读 · 0 评论