From 309e100b5d4200bec36d08e4882d62a80df262e6 Mon Sep 17 00:00:00 2001 From: cathook Date: Sun, 20 Apr 2014 00:31:50 +0800 Subject: zzz --- meowpp/dsa/Heaps.h | 90 ------------------------------------------------------ 1 file changed, 90 deletions(-) delete mode 100644 meowpp/dsa/Heaps.h diff --git a/meowpp/dsa/Heaps.h b/meowpp/dsa/Heaps.h deleted file mode 100644 index 1e47afd..0000000 --- a/meowpp/dsa/Heaps.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef Heap_H__ -#define Heap_H__ - -#include - -namespace meow{ - template - class MergeableHeap{ // maximum-heap - private: - struct Node{ - Element value; - Node* l_child; - Node* r_child; - size_t weight; - Node(Element const& _value); - }; - // - Node* root; - // - void clear(Node* _node ); - Node* dup (Node* _node2 ); - Node* merge(Node* _left, Node* _right); - public: - MergeableHeap(); - MergeableHeap(MergeableHeap const& _heap2); - // - ~MergeableHeap(); - // - MergeableHeap& operator=(MergeableHeap const& _heap2); - void moveTo(MergeableHeap* _heap2); - // - Element const& top () const; - size_t size () const; - size_t empty() const; - // - void push (Element const& _value); - void pop ( ); - void clear( ); - void merge(MergeableHeap* _heap2); - }; - - /********************************************************* - @asciidoc - === meow:: *MergeableHeap* (C++ class) - .Description - MergeableHeap is a kind of maximum-heap with a special method `merge`, - which will merge another MergeableHeap into itself in O(logN) time. - - .Template Request - * `Key` should has `operator<` - - .Support methods - * N <- number of elements in the heap - * M <- number of elements in the other heap if need - [options="header",width="100%",cols="1>,1data to the heap specified in parameters - |const|top | () | Element | O(1) - | Return the maximum element in the heap. - |const|size | () | size_t | O(1) - | Return the number of elements in the heap. - |const|empty| () | bool | O(1) - | Return whether the heap is empty or not. - ||push |(Element) |void | O(log N) - | Add a element into the heap - ||pop |() |void | O(log N) - | Delete the maximum element from the heap - ||merge |(MergeableHeap*) |void | O(log M) - | Merge the specified MergeableHeap(with size=M) into itself - ||clear |() |void | O(N) - | Delete all elements from the heap - |======================================================================= - -WARNING: Consider there are two MergeableHeap `A` and `B`. + -`B` will become empty after you call `A.merge(&B)`. + -The data in `B` will override by data in `A` and `A` will become empty after -you call `A.moveTo(&B)` - -''' -@asciidoc- - *********************************************************/ -} - -#include "MergeableHeap.hpp" - -#endif // Heap_H__ -- cgit v1.2.3