Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
439093 | Theoretical Computer Science | 2009 | 14 Pages |
We investigate the problem of reliable computation in the presence of faults that may arbitrarily corrupt memory locations. In this framework, we consider the problems of sorting and searching in optimal time while tolerating the largest possible number of memory faults. In particular, we design an O(nlogn) time sorting algorithm that can optimally tolerate up to memory faults. In the special case of integer sorting, we present an algorithm with linear expected running time that can tolerate faults. We also present a randomized searching algorithm that can optimally tolerate up to O(logn) memory faults in O(logn) expected time, and an almost optimal deterministic searching algorithm that can tolerate O((logn)1−ϵ) faults, for any small positive constant ϵ, in O(logn) worst-case time. All these results improve over previous bounds.