Prim算法 Prim算法 假定我们要给各个村子修路,将村子之间互相连通起来,但是呢又不想直在任意两两村子之间直接修,那样会浪费成本。因此我们可以考虑在部分村子之间修,只要保证这些路可以将所有的村子连通起来就好(即村A和村B之间没有直接连通,但是可以通过村C来中转,从A-C-B)。也就是说我们有N个村子,我们可以修N-1条路,来保证村之间可以有路连通。也称为最小生成树(最小支撑树),即保持"连通性"的前提下 2021-04-11 prim
Floyd算法 Floyd 算法 Floyd算法也是求最短路径的一种算法,主要用于计算两两节点之间最短的距离。不像dijstra是固定一个起点,在Floyd中每一个点都可以是起点,用来计算它到其它节点之间的最短距离。其实Floyd就像是执行了n次dijstra算法。 2021-04-11 算法 floyd
排课程 排课程 Leetcode上有这样一道题,给定N个课程,但是有的课再学习之前,需要先学完别的某一个课程。就像我们在大学里面学专业之前要先学会高数才行。 题目链接 https://leetcode.com/problems/course-schedule/,描述如下: There are a total of numCourses courses you have to take, lab 2021-01-10 leetcode alogithm
延迟接受算法 延迟接受算法 延迟接受算法是一个比较经典的优化算法,也叫做盖尔-沙普利算法,是盖尔和沙普利为了寻找一个稳定匹配而设计出的市场机制。从算法的角度来讲,延迟接受就是对当前解不会立即接受,而是暂时的不被拒绝,当迭代次数停止以后,会从手上选择最优的那一个作为最终解。 2020-07-18 算法 late acceptance
dijkstra算法 Dijkstra算法 中文名又叫迪杰斯特拉算法,是一种单源最短路径算法,用于计算一个节点到其它所有节点的最短路径。通俗的讲就是确定好一个起点之后,计算起点到其它点最短路径。常用于一些路由计算或者路径规划等场景。 2020-07-05 算法 dijkstra
Hive/SQL日常总结 Hive/SQL日常总结 说来惭愧,工作了有一段时间了,才开始接触SQL。自己之前从来没有和SQL打过交道。为了不在工作中拖后腿,自己挤时间把《SQL必知必会》这本书看完了。看完之后虽然对SQL有了基本的认识,但是应用起来还是不太熟练,有时候还需要上网查一查相关资料才用。现在把日常使用中会用到的点记录下来,方便以后应用。 2020-05-16 SQL
Linux下压缩隐藏文件 Linux下压缩文件 之前在压缩文件的时候一直使用tar这个命令,因为一般压缩的时候都是对我们能“看见”的文件进行压缩,没有考虑过那些看不见的文件,即“隐藏”文件。 12tar zcvf abc.tar.gz abc/* // 压缩tar zxvf abc.tar.gz // 解压 最近在服务器上压缩文件时,需要用到里面的隐藏文件,想当然的进行了上面的压缩方式,解压之后 2020-05-03 Linux