|
97 | 97 | //!
|
98 | 98 | //! ## Sequences
|
99 | 99 | //!
|
100 |
| -//! | | get(i) | insert(i) | remove(i) | append | split_off(i) | |
101 |
| -//! |----------------|----------------|-----------------|----------------|--------|----------------| |
102 |
| -//! | [`Vec`] | O(1) | O(n-i)* | O(n-i) | O(m)* | O(n-i) | |
103 |
| -//! | [`VecDeque`] | O(1) | O(min(i, n-i))* | O(min(i, n-i)) | O(m)* | O(min(i, n-i)) | |
104 |
| -//! | [`LinkedList`] | O(min(i, n-i)) | O(min(i, n-i)) | O(min(i, n-i)) | O(1) | O(min(i, n-i)) | |
| 100 | +//! | | get(i) | insert(i) | remove(i) | append | split_off(i) | |
| 101 | +//! |----------------|------------------------|-------------------------|------------------------|-----------|------------------------| |
| 102 | +//! | [`Vec`] | *O*(1) | *O*(*n*-*i*)* | *O*(*n*-*i*) | *O*(*m*)* | *O*(*n*-*i*) | |
| 103 | +//! | [`VecDeque`] | *O*(1) | *O*(min(*i*, *n*-*i*))* | *O*(min(*i*, *n*-*i*)) | *O*(*m*)* | *O*(min(*i*, *n*-*i*)) | |
| 104 | +//! | [`LinkedList`] | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(1) | *O*(min(*i*, *n*-*i*)) | |
105 | 105 | //!
|
106 | 106 | //! Note that where ties occur, [`Vec`] is generally going to be faster than [`VecDeque`], and
|
107 | 107 | //! [`VecDeque`] is generally going to be faster than [`LinkedList`].
|
|
110 | 110 | //!
|
111 | 111 | //! For Sets, all operations have the cost of the equivalent Map operation.
|
112 | 112 | //!
|
113 |
| -//! | | get | insert | remove | range | append | |
114 |
| -//! |--------------|-----------|-----------|-----------|-----------|--------| |
115 |
| -//! | [`HashMap`] | O(1)~ | O(1)~* | O(1)~ | N/A | N/A | |
116 |
| -//! | [`BTreeMap`] | O(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) | O(n+m) | |
| 113 | +//! | | get | insert | remove | range | append | |
| 114 | +//! |--------------|---------------|---------------|---------------|---------------|--------------| |
| 115 | +//! | [`HashMap`] | *O*(1)~ | *O*(1)~* | *O*(1)~ | N/A | N/A | |
| 116 | +//! | [`BTreeMap`] | *O*(log(*n*)) | *O*(log(*n*)) | *O*(log(*n*)) | *O*(log(*n*)) | *O*(*n*+*m*) | |
117 | 117 | //!
|
118 | 118 | //! # Correct and Efficient Usage of Collections
|
119 | 119 | //!
|
|
0 commit comments