摘要:Tip 为了演示更加清楚,本文中所有的动画都放慢了速度,因此GIF大小对比之前会有所增大,图片加载速度会变慢 在前面的章节中详细的讲解分析了十大经典排序算法,本文将进行一个大总结同时分析它们的时间复杂度与稳定性。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 阅读全文
posted @ 2018-12-04 16:34 五分钟学算法 阅读 (3245) 评论 (13) 编辑
摘要:本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:https://www.cxyxiaowu.com 动态规划 1 概念 动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。在学习动态规划之前需要明确掌握几个重要 阅读全文
posted @ 2019-11-15 14:13 五分钟学算法 阅读 (601) 评论 (5) 编辑
摘要:什么是动态规划,如何做动态规划的题目 阅读全文
posted @ 2019-11-14 11:26 五分钟学算法 阅读 (1081) 评论 (4) 编辑
摘要:程序员的快乐往往就是这么朴素无华且枯燥! 我,打开了 LeetCode 官网,打算随意的做几题,看到 877 号问题几百个字的描述我却使用一行代码仅仅 11 个字母就 AC,哎,枯燥。 想象着评论区里面他们们给我拼命点赞的样子,是多么的滑稽,我笑了笑,哎,程序员的快乐,往往就这么朴实无华,且枯燥。 阅读全文
posted @ 2019-11-01 09:22 五分钟学算法 阅读 (277) 评论 (1) 编辑
摘要:题目描述 已知数据表 A 中每个元素距其最终位置 不远 ,为了节省时间,应该采取的算法是() A、直接选择排序 B、直接插入排序 C、堆排序 D、快速排序 题目分析 我们在之前学习 希尔排序 算法的时候提及到,希尔排序进行到一定阶段(每个元素距离其最终位置不远时)一般都使用 插入排序 来收尾。 如果 阅读全文
posted @ 2019-10-25 15:15 五分钟学算法 阅读 (184) 评论 (0) 编辑
摘要:今天分享的题目来源于 LeetCode 第 287 号问题:寻找重复数。 题目描述 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 示例 2: 说明: 不能更改原 阅读全文
posted @ 2019-10-19 17:42 五分钟学算法 阅读 (122) 评论 (0) 编辑
摘要:今天分享的一道算法面试题来源于 360校园招聘2015届技术类笔试题 。 题目描述 用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序,序列的变化情况采样如下: 请问采用的是以下哪种排序算法() A. 选择排序 B. 希尔排序 C. 归并排序 D. 快速排序 阅读全文
posted @ 2019-10-18 11:41 五分钟学算法 阅读 (223) 评论 (0) 编辑
摘要:全文包含 12000+ 字、 30 张高清图片,预计阅读时间为 40 分钟,强烈建议先 收藏 再仔细阅读。 作者 | 李威 整理 | 五分钟学算法 个人博客 | "https://www.cxyxiaowu.com" 来源 | https://www.liwei.party/ 下面的动画以 "「力扣 阅读全文
posted @ 2019-10-16 16:34 五分钟学算法 阅读 (1253) 评论 (0) 编辑
摘要:前言科普:什么是滑动窗口算法 滑动问题包含一个滑动窗口,它是一个运行在一个大数组上的子列表,该数组是一个底层元素集合。 假设有数组 [a b c d e f g h ],一个大小为 3 的 滑动窗口 在其上滑动,则有: 一般情况下就是使用这个窗口在数组的 合法区间 内进行滑动,同时 动态地 记录一些 阅读全文
posted @ 2019-08-28 11:18 五分钟学算法 阅读 (505) 评论 (0) 编辑
摘要:题目来源于 LeetCode 上第 172 号问题:阶乘后的零。题目难度为 Easy,目前通过率为 38.0% 。 题目描述 给定一个整数 n ,返回 n ! 结果尾数中零的数量。 示例 1: 示例 2: 说明: 你算法的时间复杂度应为 O (log n ) 。 题目解析 题目很好理解,数阶乘后的数 阅读全文
posted @ 2019-08-22 20:51 五分钟学算法 阅读 (160) 评论 (0) 编辑
摘要:本文是介绍 什么是 BF算法、KMP算法、BM算法 三部曲之一。 KMP算法 内部涉及到的数学原理与知识太多,本文只会对 KMP算法 的运行过程、 部分匹配表 、next数组 进行介绍,如果理解了这三点再去阅读其它有关 KMP算法 的文章肯定能有个清晰的认识。 以下的文字描述请结合视频动画来阅读~ 阅读全文
posted @ 2019-08-02 11:50 五分钟学算法 阅读 (556) 评论 (1) 编辑