随笔分类 - 算法
摘要:递归与八皇后问题 什么叫递归 其实是这样的 假设我们现在都不知道什么是递归,我们自然想到打开浏览器:输入到谷歌的网页,点击搜索递归,然后在为维基百科中了解到了递归的基本定义。在了解到了递归实际上是和栈有关的时候,你又蒙圈了,什么是栈呢?数据结构没学清楚,此时的你只能又打开谷歌,搜索什么是栈。接下来你
阅读全文
摘要:查找算法 线性查找算法 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。 思路:如果查找到全部符合条件的值。[思路分析.] 全部代码 package com.atguigu.search; pub
阅读全文
摘要:克鲁斯卡尔算法与公交问题 应用场景-公交站问题 类似的 看一个应用场景和问题: 某城市新增7个站点(A, B, C, D, E, F, G) ,现在需要修路把7个站点连通 各个站点的距离用边线表示(权) ,比如 A – B 距离 12公里 问:如何修路保证各个站点都能连通,并且总的修建公路总里程最短
阅读全文
摘要:应用场景-修路问题 看一个应用场景和问题: 有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通 各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 最小生成树 修路问题本质就是就是最
阅读全文
摘要:kmp算法 问题描述 应用场景-字符串匹配问题 字符串匹配问题:: 有一个字符串 str1= ""硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好"",和一个子串 str2="尚硅谷你尚硅你" 现在要判断 str1 是否含有 str2, 如果存在,就返回第一次出现的位置, 如果没有,则返回-1 暴力匹
阅读全文
摘要:贪心算法与集合覆盖 应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 广播台 覆盖地区 K1 "北京", "上海", "天津" K2 "广州", "北京", "深圳" K3 "成都", "上海", "杭州" K4
阅读全文
摘要:动态规划与背包问题 应用场景-背包问题 物品 重量 价格 吉他(G) 1 1500 音响(S) 4 3000 电脑(L) 3 2000 背包问题:有一个背包,容量为4磅 , 现有如下物品 要求达到的目标为装入的背包的总价值最大,并且重量不超出 要求装入的物品不能重复 动态规划算法介绍 动态规划(Dy
阅读全文
摘要:分治与汉诺塔 分治算法 分治算法介绍 分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排
阅读全文

浙公网安备 33010602011771号