207.课程表(力扣leetcode) 博主可答疑该问题

一、笔记部分

 

思路:

1.一个需要前置的题目,所以去找前面的课程要求,直到找到前面相同的。深度搜索与广度搜索都可以,上一个用的是广度搜索,那么这次用深度搜索。 比如A需要B课程为基础,那么B肯定是在A的前面。

进行搜索的时候一定要确定状态有几种。访问过此点,没有访问过此点。

2.其中还需要判断是否符合总课程数。所以需要计算出个数。

3.因为dfs都要另外函数,所以不能用直接传入的数组,因为这个数组在dfs函数里不起作用,所以需要在外部设置一个二维数组。

所以深度优先搜索要把三件套都设置在外面。

 

 

 

1.深度优先搜索的三件套:1.新建数组  2.访问标记   3.有效结果

2.先把新建数组的框架搞起来

3.将每个基础的课延伸课压入

4.每个课作为基础课,开一直深度搜索

5.其中一个基础课进入dfs递归

6.判断是否为环

7.如果无效了直接返回即可了,节约时间。

8.当前这个基础课没有环,那么重置状态,下一个课来搜索这个课是可以被访问的。

 

二、图类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/113449001

 

三、各种类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112556249

 

四、如有疑问可加QQ群讨论:725936761 博主免费答疑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值