2 năm trước

mn cho mình hỏi là code heap đệ quy và heap dùng vòng lặp while có phải là như nhau chỉ khác cách code thôi phải ko?? với cả heap đệ quy có lâu hơn nhiều heap lặp while ko mn??

xin cảm ơn!

2 năm trước

2 cái đó chỉ khác nhau về cách cài đặt thôi.

Cài đặt đệ quy thông thường luôn chậm hơn 1 chút do khi gọi đệ quy, thực chất nó phải lưu cái trạng thái hiện tại của hàm vào stack (cái này cũng giải thích vì sao gọi đệ quy quá sâu thì bị tràn stack).

Tuy nhiên độ sâu của heap là O(logN), nên trên thực tế thì chênh lệch cũng không đáng kể. Tuy nhiên học nhiều cách cài đặt thì kỹ năng code của bạn tăng thêm thôi, nói chung cái gì cũng nên cài thử 1 lần cho biết.