Java
-
如何实现链表这种数据结构
我们前面实现的动态数组、栈、队列,虽然说是动态数据结构,其实,其底层是依赖一个resize()方法来实现的。 而,链表其本质上是一个真正的动态数据结构。如同火车头挂接一节一节的车厢一样。 另外,跟数组比较起来,数组要求在…
-
LeetCode 905题-按奇偶排序数组
LeetCode 905题-按奇偶排序数组:给定一个非负整数的数组,返回一个数组,所有的奇数元素在后面。
-
如何用队列实现栈?LeetCode第225题
要求使用2个队列来实现一个后进先出LIFO的栈,该栈支持的方法:入栈push()、出栈pop()、查看栈顶元素top()、栈是否为空empty()。
-
如何实现一个双端队列
零双端队列性质 见名知意,就是可以在队首、队尾分别执行入队、出队操作的一种队列。 一实现思路 参照用数组实现队列的思路,我们就完全可以实现一个双端队列。因为,我们底层的动态数组已经实现了addFirst()/addLas…
-
如何实现一个支持动态扩展的循环队列
我们利用动态数组快速的实现了队列这种基础的数据结构。但是,由于底层是动态数组存储,每次出队操作(删除数组的第1个元素)导致后面所有的元素都需要向前移动一个位置,进而导致出队操作的均摊时间复杂度是O(n)。显然,这不是我们…
-
如何实现队列这种数据结构
队列依然是一种线性数据结构; 规定只能在两端操作的数据结构,不能操作中间元素; 先进先出,First In First Out;
-
栈的应用:LeetCode第20题实现括号匹配
栈这种数据结构的具体应用场景:如何判定一个给定的字符串是否包含匹配的括号,对于包含“()”、"()[]{}"、"{[]}",形式的字符串,我们认为其是一个有效的括号,成对出现。对于“(]”则认为其不是有效的括号对。具体见…
-
如何实现栈这种数据结构
如何实现栈这种数据结构?
-
搞懂了Java中的权限访问修饰符
这一次,终于搞懂了Java中的权限访问修饰符,当然这是很基础的知识。