摘要:Tip 为了演示更加清楚,本文中所有的动画都放慢了速度,因此GIF大小对比之前会有所增大,图片加载速度会变慢 在前面的章节中详细的讲解分析了十大经典排序算法,本文将进行一个大总结同时分析它们的时间复杂度与稳定性。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 阅读全文
posted @ 2018-12-04 16:34 五分钟学算法 阅读 (2507) 评论 (12) 编辑
摘要:今天分享的题目来源于 LeetCode 第 287 号问题:寻找重复数。 题目描述 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 示例 2: 说明: 不能更改原 阅读全文
posted @ 2019-10-19 17:42 五分钟学算法 阅读 (11) 评论 (0) 编辑
摘要:今天分享的一道算法面试题来源于 360校园招聘2015届技术类笔试题 。 题目描述 用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序,序列的变化情况采样如下: 请问采用的是以下哪种排序算法() A. 选择排序 B. 希尔排序 C. 归并排序 D. 快速排序 阅读全文
posted @ 2019-10-18 11:41 五分钟学算法 阅读 (82) 评论 (0) 编辑
摘要:全文包含 12000+ 字、 30 张高清图片,预计阅读时间为 40 分钟,强烈建议先 收藏 再仔细阅读。 作者 | 李威 整理 | 五分钟学算法 个人博客 | "https://www.cxyxiaowu.com" 来源 | https://www.liwei.party/ 下面的动画以 "「力扣 阅读全文
posted @ 2019-10-16 16:34 五分钟学算法 阅读 (706) 评论 (0) 编辑
摘要:前言科普:什么是滑动窗口算法 滑动问题包含一个滑动窗口,它是一个运行在一个大数组上的子列表,该数组是一个底层元素集合。 假设有数组 [a b c d e f g h ],一个大小为 3 的 滑动窗口 在其上滑动,则有: 一般情况下就是使用这个窗口在数组的 合法区间 内进行滑动,同时 动态地 记录一些 阅读全文
posted @ 2019-08-28 11:18 五分钟学算法 阅读 (289) 评论 (0) 编辑
摘要:题目来源于 LeetCode 上第 172 号问题:阶乘后的零。题目难度为 Easy,目前通过率为 38.0% 。 题目描述 给定一个整数 n ,返回 n ! 结果尾数中零的数量。 示例 1: 示例 2: 说明: 你算法的时间复杂度应为 O (log n ) 。 题目解析 题目很好理解,数阶乘后的数 阅读全文
posted @ 2019-08-22 20:51 五分钟学算法 阅读 (106) 评论 (0) 编辑
摘要:本文是介绍 什么是 BF算法、KMP算法、BM算法 三部曲之一。 KMP算法 内部涉及到的数学原理与知识太多,本文只会对 KMP算法 的运行过程、 部分匹配表 、next数组 进行介绍,如果理解了这三点再去阅读其它有关 KMP算法 的文章肯定能有个清晰的认识。 以下的文字描述请结合视频动画来阅读~ 阅读全文
posted @ 2019-08-02 11:50 五分钟学算法 阅读 (368) 评论 (1) 编辑
摘要:最近,小吴在追一部古装剧 《长安十二时辰》。 最近,小吴在追一部古装剧 《长安十二时辰》。 故事讲得是在上元节前夕,长安城混入可疑人员,身陷囹圄的张小敬临危受命,与少年天才李必携手在十二时辰内破除隐患。 故事讲得是在上元节前夕,长安城混入可疑人员,身陷囹圄的张小敬临危受命,与少年天才李必携手在十二时 阅读全文
posted @ 2019-07-18 14:46 五分钟学算法 阅读 (1508) 评论 (8) 编辑
摘要:前言科普 第一篇二分搜索论文是 1946 年发表,然而第一个没有 bug 的二分查找法却是在 1962 年才出现,中间用了 16 年的时间。 2019 年的你,在面试的过程中能手写出没有 bug 的二分查找法么? 定义 在计算机科学中,二分查找(英语:binary search),也称折半搜索(英语 阅读全文
posted @ 2019-06-12 11:24 五分钟学算法 阅读 (332) 评论 (0) 编辑
摘要:个人原创,首发于:五分钟学算法:毕业十年后,我忍不住出了一份程序员的高考试卷 一、选择题(共计 50 分) 1、在下列四种排序算法,只有( )是一种不稳定排序 A、冒泡排序 B、选择排序C、插入排序 D、归并排序 2、一个数组,含有大量重复元素,使用( )进行排序是一种合理的抉择 A、快速排序 B、 阅读全文
posted @ 2019-06-10 08:40 五分钟学算法 阅读 (5546) 评论 (37) 编辑
摘要:这是通过「扫雷与算法」小程序来讲解算法的第一章:如何随机化的进行布雷,主要介绍了三种不那么好的方法,希望通过这些不好的方法能让大家明白第二章要讲解的「洗牌算法」有多牛逼。 补充:「扫雷与算法」小程序会在写完后进行开源,发布在我的 GitHub 上面。 方法一 最想当然的方法就是随机的在二维区间寻找一 阅读全文
posted @ 2019-06-03 19:50 五分钟学算法 阅读 (585) 评论 (3) 编辑