用两个栈实现一个队列
要使用两个栈实现队列(先进先出),主要思路是
1.插入一个元素:直接将元素插入stack1即可。
2.删除一个元素:当stack2不为空时 ,直接弹出栈顶元素,当stack2为空时,将stack1元素逐个弹出并压入stack2,然后再弹出栈顶元素。
用我的话说就是两个先进后出就变成先进先出了
具体可参考 https://www.cnblogs.com/clwsec/p/11586972.html
平衡二叉树
平衡树(Balance Tree,BT) 指的是,任意节点的子树的高度差都小于等于1。常见的符合平衡树的有,B树(多路平衡搜索树)、AVL树(二叉平衡搜索树)等。
它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
具体可参考 https://www.cnblogs.com/zhangbaochong/p/5164994.html
双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。
原文:https://www.cnblogs.com/Annetree/p/13511484.html