栈和递归的紧密关系

二叉树中的算法

前序遍历:Binary Tree Preorder Traversal (#144)

中序遍历:Binary Tree Inorder Traversal (#94)

后序遍历:Binary Tree Postorder Traversal (#145)

  • 递归算法

  • 非递归算法

具体实现:

见代码

队列

队列的基本应用 - 广度优先遍历

- 树:层次遍历

- 图:无权图的最短路径

BFS 和图的最短路径

优先队列

优先队列的底层实现:堆

使用优先队列解决算法问题

面试实战

  • Valid Parentheses(#20) 思想:栈

  • Binary Tree Level Order Traversal(#102) 思想:队列

  • Perfect Squares(#279)

  • Top K Frequent Elements(#347) 思想:优先队列

程序

具体实现:

见代码。