数据结构
Leon-Zheng
未来已来
展开
-
Java 使用链表来实现队列功能
/** * 链表元素定义 * Create by zxb on 2017/8/27 */public class Element { private Element next; private T value; public Element getNext() { return next; } public void setN原创 2017-08-28 00:40:17 · 2399 阅读 · 0 评论 -
Java 合并两个链表,得到一个新的链表
如题:合并两个链表,得到一个新的链表 a = 1->2->3->4 和 b = 2->3->5 合并为 c = 1->2->3->4->5,另外只能返回结果c,不能修改a,b两个链表的数据。链表元素定义/** * 链表元素定义 * Create by zxb on 2017/8/27 */public class Element { private Eleme原创 2017-09-13 21:02:53 · 825 阅读 · 0 评论 -
Java 用两个队列实现一个栈,要求top()的时间复杂度为O(1)
如题:用两个队列实现一个栈,要求top()的时间复杂度为O(1),这就要求top元素不是每次去遍历获取到,而是由一个变量存储。2个队列实现栈的关键点在用队列虽然是先进先出,栈是先进后出,但是2个队列,可以把一个队列的元素都弹出到另一个队列,剩下最后一个元素就是栈顶元素。栈接口:/** * Create by zxb on 2017/9/3 */public interface原创 2017-09-13 21:13:51 · 1744 阅读 · 0 评论 -
Java 实现最大堆
最大堆的特点是父元素比子元素大,并且是一棵完全二叉树。堆接口:/** * Create by zxb on 2017/9/10 */public interface IHeap> { void display(); void initOriginList(List orginList); void makeHeap(int first, int last原创 2017-09-13 21:20:29 · 3615 阅读 · 1 评论