klimesf / edu

Computer science snippets for educational purposes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer science snippets for educational purposes

This repository contains code snippets implementing computer-science concepts which are meant for educational purposes.

Binary min heap implementation

This package contains binary min heap implementation backed by primitive integer array.

These are the results of benchmark vs java.util.PriorityQueue<Integer>. First, we added 10M random numbers and then polled them. The test was carried out in 10 iterations. The PriorityQueue requires a warm-up and then exhibits similar performance. However, the poll operation is much slower. The times are calculated as a mean over all iterations with standard deviation. You can check out the benchmark implementation.

BinaryMinHeap#push: 492.062327ms +/- 66.602692ms
PriorityQueue<Integer>#add: 971.143220ms +/- 960.383883ms

BinaryMinHeap#pop: 2852.478666ms +/- 62.338150ms
PriorityQueue<Integer>#poll: 12725.931642ms +/- 142.818597ms

About

Computer science snippets for educational purposes


Languages

Language:Java 100.0%