![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
freewillwill
热爱新知识、新技术的文艺青年
展开
-
理解广度优先搜索
简单的例子来理解广度优先搜索广度优先搜索是一种图查找算法,简要介绍图的概念:假设你与一群朋友玩牌,并模拟谁欠谁的钱,完整的欠钱图类似下面这样:小明欠小红的钱,小红欠梅梅的钱,依次类推。图由节点和边组成,比如小明、小红…这几个圆圈就是节点,节点之间就是边,一个节点可能与众多节点直接相连,这些节点称为邻居,比如梅梅既是小红的邻居,也是李雷的邻居。广度优先搜索可以帮助回答两类问题:第一类问题...原创 2019-01-18 21:15:45 · 310 阅读 · 1 评论 -
理解Dijkstra算法
既然利用广度优先搜索算法可以从有向图中寻找到最短路径,那么如何同样能够在加权图中也找出最短路径呢?不得不谈到另一种算法——Dijkstra算法。还是先举一个简单的例子:假设你从北京出差去洛杉矶,从北京坐飞机到芝加哥需要2小时,再从芝加哥换乘到洛杉矶需要1小时。而从北京飞到纽约需要8小时,再从纽约换乘到洛杉矶需要0.5小时…如果使用广度优先搜索,将得到换乘最少的路线,比如北京——>芝加哥...原创 2019-01-19 21:19:13 · 393 阅读 · 0 评论 -
一元一次方程的解析解(基本字符串处理)
找工作投简历的时候遇到这样一道题,“如何通过基础的解析字符串的方式去求解一元一次方程,而不通过工具包或者内置函数等计算?”,即输入任意一个一元一次函数(如:"((2x+1)*3+1)+(3+2x)=5x+3+(2x+1)"等等 ),当时觉得有趣,于是想好好做一下~ 最开始的时候想直接从表达式下手,但是由于有括号对优先级的影响,使得考虑的情况实在是比较复杂,于是便想到分别利用两个栈...原创 2019-04-26 20:26:07 · 2383 阅读 · 0 评论