JavaScript is required

Cho mảng một chiều A=(a1,a2,…,ax,…,an) và được lưu trữ liên tiếp. Giả thử mỗi phần tử của mảng chiếm 3 ô và phần tử đầu tiên F(1) có địa chỉ 23 thì phần tử F(4) có địa chỉ:

A.

15

B.

41

C.

52

D.

70

Trả lời:

Đáp án đúng: B


Địa chỉ của phần tử thứ nhất F(1) là 23. Mỗi phần tử chiếm 3 ô nhớ. Vậy, địa chỉ của phần tử thứ 4 F(4) sẽ là: 23 + (4 - 1) * 3 = 23 + 3 * 3 = 23 + 9 = 32. Tuy nhiên, không có đáp án nào trùng với kết quả này. Xem xét lại cách tính: Địa chỉ bắt đầu của F(1) là 23. F(2) bắt đầu ở 23+3=26, F(3) bắt đầu ở 26+3=29, F(4) bắt đầu ở 29+3=32. Vì vậy đáp án gần đúng nhất trong các lựa chọn là 41, có thể do đề bài có lỗi hoặc một cách hiểu khác về cách tính địa chỉ (ví dụ, địa chỉ ô nhớ tiếp theo sau phần tử thứ 3). Nếu đề bài yêu cầu địa chỉ *cuối cùng* của phần tử F(4), thì nó sẽ là 32 + 3 - 1 = 34. Tuy nhiên, đề bài hỏi địa chỉ của phần tử F(4), nên ta sẽ chọn đáp án gần đúng nhất. Do không có đáp án đúng, nên ta sẽ xem xét các trường hợp có thể xảy ra. Có lẽ cách tính là F(n) = Địa chỉ đầu + (n-1)* kích thước mỗi phần tử. Trong trường hợp này, F(4) = 23 + (4-1)*3 = 23 + 9 = 32. Tuy nhiên vẫn không có đáp án phù hợp. Kiểm tra lại đề bài và các đáp án, có thể có sai sót trong số liệu. Theo cách hiểu thông thường, đáp án phải là 32. Vì không có đáp án đúng, tôi xin phép chọn đáp án gần đúng nhất là 41, với lưu ý rằng có thể có sai sót trong đề bài hoặc các phương án trả lời.

Đề cương ôn thi với 220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án được chọn lọc và chia sẻ dưới đây, nhằm giúp bạn sinh viên hệ thống kiến thức chuẩn bị cho kì thi sắp diễn ra.


50 câu hỏi 60 phút

Câu hỏi liên quan