没有看懂缩容的判断

来源:3-7 循环队列的实现

car

2018-08-23

判断条件想不出

写回答

1回答

liuyubobobo

2018-08-24

在课程所实现的动态数组中,(参考课程代码:https://github.com/liuyubobobo/Play-with-Data-Structures/blob/master/02-Arrays/09-Amortized-Time-Complexity/src/Array.java)第103,104行是对动态数组进行缩容。


if(size == data.length / 4 && data.length / 2 != 0)    
    resize(data.length / 2);


整体逻辑是:如果当前的数据量,是整个数组容量的1/4,我们就要把整个数组容量,缩容为原来的一半。但缩容后的容量不能为零,所以我们在if中加了一个条件,整个数组容量除于二不能等于0:)


加油!:)

0
1
car
非常感谢!
2018-08-24
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程