Рискну предложить революционный алгоритм поиска нужной вещи в куче:
Для начала необходимо разделить кучу на две подкучи =)
Искать стоит начинать с левой подкучи. Если искомое не найдено, то столкнуть кучу на пол и разделить вторую подкучу опять на 2 подкучи. Искать стоит в левой подкучи... и т.д. =)
Тогда уж бинарный поиск:
разделить кучу на две подкучи,
левую подкучу разедиль на две под-подкучи
левую под-подкучу разделить на две под-под-подкучи
....
когда в под-...-подкуче останется один предмет - сравнить с искомым и т.д :)
Вообщем почти все про меня, с несколькими оговорками:
всегда с краю кучи: калькулятор (я на нем деньги считаю ;) ),
всегда на колонке: блокнот,
приклеен к низу стола на липучке: держатель ручки на веревочке.
Тут говорят про блокноты, ручки, калькуляторы.. если перед вами компьютер, то наверно можно в принципе обойтись без подобных вещей) И соответственно уменьшить размер кучи.
Хотя сам признаюсь, что без блокнота все таки не могу обойтись.
Организация рабочего стола методом кучи