3.栈和队列&搜索算法(bfs)
3.1栈
栈,即后进先出的线性数据结构。笔试题中可以直接调用stl中的stack。
可以用栈解决的问题:括号匹配问题、表达式求值问题等。
3.2队列
队列,即先进先出的线性数据结构。笔试题中可以直接调用stl中的queue。
队列最典型的应用:广度优先搜索(bfs)
3.3广度优先搜索
类似二叉树的层序遍历。一般用来解决单源或多源最短路问题,也可以解决连通块问题(这点同dfs,但dfs解决不了最短路)
图的bfs代码示
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
算法笔面试宝典 文章被收录于专栏
算法笔面试真题解析