数据结构和算法以及leetcode002 整理
2018-01-30 22:50
274 查看
第二章:栈和队列
今天要复习的内容是栈和队列,栈是一种常见的数据结构,栈的基本特征是先进后出,相当于大家一起排队走进死胡同。栈的实现可以是数组的形式,也可以是链表的形式,但是作为主要的数据结构C++中已经封装成了stack(因此作为主要的数据结构没有必要再去手动实现了),这里对C++中栈的主要成员函数进行总结;
队列是另外一种常见的线性数据结构,队列不同于栈,栈是先进后出,而队列是先进先出,队列的实现方式也可以是数组,也可以链表实现,队列在队尾入队,在队头出队,C++用数组实现了一个队列即queue,这里同样对其成员方法进行总结
今天要复习的内容是栈和队列,栈是一种常见的数据结构,栈的基本特征是先进后出,相当于大家一起排队走进死胡同。栈的实现可以是数组的形式,也可以是链表的形式,但是作为主要的数据结构C++中已经封装成了stack(因此作为主要的数据结构没有必要再去手动实现了),这里对C++中栈的主要成员函数进行总结;
stack<int> s{...};//通过列表初始化栈 s.empty();//判断栈是否为空 s.push();//元素入栈 s.pop();//元素出栈 s.top();//返回栈顶元素 s.size();//判断栈中的元素数目栈的主要应用,括号匹配,后缀表达式的计算,模拟递归(经典的算法如二叉树的前序,中序,后续遍历等)在后续的leetcode中会有具体的例子详细介绍;
队列是另外一种常见的线性数据结构,队列不同于栈,栈是先进后出,而队列是先进先出,队列的实现方式也可以是数组,也可以链表实现,队列在队尾入队,在队头出队,C++用数组实现了一个队列即queue,这里同样对其成员方法进行总结
queue<int> d; d.empty();//判断队列是否是空 d.push();//元素从队尾入队 d.pop();//元素从对头出队 d.front();//返回队首元素 d.back();//返回队尾元素 d.size();//返回队列中元素的数量队列应用在leetcode中也有不少题目,再后面一一介绍;
相关文章推荐
- 数据结构和算法 以及leetcode整理
- [整理III]微软等数据结构+算法面试100题[最新第61-80题]
- 数据结构和算法绪论笔记整理
- 常用数据结构以及算法的简单介绍
- c语言实现赫夫曼树的构建以及生成赫夫曼编码(《数据结构》算法6.12)
- C/C++经典算法精华整理(3)-实现栈的数据结构
- java进阶-常用数据结构以及算法思想
- 另类的链表数据结构以及算法
- 高手收集整理的baidu分词算法分析之一 查询处理以及分词技术(1)
- 面试复习重点 算法 数据结构 【山科大牛陈磊整理】
- [整理III]微软等数据结构+算法面试100题[最新第61-80题]
- iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t-二
- 常用的数据结构以及算法
- 程序员需要知道的10个算法和数据结构,以及应该做的150道题(持续补充)
- 整理常见的数据结构和算法知识点
- [整理III]微软等数据结构+算法面试100题[最新第61-80题]
- 常用的数据结构以及算法
- 算法整理篇之:数据结构(0)
- 数据结构与算法整理
- 数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点