
算法
零度苏打
有彩虹
展开
-
BFS和DFS
BFS 广度优先搜索:顾名思义,广度优先搜索的思想在于从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,比如树的层序遍历就是BFS的一种 对于下图,从A开始遍历 图的存储: graph={ "A":["B","C"], "B":["A","C","D"], "C":["A","B","D","E"], "D":["B","C","E","F"], "E":["C","D"], "F":["D"] } 对于点A,下一个可以读B也可读C,所以说BFS所得结果是不唯一的。且对于A,读到下一个节点后就可以丢原创 2020-05-24 22:14:19 · 212 阅读 · 0 评论 -
回顾动态规划
对于动态规划,一直感觉会了,但又不怎么会,难点的题也做不到自己完成,今天再总结一下: 首先动态规划到底是干啥的? 现在想来,应该是用数组记录递归中的结果【第一次接触动态规划就是斐波那契了吧 然后动态规划要做到每次选最佳方案【OPT】 怎么得到这个OPT呢? 对于下一个数,我们可以选择、也可以不选,如果选择,那么OPT就是前一个不冲突的OPT+这个数;如果不选,那么OPT不会变,还是之前的OPT。这里举个栗子: 对一数组{1,2,4,1,7,8,3},选择不相邻的数,使其相加所得和最大 计算OPT(i):原创 2020-05-17 18:24:50 · 176 阅读 · 0 评论 -
动态规划及练习
理解 动态规划是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术 在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,供后面使用这些结果 动态规划具备了以下三个特点 把原来的问题分解成了几个相似的子问题 所有的子问题都只需要解决一次 储存子问题的解 动态规划的本质,是对问题状态的定义和状态转移方程的定义(状态以及状态之间的递推关系) 动态规划问题一般从以下四个角度考虑...原创 2020-04-13 14:19:40 · 264 阅读 · 0 评论