摘要: 容器持久化,相比小伙伴都不陌生。通过Docker的volume,我们可以非常方便的实现容器数据的持久化存储。但volume之下的文件系统,相比许多小伙伴并不是非常清楚。因而本文以Docker为例,重点讲述Docker底层所支持的三种文件系统。 阅读全文
posted @ 2020-12-08 10:54 vcjmhg 阅读(3762) 评论(0) 推荐(0) 编辑
摘要: 回溯法常用于遍历一个列表元素的所有所有子集,比如全排列问题。可以说深度优先搜索就是回溯法的一种特殊形式。该方法的时间复杂度比较大一般为O(N!),它不像动态规划存在重叠子问题可以优化,当然在某些情况下,我们可以通过剪枝来进行优化,当然这个技巧性可能较高。本篇文章主要从回溯法的基本思想入手,总结出一套模板,灵活运用模板便可以讲解大部分回溯算法的问题。 阅读全文
posted @ 2020-11-17 22:31 vcjmhg 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 在解决`字串`问题时,滑动窗口技巧可能经常会使用,其本身思想并不难理解,难在灵活。因而本文从一个`最小覆盖字串`问题入手总结一个通用的算法框架以解决常见的滑动窗口问题。 阅读全文
posted @ 2020-11-15 20:03 vcjmhg 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 贪心算法应该算是那种“只闻其声不见其人”的算法,我们可能在好多地方都会听到贪心算法这一概念,并且它的算法思想也比较简单就是说算法只保证局部最优,进而达到全局最优。但我们实际编程的过程中用的并不是很多,究其原因可能是贪心算法使用的条件比较苛刻,所要解决的问题必须满足**贪心选择性质**---所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。 阅读全文
posted @ 2020-11-03 15:19 vcjmhg 阅读(2407) 评论(0) 推荐(2) 编辑
摘要: 本文来源于《A Benchmark Dataset and Evaluation Methodology for Video Object Segmentation》,论文主要介绍了一种作者团队提供的针对视频语义分割算法进行评估的基准数据并提供了三种指标用于评估算法效果的优劣。本文主要是个人在阅读该论文的的一些所得,但由于论文内容所致,本文阅读起来更像一篇说明文档,提供与此,仅供参考。 DAVIS由50个高质量,全高清的视频序列组,包含有多个视频目标分割挑战,如遮挡,运动模糊和外观变化。每一个视频都是稠密标注,**像素级别的精度和逐帧的真值分割**(将前景对象与背景区域精确像素分离)。同时提出了三种互补的度量标准(区域相似性、轮廓准确性以及时间连贯性)来对当时几种最新的的分割方法进行综合分析。 阅读全文
posted @ 2020-11-01 21:19 vcjmhg 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 二分查找算法是一种效率极高的算法,也是为数不多时间复杂度在`O(logn)`量级的算法。算法思想并不难理解,但是某些细节却十分复杂,因而本文尝试从一个通用框架入手,通过对不同细节的填补,生成在三种情况下适用的不同框架 阅读全文
posted @ 2020-10-29 09:35 vcjmhg 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 与、或、异或、取反或者移位运算这几种基本的位操作想必诸位读者并不陌生,如果我们能在某些合适场景下使用位运算,有些时候可以大大提高算法的效率。但由于本身位运算太过灵活,甚至某些技巧比较苦涩难懂,因而,本篇文章主要介绍几种常见的或者有趣的位操作,并且给出一些用到这些技巧的算法题目,便于读者理解与掌握。 阅读全文
posted @ 2020-10-27 20:51 vcjmhg 阅读(494) 评论(2) 推荐(0) 编辑
摘要: 二叉树的遍历可以说是解决二叉树问题的基础。我们常用的遍历方式无外乎就四种`前序遍历`、`中序遍历`、`后续遍历`、`层次遍历`这四种。其中前三种遍历方式在实现时,即便采用不同的实现方式(递归方式、非递归),它们的算法结构是有很大的相似性。因而针对前三种的遍历我们会总结出对应通用的解决框架,便于在解决二叉树问题时进行使用。 阅读全文
posted @ 2020-10-26 10:06 vcjmhg 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历和广度优先搜索和广度优先搜索是解决图问题最常见的方式,并且在leetcode中有许多相关的变体,但万变不离其宗,其本质结构或者算法框架时固定的,因此本文BFS和DFS算法的原理总结了对应的算法框架,并提供了几道例题来解决如何使用这些框架。 阅读全文
posted @ 2020-10-23 19:59 vcjmhg 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 本文主要总结了解决链表问题时,常用的一些套路,比如增加头结点、对链表进行排序、节点插入与删除、链表翻转以及快慢指针,希望能给读者以帮助。 阅读全文
posted @ 2020-10-16 16:56 vcjmhg 阅读(435) 评论(0) 推荐(0) 编辑