Skip to content

mariateodorapopescu/functional-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Haskell Binomial Heap

This project is a journey into the application of functional mechanisms, types, and lazy evaluation, offering you a hands-on experience in building a priority queue.

Objectives

  • Apply functional programming mechanisms, including types and lazy evaluation in Haskell.
  • Delve into the efficiency of data structures in a functional paradigm.

Overview

This project unfolds in three stages, each building on the knowledge gained in the previous weeks. From binary numbers to binomial heaps, you'll discover the beauty of functional solutions.

Stage 1: Binary Numbers

Get ready by tackling operations on binary numbers. The BinaryNumber module introduces concepts like converting between binary and decimal, incrementing, decrementing, and multiplying binary numbers.

Stage 2: Binomial Heaps

In this stage, immerse yourself in the world of binomial trees and heaps. Discover how to efficiently implement a priority queue using binomial heaps. From inserting elements to finding the minimum priority and merging heaps, this stage will sharpen your functional programming skills.

Getting Started

  1. Stage 1: Navigate to the BinaryNumber module, complete the TODOs, and run tests using TestBinaryNumber.

  2. Stage 2: Head to the BinomialHeap module, tackle the TODOs, and test your implementations using TestBinomialHeap.

About

This compact yet robust implementation explores the utilization of data structures in the context of functional programming, specifically within Haskell.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors