Finite Tree-Based Decoding Of Low-Density Parity-Check Codes