Journal article
Functional Pearl: Perfect trees and bit−reversal permutations
- Abstract:
- A famous algorithm is the Fast Fourier Transform, or FFT. An efficient iterative version of the FFT algorithm performs as a first step a bit-reversal permutation of the input list. The bit-reversal permutation swaps elements whose indices have binary representations that are the reverse of each other. Using an amortized approach this operation can be made to run in linear time on a random-access machine. An intriguing question is whether a linear-time implementation is also feasible on a pointer machine, that is in a purely functional setting. We show that the answer to this question is in the affirmative. In deriving a solution we employ several advanced programming language concepts such as nested datatypes, associated fold and unfold operators, rank-2 types, and polymorphic recursion.
Actions
Access Document
- Publisher copy:
- 10.1017/S0956796800003701
Authors
- Journal:
- JFP More from this journal
- Volume:
- 10
- Issue:
- 3
- Pages:
- 305-317
- Publication date:
- 2000-05-01
- DOI:
- UUID:
-
uuid:1994c37b-fef3-4a8b-930b-4ee29d8dca8f
- Local pid:
-
cs:1153
- Deposit date:
-
2015-03-31
- ARK identifier:
Terms of use
- Copyright date:
- 2000
If you are the owner of this record, you can report an update to it here: Report update to this record