写点什么

栈和队列

0 人感兴趣 · 6 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/e6/e6e53d5dd89351f7d17019a1e106f349.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【数据结构与算法】粽子树?二叉树 _ 关于堆你不知道的事情

用户头像
Dream-Y.ocean
2022-09-27

前情提要 本章节是数据结构的堆的相关知识~ 接下来我们即将进入一个全新的空间,对代码有一个全新的视角~ 以下的内容一定会让你对数据结构有一个颠覆性的认识哦!!! ❗以下内容以C语言的方式实现,对于数据结构来说最重要的是思想哦❗

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 23. Merge k Sorted Lists 合并 K 个升序链表 (困难)

用户头像
okokabcd
2022-08-11

取每个Linked List的最小节点放入一个heap中,排成最小堆,然后取出堆顶最小的元素放入合并的List中,然后将该节点在其对应的List中的下一个节点插入到heap中,循环上面步骤。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 739. Daily Temperatures 每日温度 (中等)

用户头像
okokabcd
2022-08-10

什么是单调栈?单调栈通过维持栈内值的单调递增(递减)性,在整体O(n)的时间内处理需要大小比较的问题。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 20. Valid Parentheses 有效的括号 (中等)

用户头像
okokabcd
2022-08-09

思路:括号匹配是典型的使用栈来解决的问题。从左向右遍历,每当遇到左括号便放入栈内,遇到右括号则判断其和栈顶的括号是否是统一类型,是则从栈内取出左括号,否则说明字符不串不合法。

https://static001.geekbang.org/infoq/b5/b50ea2c1f59159d0a4ce9fd5b352c324.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 155. Min Stack 最小栈 (中等)

用户头像
okokabcd
2022-08-08

可以额外建立一个栈(最小值栈),栈顶表示原栈中最小值。插入一个数字时,如果该值小于新栈的栈顶值说明该数是最小值,将其同时插入原栈和最小值栈。取数时,如果原栈的值等于最小值栈的值,说明这个数是原栈中的最小值,原栈和最小值栈需要同时移除该元素。

https://static001.geekbang.org/infoq/97/979925dab98fef73e45f02994cc566a1.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

leetcode 232. Implement Queue using Stacks 用栈实现队列 (简单)

用户头像
okokabcd
2022-08-07

用两个栈来实现一个队列:因为需要得到先入先出的结果,所以必定要通过一个额外栈翻一次数组。这个翻转过程既可以在插入时完成,也可以在取值时完成。

栈和队列_栈和队列技术文章_InfoQ写作社区