Câu hỏi:
12/07/2024 79Lan xếp các đĩa CD thành một cọc (Hình 1). Mỗi lần lấy đĩa ra khỏi cọc, Lan sẽ lấy lần lượt tùng đĩa một từ trên xuống. Mỗi lần bổ sung. Lan cũng lần lượt xếp từng đĩa mới vào cọc. Em hãy:
a) Cho biết với đĩa nằm ở đáy và đĩa nằm ở đỉnh cọc, đĩa nào được thêm vào cọc trước.
b) So sánh quy tắc thực hiện thao tác thêm vào và lấy đĩa ra khỏi cọc với thao tác thêm vào và lấy ra phần tử khỏi hàng đợi đã được học ở bài trước.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
Lan xếp các đĩa CD thành một cọc (Hình 1). Mỗi lần lấy đĩa ra khỏi cọc, Lan sẽ lấy lần lượt tùng đĩa một từ trên xuống. Mỗi lần bổ sung. Lan cũng lần lượt xếp từng đĩa mới vào cọc.
a) Theo nguyên tắc LIFO thì đĩa nào được thêm vào cọc sau cùng thì sẽ được lấy ra đầu tiên. Đĩa nằm ở đáy là đĩa được thêm vào cọc đầu tiên. Đĩa nằm ở đỉnh cọc là đĩa được thêm vào cọc sau cùng. Như vậy, đĩa nằm ở đáy cọc được thêm vào trước so với đĩa nằm ở đỉnh cọc.
b) So sánh quy tắc thực hiện thao tác thêm vào và lấy đĩa ra khỏi cọc (stack) với thao tác thêm vào và lấy ra phần tử khỏi hàng đợi (queue) như sau:
* Quy tắc hoạt động:
1. Stack (Cọc):
- Thêm vào (Push): Thêm phần tử vào đỉnh của cọc.
- Lấy ra (Pop): Lấy phần tử từ đỉnh của cọc.
- Quy tắc: LIFO (Last In, First Out) - phần tử được thêm vào sau cùng sẽ được lấy ra đầu tiên.
2. Queue (Hàng đợi):
- Thêm vào (Enqueue): Thêm phần tử vào cuối hàng đợi.
- Lấy ra (Dequeue): Lấy phần tử từ đầu hàng đợi.
- Quy tắc: FIFO (First In, First Out) - phần tử được thêm vào đầu tiên sẽ được lấy ra đầu tiên.
* So sánh:
- Thao tác thêm:
+ Stack: Thêm vào đỉnh cọc (mới nhất).
+ Queue: Thêm vào cuối hàng đợi (mới nhất).
- Thao tác lấy ra:
+ Stack: Lấy từ đỉnh cọc (mới nhất).
+ Queue: Lấy từ đầu hàng đợi (cũ nhất).
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Em hãy viết chương trình yêu cầu người sử dụng nhập năm số nguyên dương - bất kì từ bàn phím, sau đó in ra màn hình năm số này theo thứ tự đảo ngược của thứ tự nhập vào. Trong chương trình có sử dụng kiểu dữ liệu ngăn xếp và các thao tác đã học trên ngăn xếp. Ví dụ: Nhập vào năm số: 3, 1, 9, 17, 2. Kết quả in ra: 2, 17,9, 1, 3.
Câu 2:
Cho dãy A gồm 10 số nguyên lẻ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19. Bạn Thái sẽ thực hiện một cách tuỳ ý các thao tác thêm vào và lấy ra trên ngăn xếp S ban đầu đang không có phần tử nào. Các thao tác thêm vào sẽ lấy ra lần lượt từng số trong dãy A để bổ sung vào ngăn xếp. Em hãy:
a) Vẽ ngăn xếp S thu được sau khi Thái thực hiện hai thao tác thêm vào liên tiếp và một thao tác lấy ra.
b) Cho biết Thái cần thực hiện những thao tác thêm vào và lấy ra theo thứ tự như thế nào để có thể thu được ngăn xếp S như ở Hình 3.
Câu 3:
Em hãy:
a) Đọc hàm pop(S) ở Hình 8 và cho biết dấu ? cần được thay bằng gì.
b) Đọc chương trình ở Hình 9 và cho biết kết quả thu được khi chạy chương trình.
c) Bổ sung hai câu lệnh temp=pop(stack) giống nhau vào cuối đoạn chương trình ở Hình 9 và cho biết kết quả thu được khi chạy chương trình.
d) Viết hàm isEmptyStack(S) với tham số truyền vào là ngăn xếp S. Hàm trả về giá trị True nếu ngăn xếp S đang rỗng không chứa phần tử nào, ngược lại hàm trả về giá trị False.
e) Sửa lại chương trình thu được khi thực hiện xong câu c) như sau: Thay mỗi câu lệnh temp = pop(stack) thành đoạn chương trình ở Hình 10. Cho biết kết quả thu được khi chạy chương trình.
Câu 4:
Để cài đặt ngăn xếp với hai thao tác thêm vào (push) và lấy ra (pop), ta có thể dùng mảng một chiều. Khi đó, các phần tử trong mảng sẽ là các phần tử đang có trong ngăn xếp.
Ví dụ: Ngăn xếp S ở Hình 4a có thể được biểu diễn bởi một mảng một chiều mô phỏng như ở Hình 4b. Các phần tử trong mảng theo thứ tự từ đầu đến cuối sẽ tương ứng với các phần tử trong ngăn xếp theo thứ tự từ đáy lên đỉnh. Em hãy vẽ ngăn xếp S và xác định các giá trị tương ứng trong mảng mỗi khi thực hiện xong một thao tác của dãy lần lượt ba thao tác sau:
- Thêm vào ngăn xếp S một phần tử có giá trị 13.
- Thêm vào ngăn xếp S một phần tử có giá trị 15.
- Lấy ra một phần tử khỏi ngăn xếp S.
Câu 5:
Trong các câu sau đây, những câu nào đúng khi nói về ngăn xếp?
a) Cơ chế hoạt động của ngăn xếp là vào trước ra trước.
b) Khác với kiểu dữ liệu hàng đợi, các phần tử trong ngăn xếp được truy cập một cách trực tiếp.
c) Khi thêm ngăn xếp. một phần tử vào ngăn xếp, phần tử này sẽ được đặt ở đây của
d) Có thể thêm một phần tử mới vào vị trí bất kì trong ngăn xếp
e) Cơ chế hoạt động của ngăn xếp là vào sau ra trước.
g) Có thể xoá một phần tử bất kì khỏi ngăn xếp bằng một thao tác lấy ra.
263 câu Trắc nghiệm tổng hợp ôn thi tốt nghiệp THPT môn Tin học Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính có đáp án
15 câu Trắc nghiệm Tin học 12 KNTT Bài 7: HTML và cấu trúc trang web
15 câu Trắc nghiệm Tin học 12 KNTT Bài 10: Tạo liên kết
15 câu Trắc nghiệm Tin học 12 KNTT Bài 8: Định dạng văn bản
15 câu Trắc nghiệm Tin học 12 KNTT Bài 11: Chèn tệp tin đa phương tiện và khung nội tuyến vào trang web
15 câu Trắc nghiệm Tin học 12 KNTT Bài 9: Tạo danh sách, bảng
15 câu Trắc nghiệm Tin học 12 Cánh diều Bài 1: Làm quen với ngôn ngữ đánh dấu siêu văn bản
Đề thi Học kì 1 Tin học 12 có đáp án (Đề 1)
về câu hỏi!