摘要:
最长回文子串 最长回文子串的问题描述: 给出一个字符串 S,求 S 的最长回文子串的长度 例子: 字符串 "PATZJUJZTACCBCC" 的最长回文子串为 "ATZJUJZTA",长度为 9 还是先看暴力解法,枚举子串的两个端点 i 和 j,需要判断在 内的子串是否回文,从复杂度上看,枚举端点需 阅读全文
摘要:
最长公共子序列 最长公共子序列(Longest Common SubSequence)的问题描述为: 给定两个字符串A和B,求一个字符串,使得这个字符串是 A 和 B 的最长公共部分 例如:"sadstory" 和 "adminsorry" 的最长公共子序列为 "adsory",长度为 6 如果是暴 阅读全文
摘要:
最长不下降子序列(LIS) 最长不下降子序列(Longest Increasing Subsequence)是动态规划中的一个非常经典的问题: 在一个数字序列中,找到一个最长的子序列(可以不连续),使得这个子序列是不下降(非递减)的 例如 ,它的最长不下降子序列是 ,长度为 5。 对于这个问题,最简 阅读全文
摘要:
在网安实验室暑期实习中,兴趣使然对网络安全方面进行了学习,在此记录下网络渗透中的一般步骤和常用工具,这只是一篇总结。 网络渗透过程 网络渗透主要分为三个阶段,准备阶段、实施阶段和善后阶段,这三个阶段都不可少,都是必备的部分,故不可忽视任何一个部分。 渗透环境: Kali Linux (十星推荐使用, 阅读全文
摘要:
动态规划 最大连续子序列和 最大连续子序列问题如下: 给定一个数字序列,A1,A2,A3,......,An,求 i,j ( 1i+......+Aj 最大,输出这个最大和。 这个问题如果使用暴力法,枚举左端点 i 和右端点 j ,需要 O(n2)的时间复杂度,再计算 A[i] + ... + A[ 阅读全文
摘要:
动态规划 [TOC] 动态规划(Dynamic Programming, DP)是一种用来解决一类 最优化问题 的算法思想。 简单来说,动态规划是将一个复杂的问题分解成若干个子问题,通过综合子问题的最优解来得到原问题的最优解。动态规划会把每个求解过的子问题的解记录下来,这样当下一次碰到同样的子问题时 阅读全文
摘要:
最小生成树 [TOC] 最小生成树(Minimum Spanning Tree,MST)是在一个给定的无向图G(V,E)中求一棵树 T,使得这棵树拥有图 G中的所有顶点,且所有边都是来自图 G 中的边,并且满足整棵树的边权之和最小。 最小生成树有三个性质需要掌握: 最小生成树是树,因此其边数等于顶点 阅读全文
摘要:
拓扑排序 [TOC] 有向无环图 如果一个有向图的任意顶点都无法通过一些有向边回到自身,那么称这个图为有向无环图(Directed Acyclic Graph, DAG)。 拓扑排序 拓扑排序是将有向无环图 G 的所有顶点排序成一个线性序列,使得对图 G 中的任意两个顶点 u,v,如果存在边 u v 阅读全文
摘要:
最短路径 [TOC] 最短路径问题: 给定任意的图 和起点 S,终点 T,如何求从 S 到 T 的最短路径。 解决最短路径的常用方法有 Dijkstra 算法 Bellman Ford 算法 SPFA 算法 Floyd 算法 这里主要对 Dijkstra 算法及其变种进行总结。 Dijkstra 算 阅读全文