1.隊列(queue)
隊列是先進(jìn)先出的,在這里利用collections模塊中的deque函數(shù)炮姨,只需要使用deque的兩個方法(.popleft()峰鄙,.append)便可以快速的實(shí)現(xiàn)先進(jìn)先出辉巡。
2.棧(stack)
棧是后進(jìn)先出的殊者,同樣使用deque()函數(shù)与境,非常簡單。
3.二叉樹的遍歷
二叉樹有三個屬性幽污,根節(jié)點(diǎn)嚷辅,左子樹,右子樹距误。只需要一個遞歸方法簸搞,問題便迎刃而解。
定義二叉樹
先序遍歷
中序遍歷
對于中序遍歷來書只需要把? [root.val]放在中間,后序遍歷以此類推准潭。
4.堆(heap)
最小堆問題(min_heap)
我們知道利用最小堆可以解決求一堆數(shù)里面的最大的k個數(shù)趁俊,簡稱topk問題。
代碼實(shí)現(xiàn)的具體思路我將會在程序中注釋出來: