
《算法系列》
凶残的程序员
博观而约取,厚积而薄发
展开
-
算法 —— 排序 —— 初级排序
前言选择排序插入排序选择排序和插入排序对比希尔排序引入 hh 的取值希尔排序的性能前言算法,在计算机领域都是一个永恒的话题。尤其是当今这个信息科技高速飞跃的时代,对算法的深入学习和挖掘可以说是炽手可热。不说宏观的,为了更好的工作和生活,深入浅出学习算法。选择排序选择排序是一种最简单的入门排序算法每次排序都会遍历数组中还未排序的元素...原创 2018-04-01 14:57:51 · 752 阅读 · 0 评论 -
算法 —— 排序 —— 归并排序
“分治”策略归并自顶向下(递归)自底向上(遍历)“分治”策略 分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。分治法是很多高效算法的基础,如排序算法(快速排序,归并排序...原创 2018-04-15 19:38:05 · 517 阅读 · 0 评论 -
算法 —— 排序 —— 快速排序
快速排序基本思想切分排序算法算法改进三向切分(改进重复元素排序)快速排序快速排序是应用最广泛的排序算法了。原因是实现简单,且在一般应用中比其他排序算法要快得多。快速排序内循环比大多数排序算法都要短小,这意味着它无论是在理论上还是在实际中都要更快。但是它的缺点是非常脆弱,在实现中要非常小心才能避免低劣的性能。在归并排序这篇文章中有讲解到“分治策略”,该策略一...原创 2018-05-01 23:20:02 · 752 阅读 · 0 评论 -
算法 —— 排序 —— 优先队列
优先队列二叉堆优先队列【Priority Queue】首先声明一下,优先队列是基于堆的完全二叉树,它和队列的概念无关。(它并不是队列,而是树)并且,优先队列最重要的操作就是: 删除最大元素和插入元素,所以我们把精力集中在这两点上。(本文以最大堆为主讲述)二叉堆...原创 2018-06-02 19:40:28 · 6345 阅读 · 0 评论