Group 2 Exposé Dsa
Group 2 Exposé Dsa
Peace-Work-Fatherland Paix-Travail-Patrie
MINISTRY OF HIGHER EDUCATION MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
THE UNIVERSITY OF BAMENDA UNIVERSITE DE BAMENDA
FACULTY OF SCIENCE FACULTE DES SCIENCES
P.O. Box 39 Bambili P.B. 39 Bambili
Tel/Fax: (237) 233 366 040 Tel/Fax: (237) 233 366 040
Max-Heap − Where the value of the root node is greater than or equal to either of its children.
Recall:
Definition (Binary Heap): A binary heap is a complete binary tree where each parent node is
either greater than or less than its child nodes. Two types of Binary trees exist which are the max
heap and min heap.
Definition (Complete Binary tree): A binary tree is complete if every level, except maybe the
last is completely filled and all the leaf nodes are placed as far to the left as possible.
Definition (Binomial Heap): A binomial heap is similar to a binary tree and is a collection of
binary trees used for priority queuing but has the advantage for insertion and merging.
Similar to the Binomial Heap, the Fibonacci Heap can also satisfy the standard priority-ordering
property
Definition (Fibonacci Heap)
A Fibonacci heap is a data structure used for priority-queuing consisting of a collection of min-
heap-ordered trees with each tree having its own root node. The roots of these trees are linked
together using a circular doubly-linked list, often referred to as the “root list”
Question: What makes Fibonacci particularly an efficient data structure to other data structure?
Answer: Fibonacci heaps have a flexible tree structure which allows them to adapt to different
scenarios which enables them to achieve better time complexities.
Fibonacci heaps and be merged and inserted very fast with merging in O(1) time and insertion by
merging the existing heap with a new heap consisting only of the new node resulting in an O(n)
time complexity for creating a heap from scratch.
8.10 COMPARING HEAP TIME COMPLEXES
When it comes to heaps, time complexity matters. Heaps are data structures that allow for
efficient sorting and prioritization. There are three main types of heaps: Binary, Binomial, and
Fibonacci. Each has its own strengths and weaknesses.
Main Procedures
The key operations that affect time complexity are:
1. Insert: Adding a new element to the heap.
2. Delete: Removing an element from the heap.
3. Merge: Combining two or more heaps into a single heap.
4. Heapify Up Priority: Rearranging the heap to maintain the heap property after an element's
priority is increased.
Key Takeaways
- Binomial and Fibonacci heaps offer better time complexity than Binary heaps for certain
operations.
- The choice of heap depends on the specific application and requirements.
- Fibonacci heaps are particularly useful in practice, as they're used in efficient algorithms like
Dijkstra's and Prim's.
References:
1. Advance data structure by Shahin kamali, York university.
2. Binomial heaps by Vuillimen.
3. Tutorialspoint.