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 n events. This implementation in v2 is borrowed from the MaRS-2.0 simulator [#!Alae94:Design!#]; it is believed that MaRS itself borrowed the code from NetSim [#!Heyb89:Netsim!#], although this lineage has not been completely verified.