Toán rời rạc là một lĩnh vực của toán học nghiên cứu các đối tượng rời ta sẽ sử dụng công cụ rời rạc khi phải đếm các đối tượng, khi nghiên cứu quan hệ giữa các tập rời rạc, khi phân tích các quá trình hữu thời tầm quan trọng của toán rời rạc được nâng cao là nhờ việc cất giữ và xử lý thông tin trên máy tính có bản chất là các quá trình rời quá trình rời rạc ấy được xử lý và biểu diễn thông qua các chương trình, các thuật toán cụ nói đến các. | Vậy để khắc phục hạn chế đó người ta nói đến khử đệ quy. Khử đệ quy ở đây có nghĩa là biến một thủ tục đệ quy thành một thủ tục chỉ chứa vòng lặp mà không ảnh hưởng gì đến các yếu tố khác, chứ không phải là thay đổi thuật toán. Ví dụ như trong các hàm đệ quy tính n! và số Fibonaci F(n) ta có thể thay bằng một vòng lặp để tính. Trong trường hợp tổng quát, khử đệ quy là một việc làm khá phức tạp và khó khăn. Có thể bạn sẽ nói rằng, vậy thì cứ sử dụng đệ quy, vừa ngắn gọn, dễ hiểu, vừa dễ cài đặt. Nhưng có đôi khi, sự hạn hẹp của bộ nhớ dành cho chương trình con không cho phép chúng ta làm điều đó, hoặc chúng ta biết rằng, ngôn ngữ máy không có đệ quy, vì vậy các trình biên dịch đều phải có nhiệm vụ khử đệ quy. Và một lí do nữa là bạn có thể thực sự gặp rắc rối với thủ tục đệ quy của mình khi trong một môi trường lập trình mà không cung cấp khả năng gọi đệ quy. Khử đệ quy giúp bạn vẫn giữ được nguyên bản thuật toán đệ quy của mình mà không hề có lời gọi đệ quy, và như thế chương trình có thể chạy được trong bất kỳ môi trường lập trình nào.