最大连续和问题。给出一个长度为n的序列A1,A2,...,An,求最大连续和。换句话说,要求找到1
动态规划之01背包问题,cpp示例代码,经测试,编译通过,可直接使用。 背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。
遗传病模型算法SIR的matlab程序。经测试可用。
最短路Floyd算法。Floyd算法(Floyd-Warshallalgorithm)又称为弗洛伊德算法、插点法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。
并查集与最小生成树 原理讲解、c++代码。 并查集是一一种树型的数据结构,用用于处理理一一些不不相交集合的合并及查询问题。 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(
最长公共子序列(LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。一个数列 ,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则称为已知序列的最长公共子序列。
堆优化dijkstra算法。使用邻接表。邻接表的应用案例。 Dijkstra算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如
动态规划之完全背包问题。 完全背包是在N种物品中选取若干件(同一种物品可多次选取)放在空间为V的背包里,每种物品的体积为C1,C2,...,Cn,与之相对应的价值为W1,W2,...,Wn.求解怎么装物品可使背包里物品总价值最大。
BFS搜索案例——走出迷宫。 广度优先搜索BFS(Breadth First Search)也称为宽度优先搜索,它是一种先生成的结点先扩展的策略。
最短路SPFA算法。SPFA(Shortest Path Faster Algorithm)算法是求单源最短路径的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法。存在负权边时使用。