随笔分类 -  简单算法

摘要:马踏棋盘问题 回溯算法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就 阅读全文
posted @ 2022-02-13 14:28 被动 阅读(75) 评论(0) 推荐(0) 编辑
摘要:弗洛伊德(Floyd)算法介绍 和Dijkstra 算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978 年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名 弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径 迪杰 阅读全文
posted @ 2022-02-13 13:35 被动 阅读(195) 评论(0) 推荐(0) 编辑
摘要:概述 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。迪杰斯特拉算法采用的是贪心策略,将Graph中的节点集分为最短 阅读全文
posted @ 2022-02-12 14:52 被动 阅读(334) 评论(0) 推荐(0) 编辑
摘要:应用场景-公交站问题 看一个应用场景和问题: 某城市新增 7 个站点 (A, B, C, D, E, F, G) ,现在需要修路把 7 个站点连通 各个站点的距离用边线表示 ( 权 ) ,比如 A – B 距离 12 公里 问:如何修路保证各个站点都能连通,并且总的修建公路总里程最短 ? 克鲁斯卡尔 阅读全文
posted @ 2022-02-11 12:10 被动 阅读(213) 评论(0) 推荐(0) 编辑
摘要:普里姆算法 普利姆(Prim)算法求最小生成树,也就是在包含n个顶点的连通图中,找出只有(n-1)条边包含所有n个顶点的连通子图,也就是所谓的极小连通子图。 算法如下。 1 设G=(V,E)是连通网,T=(U,D)是最小生成树,V,U是顶点集合,E,D是边的集合。 2 若从顶点u开始构造最小生成树, 阅读全文
posted @ 2022-02-10 15:55 被动 阅读(199) 评论(0) 推荐(0) 编辑
摘要:贪心算法的核心就是:在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。如何选择最少的广播台,让所有的地区 都可以接收到信号。 思路: 1)遍历所有的广播电台, 找到一个覆盖了最多未覆盖的地区的电 阅读全文
posted @ 2022-02-09 13:12 被动 阅读(76) 评论(0) 推荐(0) 编辑
摘要:1、应用场景-字符串匹配问题 1)有一个字符串 str1= ““硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好””,和一个子串 str2=“尚硅谷你尚硅你” 2)现在要判断 str1 是否含有 str2, 如果存在,就返回第一次出现的位置, 如果没有,则返回-1 2、暴力匹配算法 如果用暴力匹配的思 阅读全文
posted @ 2022-02-08 16:08 被动 阅读(31) 评论(0) 推荐(0) 编辑
摘要:动态规划算法介绍 1)动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法 2)动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 3)与分治法不同的 阅读全文
posted @ 2022-02-07 14:50 被动 阅读(55) 评论(0) 推荐(0) 编辑
摘要:分治算法解决汉诺塔问题 我们将 3 个柱子分别命名为起始柱、目标柱和辅助柱。实际上,解决汉诺塔问题是有规律可循的: 当起始柱上只有 1 个圆盘时,我们可以很轻易地将它移动到目标柱上 当起始柱上有 2 个圆盘时,移动过程如下图所示: 当起始柱上有 3 个圆盘时,移动过程如图 ,仔细观察会发现,移动过程 阅读全文
posted @ 2022-02-06 14:19 被动 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1.概述 二分查找是针对有序数列的,对无序数列是无效的,在有序序列中使用二分查找能大大提高查找效率。 以升序数列为例,比较一个元素与数列中的中间位置的元素的大小,如果比中间位置的元素大,则继续在后半部分的数列中进行二分查找;如果比中间位置的元素小,则在数列的前半部分进行比较;如果相等,则找到了元素的 阅读全文
posted @ 2022-02-05 17:18 被动 阅读(132) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示