當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust BinaryHeap.push用法及代碼示例


本文簡要介紹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 個元素的堆。

最壞情況下的成本單身的撥電至pushO(n)。最壞的情況發生在容量耗盡並需要調整大小時。調整大小的成本已在之前的數字中攤銷。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::collections::BinaryHeap.push。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。