标签:复杂度 编写 offer 结构 栈与队列 移动 The poll 疑惑
栈的首要作用是颠倒顺序,队列的首要作用是保持顺序
首先,数组实现的操作选择使得效率很低:因为用数组实现队列的策略是假定队列的首元素总是存储在数组的索引0处,而队列操作会修改集合的两端,则会要求移动元素,那么操作的复杂度为O(n);因此,用固定数组来实现队列效率不高
所以,为了除去元素移位的需要,可以引入环形数组
环形队列:内存上没有环形的结构,实际上是数组的线性空间来实现。
那么就存在一个问题:当数据达到了数组的尾部怎么办?如何判断达到了尾部?
【参考资料】环形队列实现原理
【参考资料】
错题1:
错题1解析:
错题2:
错题2解析:
错题3:
错题3解析:
错题4:
错题4解析:
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 4/4 | |
第二周 | 560/560 | 1/2 | 6/10 |
20172308《Java软件结构与数据结构》第三周学习总结
标签:复杂度 编写 offer 结构 栈与队列 移动 The poll 疑惑
原文地址:https://www.cnblogs.com/zhouyajie/p/9699422.html