摘要: 如何仅用栈结构实现队列结构? 解:准备两个栈,一个stackIn 一个stackOut,stackIn用来接收入队的元素,stackOut用来进行出队列的操作,当stackOut为空时,从stackIn处弹入(全部)即可 如何仅用队列结构实现栈结构? 解:准备两个队列Queue<Integer> q 阅读全文
posted @ 2018-04-05 17:15 SkyeAngel 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 用数组结构实现大小固定的栈 (较简单) 栈是先进后出 用数组结构实现大小固定的队列 (较复杂) 队列是先进先出 注意:不要试图使用head和tail两个指针之间的关系进行判断,很复杂 head和tail分别从头开始,触底就从头开始, 只利用它们与size之间的关系,size==0时,出队列poll( 阅读全文
posted @ 2018-04-05 17:13 SkyeAngel 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 实现一个特殊的栈, 在实现栈的基本功能的基础上, 再实现返回栈中最小元素的操作。【要求】1. pop、 push、 getMin操作的时间复杂度都是O(1)。2. 设计的栈类型可以使用现成的栈结构。 包含min函数的栈 自已以前的思路就是,每次getMin()函数时,就准备一个备用栈,将数据栈中的元 阅读全文
posted @ 2018-04-05 16:20 SkyeAngel 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 非基于比较的排序 时间复杂度O(N),空间复杂度O(N) 稳定的排序 给定一个数组, 求如果排序之后, 相邻两数的最大差值, 要求时间复杂度O(N), 且要求不能用非基于比较的排序 阅读全文
posted @ 2018-04-05 15:56 SkyeAngel 阅读(115) 评论(0) 推荐(0) 编辑