In order to reduce the computational complexity, an improved decoding algorithm based on a layer-wise decomposition transform is proposed for Reed-Solomon (RS) codes in this paper. Firstly, the received codewords are split into a number of sub-sequence codewords by layer-wise decomposition. The random or burst error are dispersed in different sub-sequences, narrowing search areas of the burst or random errors. Secondly, the appropriate rules are developed to determine the number of errors. To help locate the error pattern of the sub-sequence, an adaptive iterative method to solve the key equation is used according to the adjoin matrix dimension. Finally, the correct codewords are obtained by subtracting error estimation from the received sequence. The tests show that in premise of detecting all errors the order of the polynomial is reduced and the computational complexity is lowered. The rate of error correction of the proposed algorithm is higher than DFT (Discrete Fourier Transform) algorithm and BM (Berlekamp-Massey) algorithm. Especially in the tests of the two-dimensional code, error correction efficiency is improved one order of magnitude.