Skip to content

This repository contains an implementation of a Fibonacci Heap, written entirely in Java. The project includes functionalities for heap operations such as insertion, merging, decreasing key, and deletion, demonstrating advanced data structures and their efficient performance in priority queue applications.

Notifications You must be signed in to change notification settings

arbelklein/FibonacciHeap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

FibonacciHeap

Description

This repository contains a university course project that focuses on implementing a Fibonacci Heap.

Usage

  1. Import the FibonacciHeap class into your Java project.
  2. Create an instance of the Fibonacci Heap:
    FibonacciHeap heap = new FibonacciHeap();
  3. Use the available methods to interact with the heap. For example:
    heap.insert(10);
    heap.insert(20);
    System.out.println(heap.findMin()); // Outputs the minimum element

Output

The implementation does not include direct interaction or terminal output but provides return values from the methods for verification. Example outputs:

  • findMin():
    System.out.println(heap.findMin());
    // Output: HeapNode with the minimum key
  • countersRep():
    int[] ranks = heap.countersRep();
    System.out.println(Arrays.toString(ranks));
    // Output: Array of ranks of trees in the heap
  • size():
    System.out.println(heap.size());
    // Output: Number of elements in the heap

About

This repository contains an implementation of a Fibonacci Heap, written entirely in Java. The project includes functionalities for heap operations such as insertion, merging, decreasing key, and deletion, demonstrating advanced data structures and their efficient performance in priority queue applications.

Topics

Resources

Stars

Watchers

Forks

Languages