前言
本文原本是一篇随感+笔记,被翻出来后就整理发了博客。 不曾想能上搜索头条,既如此,决定更新一下,加上必要的阐释,避免影响有需求的读者。 (我这么理解大家,如果有需要的话,是不是可以考虑点个赞或者点个关注再走呢?)
编程实现说实话,这个编程实现的话,emmmm……我其实不喜欢用Python那种太强的语言,本想用C/C++,奈何网上或者教材多用C/C++,不需要我单独写,另外是我个人用Java比较熟练一些,就用Java实现的这两种数据结构:
- 循环队列(Java)
- 链队列(Java)
勉强可以一看啦,因为其实这只是编程实现,所以不涉及分析。 分析的话以后再说吧Orz……有问题可以问我,嗯……
总结作为队列本身来说,在队首出队和队尾入队的效率都很高——O(1),因此二者可以直接比较的只有空间性能。 初始化时循环队列必须确定一个固定的长度,所以有储存元素个数的限制和浪费空间的问题; 链队列没有溢出的问题,只有当内存没有可用空间时才会出现溢出,但是每个元素都需要一个引用域,从而产生了结构性开销。