2022届秋招笔试题小结:图

2022届秋招笔试题小结:图

一、准备知识

图的相关概念:

Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,表示为G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

无向图(Undirected graphs)和有向图(Directed graphs);

连通图:在无向图G中,如果从顶点 v v v到顶点 v ′ v' v有路径,则称 v v v v ′ v' v是连通的。如果对于图中任意两个顶点 v i v_i vi v j v_j vj∈V, v i v_i vi v j v_j vj都是连通的,则称G是连通图(Connected Graph)。

二、图的遍历算法

图的遍历是指给定一个图 G G G 和其中任意一个顶点 v 0 v_0 v0,从 v 0 v_0 v0出发,沿着图中各边访遍图中所有顶点,且每个顶点仅被访问一次。

1. 深度优先搜索(DFS) 算法

vivo笔试题:游戏地图路径

华为提前批笔试题:中国象棋

给定地图上两点,判断是否可以从 src 到达 dst 。若可达,则输出最短路径,若不可达,输出 -1 。C++:DFS求最优路径

2. 广度优先搜索(BFS)算法

待续

三、最小生成树算法

1. 克鲁斯卡尔(Kruskal)算法

基本算法

2. 普里姆(Prim)算法

待续

四、最短路径

1. 迪杰斯特拉(Dijkstra)算法

基本算法

华为提前批笔试题:逛动物园
从指定点出发是否可以走完图所有节点,要求输出最长距离
此题和 LC 743 相似,但是却要求输出最长距离,因此只需要改变优先级队列的排序函数 cmp 即可,使队列元素按照权值从大到小排序。LC 743. 网络延迟时间

2. 弗洛伊德(Floyd)算法

待续

五、拓扑排序

拓扑排序通常用在用顶点表示活动的网络AOV网络),构造 AOV 网络的全部顶点的拓扑有序序列的运算就叫做拓扑排序
基本算法

vivo笔试题:编译依赖问题
这道题主要用拓扑排序的方法求解,拓扑排序部分的实现没什么问题,需要注意ACM模式下数据的输入和输出问题。拓扑排序:编译依赖问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值