Немного реализаций всяких штук на питоне:

Как всегда, много не pythonic кода, так что читайте критически. Хотя если вместо списков использовать numpy.array или array.array, всё станет гораздо лучше. Вы же в курсе, что в стандартной библиотеке питона есть массивы, да?