首页 > 编程语言 > 详细

1、数组、链表、栈、队列

时间:2020-01-06 00:31:06      阅读:139      评论:0      收藏:0      [点我收藏+]

1、数组

构建简单、索引简单O(1)

需要一段连续的空间、check某元素存在与否要O(n)时间复杂度

一些问题:

https://leetcode-cn.com/problems/valid-anagram/

2、链表

灵活分配空间、增删时间复杂度O(1)、适用于数据个数不定算法中进场添加删除等

查询元素O(n)

一些问题:

https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ (K 个一组翻转链表

3、栈

后进先出(LIFO)、所有操作都在栈顶完成、可用一个单链表实现(在链表头操作)

适用于只关心上一次操作的情况

一些问题:

(有效的括号)https://leetcode-cn.com/problems/valid-parentheses/

(每日温度)  https://leetcode-cn.com/problems/daily-temperatures/

4、队列

先进先出(FIFO)、队尾加入队头删除、可用双链表实现

适用于按照一定顺序处理数据,且数据在不断变换。

广度优先搜索

双端队列

适用于实现一个长度动态变化的窗口

一些问题:

239. 滑动窗口最大值

1、数组、链表、栈、队列

原文:https://www.cnblogs.com/feihu-h/p/12154418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!