本文简要介绍rust语言中 std::collections::BinaryHeap.push
的用法。
用法
pub fn push(&mut self, item: T)
将项目推送到二进制堆上。
例子
基本用法:
use std::collections::BinaryHeap;
let mut heap = BinaryHeap::new();
heap.push(3);
heap.push(5);
heap.push(1);
assert_eq!(heap.len(), 3);
assert_eq!(heap.peek(), Some(&5));
时间复杂度
预计成本为push
,对被推送的元素的每个可能的顺序以及足够多的推送次数进行平均,是O(1).当推送元素时,这是最有意义的成本指标不是已经处于任何排序模式中。
如果元素以升序为主,则时间复杂度会降低。在最坏的情况下,元素按升序推送,每次推送的摊销成本是 O(log(n)) 对包含 n 个元素的堆。
最坏情况下的成本单身的拨电至push
是O(n)。最坏的情况发生在容量耗尽并需要调整大小时。调整大小的成本已在之前的数字中摊销。
相关用法
- Rust BinaryHeap.pop用法及代码示例
- Rust BinaryHeap.peek_mut用法及代码示例
- Rust BinaryHeap.peek用法及代码示例
- Rust BinaryHeap.capacity用法及代码示例
- Rust BinaryHeap.clear用法及代码示例
- Rust BinaryHeap.new用法及代码示例
- Rust BinaryHeap.retain用法及代码示例
- Rust BinaryHeap.reserve_exact用法及代码示例
- Rust BinaryHeap.as_slice用法及代码示例
- Rust BinaryHeap.drain用法及代码示例
- Rust BinaryHeap.reserve用法及代码示例
- Rust BinaryHeap.len用法及代码示例
- Rust BinaryHeap.append用法及代码示例
- Rust BinaryHeap.drain_sorted用法及代码示例
- Rust BinaryHeap.iter用法及代码示例
- Rust BinaryHeap.shrink_to_fit用法及代码示例
- Rust BinaryHeap.into_iter_sorted用法及代码示例
- Rust BinaryHeap.into_sorted_vec用法及代码示例
- Rust BinaryHeap.with_capacity用法及代码示例
- Rust BinaryHeap.into_vec用法及代码示例
- Rust BinaryHeap.shrink_to用法及代码示例
- Rust BinaryHeap.is_empty用法及代码示例
- Rust BinaryHeap用法及代码示例
- Rust Binary用法及代码示例
- Rust BitXor用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::collections::BinaryHeap.push。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。