搜索与图论笔记

#搜索#
1.BFS最短路性质
边的权重为1时,BFS有最短路性质,DFS不具有
2.应用场景
BFS:最小步数,最短距离,最少操作几次
DFS:算法思路比较奇怪,对空间要求比较高

3.DFS回溯和剪枝
DFS,又称爆搜,搜索顺序可以看成一棵树
DFS回溯(恢复现场):每完成一次DFS之后紧接着就是恢复现场,即dfs和回溯要在一个区域块之内
DFS剪枝:提前判断当前方案是否合法,如果不合法就没必要往下搜了,字节回溯
有最优性剪枝,可行性剪枝
4.BFS一般需要用到queue

#图#
1.树是一种特殊的图,无环连通图
2.图:有向图,无向图,无向图可以看做特殊的有向图(一条无向变可以看做是两条有向边),所以我们一般考虑有向图就行了
3.有向图的存储:
(1)邻接矩阵(二维数组):空间复杂度O(n^2),比较浪费空间,使用较少,且不能体现重边,因此比较适合存贮不需要考虑重边的稠密图
(2)邻接表(单链表):空间复杂度O(n),每个点都有一个单链表,用来存贮从这个点出发可以走到那些点,插入时使用头插法,单链表的次序是无关紧要的,适合稀疏图
注意:区分顶点和顶点下标
基本上邻接表存储的都是顶点下标,而最短路径dist数组以及状态数组st,队列中的元素存储的都是顶点,不要搞混了。

4.树和图的遍历(因为数可以看做特殊的图,所以我们只考虑图就行了)
(1)DFS、BFS
(2)因为深度和宽度有限搜索只会遍历一次,所以要设置一个bool数组保存某个点有没有遍历过

5.拓扑序列
(1)图的宽度优先遍历的一个应用
(2)针对有向图,无向图没有拓扑序列概念
(3)所有的边都是从前指向后,不可能有环
(4)拓扑图:有向无环图

6.最短路
(1)源点:起点    汇点:终点
(2)稠密图:m~n^2    稀疏图:m~n    (m表示边,n表示点)
(3)考察核心:建图(把

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值