算法
thunderHua
BUAA CS Phd Student
research on Computer Architecture
展开
-
分治法在表达式求值上的应用
表达式求值重点问题探讨先从一个无比经典的问题谈起,一、24点问题*你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。output:true/falseMethod:递归执行: (1)4选2,执行+、-、*、/之一,变为三个数字 //有4选2 有6种选法,即共4*6种情况(2)3选2,执行+、-、*、/之一,变为二个数字 ...原创 2019-07-18 23:54:03 · 243 阅读 · 0 评论 -
分治(未完~持续更新中)
分治一、分治的定义分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。二、分治的特征1.问题缩小到一定规模容易解决2.分解成的子问题是相同种类的子问题,即该问题具有最优子结构性质3.分解而成的小问题...原创 2019-07-17 00:53:17 · 1710 阅读 · 1 评论 -
表达式求值重点问题探讨
表达式求值重点问题探讨注:一、二部分是精髓也是基础,三及其后部分是一些变形和应用,希望你能从一、二部分获得经验和技巧,充分运用到后面问题的思考中。先从一个经典的问题谈起,一、24点问题*你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。output:true/falseMethod:递归执行: (1)4选2,执行+、-、*、/之...原创 2019-07-19 17:00:35 · 1290 阅读 · 2 评论 -
从账户合并看并查集的应用
从账户合并看并查集的应用一、序言上一篇博文已经系统讨论了并查集的各类问题,详情请参考https://blog.csdn.net/qq_21515253/article/details/99703065本次基于leetcode上的一个账户合并问题,我们更进一步,此问题把并查集运用的淋漓尽致,想与大家探讨下这个题目。二、题目给定一个列表 accounts,每个元素 accounts[i] 是...原创 2019-08-21 11:42:53 · 488 阅读 · 0 评论 -
图中连通块问题
图中连通块问题一、序言连通块问题是图的搜索算法中比较经典的一类问题了。判断两点是否连通、判断连通块个数等问题都是我们在图问题中经常碰到的。在这里着重讨论DFS和并查集对于求解此类问题的帮助,本文将从各种例子出发,从各个细节展示对此类问题的把握。tips:阅读本文前请对图的搜索算法(dfs和bfs)有所掌握,此部分的介绍将简略。Now,Let’s go!二、AnalysisProbl...原创 2019-08-18 11:49:19 · 2366 阅读 · 0 评论