Конечно, большинство реализаций Scheme (или, может быть, в спецификациях?) Имеют хеш-таблицы, которые используют в основном один и тот же API; но это непрозрачно, когда вы запрашиваете alist, вы получаете список пар, если вам нужна хеш-таблица, попросите ее.
при этом важно помнить, что линейные алгоритмы не медленны; они «не масштабируются». для небольшого числа элементов они превзойдут более сложный «умный» алгоритм. насколько большое «n» должно быть, во многом зависит от алгоритма, и быстрые процессоры с большими кэшами, но с медленной оперативной памятью, продолжают настаивать. Кроме того, тяжелые оптимизирующие компиляторы (подобные имеющимся на некоторых Лиспах) генерируют очень строгий линейный код.