
挖掘算法中的数据结构
此系列博文将主要从线性排序、树形结构、图形结构三大方面深入讲解藏于算法中的数据结构。其实很多算法是依托于数据结构而存在的,看似算法问题,本质还是数据结构,考察的远比我们想象的要基础。
鸽一门
Slow down, Old Sport. 慢慢来,比较快~
展开
-
挖掘算法中的数据结构(七):二分搜索树(删除、广度优先遍历、顺序性)及 衍生算法问题
上篇博文介绍了二分查找算法和二分搜索树的基本操作,如插入、查找、深度优先遍历,此篇博文将要介绍二分搜索树的广度优先遍历、顺序性、局限性等相关知识,还有二分搜索树中最复杂的部分——删除节点及衍生的算法知识,涉及到的知识点如下:层序遍历(广度优先遍历)删除最大值,最小值、删除节点二分搜索树的顺序性二分搜索树的局限性树形问题和更多树。 挖掘算法中的数据结构(一):选择、插入、冒泡、希尔排序 及原创 2017-09-01 08:53:19 · 2594 阅读 · 3 评论 -
挖掘算法中的数据结构(六):二分查找 和 二分搜索树(插入、查找、深度优先遍历)
此篇文章将介绍二叉搜索树(Binary Search Tree),同上篇文章介绍的二叉堆本质上类似,都是一个二叉树。选择什么特征的二叉树是根据具体问题来决定的,需谨记选择数据结构的核心在于解决问题,并非为了使用而使用,而是因为二叉树能够高效地解决某类问题。此篇博文涉及的知识点如下:二分查找法二分搜索树基础二分搜索树的节点插入二分搜索书的查找二分搜索树的遍历(深度优先遍历) 挖掘算法中的数原创 2017-08-31 09:59:42 · 5283 阅读 · 0 评论 -
挖掘算法中的数据结构(五):排序算法总结 和 索引堆及优化(堆结构)
前四篇博文介绍的O(n^2)或O(n*logn)排序算法及堆排序结束,意味着有关排序算法已讲解完毕,此篇博文将对这些排序算法进行比较总结,并且学习另一个经典的堆结构,处于二叉堆优化之上的索引堆,最后拓展了解由堆衍生的一些问题。此篇涉及的知识点有:排序算法总结索引堆及其优化堆结构衍生的问题 挖掘算法中的数据结构(一):选择、插入、冒泡、希尔排序 及 O(n^2)排序算法思考 挖原创 2017-08-23 10:02:23 · 1785 阅读 · 0 评论 -
挖掘算法中的数据结构(四):堆排序之 二叉堆(Heapify、原地堆排序优化)
不同于前面几篇O(n^2)或O(n*logn)排序算法,此篇文章将讲解另一个排序算法——堆排序,也是此系列的第一个数据结构—–堆,需要注意的是在堆结构中排序是次要的,重要的是堆结构及衍生出来的数据结构问题,排序只是堆应用之一。此篇涉及的知识点有:堆的基本存储Shift Up和Shift Down基础堆排序和Heapify优化的堆排序 挖掘算法中的数据结构(一):选择、插入、冒泡、希尔排序原创 2017-08-22 14:47:35 · 3735 阅读 · 0 评论 -
挖掘算法中的数据结构(三):O(n*logn)排序算法之 快速排序(随机化、二路、三路排序) 及衍生算法
在上一篇博文中学习了时间复杂度为 O(n*logn) 的归并算法,介绍其两种实现方式——自顶向下和自底向上,不同于O(n^2)排序算法,O(n *logn)在处理百万级数据量上有明显的性能优势。而此篇文章将介绍具有代表性O(n *logn)的另一种算法——快速排序,其性能总体还会优于归并排序,但是在最坏情况下时间复杂度会退化为O(n^2)!继而出现了对快速排序的系列优化并衍生出新的实现方式,来一探究原创 2017-08-19 09:46:12 · 1869 阅读 · 0 评论 -
挖掘算法中的数据结构(二):O(n*logn)排序算法之 归并排序(自顶向下、自底向上) 及 算法优化
在上一篇博文中学习了时间复杂度为 O(n^2)的几个排序算法(选择、插入、冒泡、希尔排序),其中尤为需要注意的是插入排序,在近乎有序的测试用例条件下,此算法的效率会高于O(n*logn)的排序算法,所以它的效率不容小觑。但是O(n*logn)的排序算法与O(n*logn)之间还是有质变的区别,综合而言性能更优。此篇文章将讲解时间复杂度为O(n*logn)的有关算法,涉及到的知识点有:归并排序法思想原创 2017-08-17 14:21:21 · 1849 阅读 · 0 评论 -
挖掘算法中的数据结构(一):O(n^2)排序算法之 选择、插入、冒泡、希尔排序 及 优化
其实很多算法是依托于数据结构而存在的,包括面试中很多问题看似算法问题,本质还是数据结构,考察的远比我们想象的要基础,基础的重要性从来无需多言。例如微软曾面试过的代码实现堆、二叉树翻转等,无不是在考察基础。 语言要求对于算法而言,它其实是与语言无关的,被誉为算法神书的《算法导论》中都是以伪码的形式进行编写。原创 2017-08-14 15:11:28 · 1966 阅读 · 0 评论