|
|
|
|
|
by kccqzy
2483 days ago
|
|
In C++ the std::vector type handles this by doubling the capacity when full. I think this approach also works for this data structure. When the capacity has been reached simply double the capacity and rebuild from scratch. Perhaps quadruple because then each double-ended queue would double in size, avoiding that pesky sqrt(2). The amortized time should be the same. |
|
Of course, the growth factor is implementation-dependent and I believe some compilers use smaller growth factors to improve performance.