数据结构
cainiao_Lyx
这个作者很懒,什么都没留下…
展开
-
Java实现经典括号匹配问题
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。例如:输入: “()”输出: true输入: “()[]{}”输出: true输入: “(]”输出: false输入: “([)]”输出: false输入: “{[]}”输出: true对于这个问题,我相信在学习数据结构的时候都遇到过,要求用栈的数据结构解决括号匹配的问题原创 2020-06-29 12:10:35 · 596 阅读 · 0 评论 -
基本数据结构——栈
栈——一种后入先出(LIFO)的数据结构,队列不同之处是最先入队列的元素先出队列,而栈是最后入栈的元素先出栈,相似之处是都是在末尾入栈与入队列,同样的大多数流行语言内都内置了栈库。下面是我用Java语言的内置栈库实现的基本栈操作以及查找栈中最小元素(O(n))。class MinStack { Stack<Integer> s; //初始化函数 public MinStack() { s = new Stack<>(); }原创 2020-06-28 16:07:07 · 113 阅读 · 0 评论 -
基础数据结构——循环队列
队列是一种先入先出的数据结构,就像排队买东西,队头在柜台向店员买东西,队尾不断有人来加入队列,一边出一边进。在Java中本来就有队列,也有很多数据结构可以来模拟队列但我们常用的不是简单的队列而是循环队列,我们用head队头指针来确定队头,rear队尾指针来确定队尾。循环队列长度:(rear-head+queuelength)%queuelength循环队列判断队列空:rear == head循环队列判断队列满:(rear+1)%queuelength == head下面我是我用数组模拟循环队列的原创 2020-06-15 11:14:53 · 207 阅读 · 0 评论