【算法】【总纲】一步一步通关PAT甲级

PAT甲级官网
注:在牛客网刷10道题或者官网上签到,可省50元报名费。

了解到目前疫情期间,浙江各个学校进行疫情管理,大家最好提前了解清楚。

感悟

刷过PAT后,最大的感触就是细心、细心、再细心。
PAT甲级到底还是一场测验,而不是比赛,所以上面的题目在你掌握知识点之后都变得不是那么难。
甚至可以从1小时一道题,缩减到10~20分钟一道,思路理顺的话,1小时交卷是一点问题没有。
但是,被一些小细节卡住的话,3小时可能都不够用,所以在日常的练习中,细心!细心!细心!
养成习惯后,会对后面的考试有很大帮助。
大家如果遇到不懂的题目,可以翻看下面题解。

然后有些同学遇到不懂的题,总是会习惯性的查看答案,看懂了之后,下次遇到还是不会做。
这里给支个招,查看答案是可以的,但是查看之后,请将题目抄写一遍,不看答案再写一遍。
只要做到这些,相信大家大家都能取到很好的成绩。共勉~

前言

PAT题官网总共有155题,其中不是每道题都有刷的价值。在描述题型的时候,我会给出一个推荐星数(无<经典<1星<2星<3星),如果时间比较急的话,可以优先刷高星的题目(高星的题目要么很有营养(难),要么常考题)。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dijkstra算法是一种用于解决单源最短路径问题的经典算法。下面是Dijkstra算法的代码,我会逐步解释每一步的细节。 ```python def dijkstra(graph, start): # 初始化距离字典,用于存储起始节点到其他节点的最短距离 distances = {node: float('inf') for node in graph} distances[start] = 0 # 起始节点到自身的距离为0 # 初始化已访问节点集合,用于存储已找到最短路径的节点 visited = set() while len(visited) < len(graph): # 在未访问节点中找到距离起始节点最近的节点 current_node = min((node for node in graph if node not in visited), key=lambda n: distances[n]) # 将当前节点标记为已访问 visited.add(current_node) # 更新与当前节点相邻节点的最短距离 for neighbor in graph[current_node]: distance = distances[current_node] + graph[current_node][neighbor] if distance < distances[neighbor]: distances[neighbor] = distance return distances ``` 现在我们来逐步解释每一步的细节: 1. 首先,我们定义了一个`dijkstra`函数,该函数接受一个图和一个起始节点作为输入,并返回从起始节点到其他节点的最短距离。 2. 我们初始化了一个距离字典`distances`,其中每个节点的初始距离被设置为无穷大(`float('inf')`),表示起始节点到其他节点的距离尚未确定。 3. 将起始节点的距离设置为0,因为起始节点到自身的距离为0。 4. 我们初始化了一个已访问节点集合`visited`,用于存储已找到最短路径的节点。 5. 进入主循环,当已访问节点的数量小于图中的节点数量时,继续执行以下步骤。 6. 在未访问节点中找到距离起始节点最近的节点。这里我们使用了一个lambda函数作为key函数,在未访问节点中选择具有最小距离的节点。 7. 将当前节点标记为已访问,将其添加到已访问节点集合中。 8. 更新与当前节点相邻节点的最短距离。对于每个相邻节点,计算经过当前节点到达该相邻节点的距离。如果该距离小于当前记录的最短距离,则更新最短距离。 9. 循环结束后,返回距离字典`distances`,其中包含了从起始节点到其他节点的最短距离。 这就是Dijkstra算法代码每一步的详细解释。希望能够帮助到你!如果有任何疑问,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值