ai giải giúp em với " trình bày điểm giống và khác nhau giữa ngăn xếp và danh sách thông thường"
ai giải giúp em với " trình bày điểm giống và khác nhau giữa ngăn xếp và danh sách thông thường"
1 CÂU TRẢ LỜI
Để mà trình bày điểm giống và khác nhau của 2 cái thì có nhiều điểm để nói lắm.
Stack thì theo quy tắc LIFO (Last in - First out) nên các phương thức của Stack sẽ ít, và cách sử dụng cũng cứng nhắc hơn Linked List. Loanh quanh chủ yếu dùng nhiều là push, pop, top,... Mình chỉ có thể truy cập từ đỉnh stack, muốn lấy ra 1 phần tử xác định thì phải pop mấy cái ở đỉnh đi, cho tới khi gặp phần tử mình cần.
Linked List thì linh động hơn, phần tử trước trỏ tới phần tử tiếp sau đó, cứ thế cho tới phần tử cuối cùng. Nhờ đó việc tìm kiếm 1 phần tử trong List, hay là thêm phần tử vào giữa List đơn giản hơn nhiều so với thực hiện trên Stack.
Để so sánh toàn diện thì nhiều lắm, bạn xem mấy cái ảnh mình comment là thấy được sự chênh lệch giữa Stack và Linked List. Nếu bạn muốn hiểu tường tận thì mình gợi ý 2 cách:
- Cách 1: tìm hiểu các phương thức của Stack và Linked List. Cái này bạn có thể xem ở link sau:
- Cách 2: tự code lại Stack và Linked List, cùng với các phương thức của chúng nó. Đảm bảo code xong hiểu rõ luôn.
@tranminhnhat anh cho em hỏi thêm với "Hãy nêu các hàm được xây dựng riêng phù hợp với ngăn xếp khi so với danh sách thông thường" như nào ạ :<
@Cutintq123 ít nhất là có 3 cái hàm push pop top đó bạn. Vì nó xây dựng cho phù hợp nguyên lý LIFO của Stack, còn Linked List có thể duyệt từ đầu hoặc cuối nên sẽ không có 3 cái hàm đó.