1.Min Stack
Using two stacks.
The first one is the regular stack.
The second one only store minimum numbers if a smaller number comes.
Push(x)
a. stack.push(x)
b. 如果<=minStack的最小值,那么就minStack.push(x)
Pop()
a. stack.pop()
b. 如果==minStack.top(),那么就minStack.pop()
2.Implement Queue by Two Stacks
Q.Push(x): S1-Push(x)
Q.Pop(): if S2.empty() --> S1->S2; S2.pop() Q.Top(): Similar with Q.Pop()
3.Largest Rectangle in Histogram
4.rehashing
5.Longest Consecutive Sequence
6. LRU Cache重要
当往双向链表中增加一个数时超过容量了,删除头结点,新增节点放在尾部,当访问某个数时,把他对应的节点移到尾部,头部是Least Recently Used,尾部是Most Recently Used。
7.Heapify
8.data stream median用大堆和小堆辅助
常用数据结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。