The heap scheduler (Scheduler/Heap../ns-2/scheduler.cc) implements the scheduler using a heap structure. This structure is superior to the list structure for a large number of events, as insertion and deletion times are in for events. This implementation in ns v2 is borrowed from the MaRS-2.0 simulator [1]; it is believed that MaRS itself borrowed the code from NetSim [14], although this lineage has not been completely verified.