本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。