NEW
Font size
WorksheetsCấu trúc dữ liệu mảng
Total questions: 27
Worksheet time: 14mins
Trong các phát biểu về những ưu điểm của cấu trúc dữ liệu mảng, phát biểu nào dưới đây là đúng nhất?
Việc thêm bớt các phần tử trong mảng được thực hiện thường xuyên
Việc truy xuất và tìm kiếm các phần tử của mảng tương đối dễ dàng thông qua chỉ số của mảng
Mật độ sử dụng bộ nhớ của mảng là rời rạc.
Mảng là một tập hợp không cố định các phần tử có cùng kiểu dữ liệu
Trong các phát biểu về những nhược điểm của cấu trúc dữ liệu mảng, phát biểu nào dưới đây là đúng nhất?
Việc thêm bớt các phần tử trong mảng có nhiều khó khăn do phải di dời các phần tử khác
Việc truy xuất và tìm kiếm các phần tử của mảng phải theo thứ tự tuần tự
Mật độ sử dụng bộ nhớ của mảng là rời rạc.
Mảng là một tập hợp không cố định các phần tử có cùng kiểu dữ liệu
Trong các phát biểu về những ưu điểm của cấu trúc dữ liệu mảng, phát biểu nào dưới đây là đúng nhất?
Việc bổ sung, loại bỏ các phần tử thường xuyên được tác động lên mảng
Việc truy xuất và tìm kiếm các phần tử của mảng được thực hiện tuần tự
Mật độ sử dụng bộ nhớ của mảng là tối ưu tuyệt đối.
Mảng là một tập hợp các phần tử linh hoạt về kích thước.
Trong số các phép toán sau đây, phép toán nào không được dùng thường xuyên đối với mảng?
Tạo mảng
Bổ sung một phần tử vào mảng
Lưu trữ mảng
Tìm kiếm trên mảng
Khi nói về nhược điểm của mảng, phát biểu nào dưới đây là đúng nhất?
Truy cập vào các phần tử của mảng phải thực hiện tuần tự
Việc tạo lập các phần tử của mảng rất khó khăn
Mật độ sử dụng bộ nhớ của mảng là rời rạc.
Không linh hoạt về kích thước.
Trong các phát biểu dưới đây về những nhược điểm của mảng, phát biểu nào KHÔNG đúng?
Không linh hoạt về kích thước.
Mật độ sử dụng bộ nhớ của mảng là rời rạc.
Việc bổ sung các phần tử rất khó khăn do phải di dời các phần tử khác
Việc loại bỏ các phần tử rất khó khăn do phải di dời các phần tử khác
Trong các phát biểu dưới đây về những ưu điểm của mảng, phát biểu nào KHÔNG đúng?
Là cấu trúc dữ liệu dễ sử dụng
Tốc độ truy cập các phần tử cao
Các thao tác bổ sung, loại bỏ các phần tử được thực hiện dễ dàng.
Mật độ sử dụng bộ nhớ của mảng là tối ưu tuyệt đối
Điểm nào dưới đây nói về sự khác nhau giữa mảng và danh sách?
Khác với mảng, danh sách là một tập sắp thứ tự nhưng bao gồm một số biến động các phần tử
Khác với mảng, danh sách là một tập sắp thứ tự cố định số lượng phần tử
Khác với mảng, phép toán bổ sung, loại bỏ các phần tử không được tác động lên danh sách.
Mảng truy cập các phần tử theo thứ tự, còn danh sách truy cập ngẫu nhiên
Cho mảng 2 chiều: A=(aij) i là chỉ số hàng, j là chỉ số cột. Mảng A có 7 hàng, 9 cột. Lưu trữ liên tiếp mảng A ưu tiên hàng. Nếu phần tử a11 có địa chỉ 70, mỗi phần tử chiếm 5 ô thì phần tử a7,9 có địa chỉ là bao nhiêu?
461
460
390
380
Cho mảng một chiều A=(a1,a2,...,an) được lưu trữ liên tiếp. Giả sử mỗi phần tử của mảng chiếm 3 ô và phần tử đầu tiên a1 có địa chỉ 23 thì phần tử a7 có địa chỉ là bao nhiêu?
52
15
41
70
Cho mảng 2 chiều : A=(aij) i là chỉ số hàng, j là chỉ số cột. Mảng A có 8 hàng, 9 cột. Lưu trữ liên tiếp mảng A ưu tiên hàng. Nếu phần tử a11 có địa chỉ 50, mỗi phần tử chiếm 3 ô thì phần tử a57 có địa chỉ là bao nhiêu?
148
152
158
176
Cho mảng 2 chiều: A=(aij). Mảng có m hàng, n cột. Công thức tính địa chỉ của phần tử aij trong việc lưu trữ liên tiếp là L(ai j) = L0 + C [(i - 1)n + (j - 1)] Dùng trong trường hợp nào?
Ưu tiên hàng
Ưu tiên cột
Ưu tiên đường chéo chính
Mọi trường hợp
Dùng phương pháp lưu trữ liên tiếp để lưu trữ một ma trận (mảng hai chiều) có nhược điểm lớn nhất là gì?
Khó tìm kiếm
Cần một lượng lớn ô nhớ
Lãng phí ô nhớ khi ma trận thưa
Khó sắp xếp
Cho một ma trận thưa, hàng 1 có 2 phần tử a1,1 , a1,2. Từ hàng thứ 2 chỉ có 3 phần tử ak,k-1; ak,k; ak,k+1, hàng cuối cùng cũng chỉ có 2 phần tử : an,n-1; an,n Hãy lưu trữ liên tiếp ưu tiên hàng của ma trận này thành một mảng một chiều: thí dụ a11 là b1; a1,2 là b2 ; a2,1 là b3 … Tính bk nếu phần tử ai,j là a6,7?
b17
b18
b19
b20
Cho mảng một chiều A=(a1,a2,...,an) và được lưu trữ liên tiếp. Giả sử mỗi phần tử của mảng chiếm 4 ô và phần tử đầu tiên a1 có địa chỉ 11 thì phần tử a9 có địa chỉ là bao nhiêu?
52
43
41
37
Cho mảng 2 chiều : A=(aij) i là chỉ số hàng, j là chỉ số cột. Mảng A có 6 hàng, 6 cột. Lưu trữ liên tiếp mảng A ưu tiên hàng. Nếu phần tử a11 có địa chỉ 65, mỗi phần tử chiếm 4 ô thì phần tử a6,5 có địa chỉ là bao nhiêu?
201
200
181
180
Các phần tử trong danh sách được bố trí như thế nào?
Các phần tử được bố trí rời rạc
Các phần tử được bố trí ngẫu nhiên
Các phần tử sắp xếp theo thứ tự tăng dần
Các phần tử được sắp tuyến tính
Điền vào dấu ba chấm cho phát biểu sau: Cho n là độ dài của danh sách, với n>1, khi đó ta nói phần tử ai sẽ…
"đi sau" phần tử ai+1.
"đi trước" phần tử ai-1.
"đi trước" phần tử ai+1.
là phần tử thứ i+1 của danh sách
Khi cài đặt danh sách bằng mảng, khai báo một danh sách như sau: #define MaxLength ... typedef ... ElementType; typedef int Position; typedef struct { ElementType Elements[MaxLength]; Position Last; } List; trong đó, khai báo Position Last; được dùng để mô tả gì?
Giữ độ dài của danh sách
Chỉ phần tử cuối cùng trong danh sách
Chỉ phần tử đầu tiên trong danh sách
Chỉ vị trí các phần tử trong danh sách
Trong các câu lệnh dưới đây, câu lệnh nào có chức năng khởi tạo danh sách rỗng?
L.Last = Null;
L.Last=0;
L->Last=0;
L Last = Null;
Trong các câu lệnh dưới đây, câu lệnh nào có chức năng kiểm tra danh sách rỗng?
L.Last !=0;
L.Last=0;
L->Last=0;
L Last != 0;
Trong các điều kiện dưới đây, điều kiện nào KHÔNG cho phép chèn thêm một phần tử vào mảng danh sách?
Mảng rỗng
Mảng đầy
Phần tử chèn vào không đúng vị trí
Không tìm thấy vị trí cần chèn
Đoạn chương trình dưới đây mô tả thuật toán chèn thêm 1 phần tử vào mảng danh sách:
1. for(Q=(L->Last-1)+1;Q>P-1;Q--)
1.1. L->Elements[Q]=L->Elements[Q-1];
2. L->Elements[P-1]=X;
3. L->Last++;
Câu lệnh 1 và 1.1 có chức năng là gì ?
Dời các phần tử từ vị trí p đến cuối danh sách sang phải 1 vị trí
Dời các phần tử từ vị trí p đến cuối danh sách sang trái 1 vị trí
Dời các phần tử từ vị trí p về đầu danh sách sang phải 1 vị trí
Dời các phần tử từ vị trí p về đầu danh sách sang trái 1 vị trí
Khi chèn phần tử có nội dung x vào vị trí p của danh sách L, trường hợp nào p KHÔNG hợp lệ?
p< last+1 hoặc p<1
p> last+1 hoặc p<1
p> last+1 hoặc p>1
p< last+1 hoặc p>1
Khi xóa 1 phần tử có nội dung x tại vị trí p của danh sách L, trường hợp nào p KHÔNG hợp lệ?
P<L.last hoặc p>1
p>L.last hoặc p>1
p>L.last hoặc p<1
P<L.last hoặc p<1
HãyĐoạn chương trình dưới đây mô tả thuật toán chèn thêm 1 phần tử vào mảng danh sách:
B1. for(n=(L->Last-1)+1; n>p-1; n--)
B1.1. L->A[n]=L->A[n-1];
B2. //Đưa X vào vị trí p
……………………… (1)
3. L->Last++;
Hãy chọn câu lệnh đúng vào vị trí (1) cho B2?
L->Elements[p-1]=X;
L->Elements[p+1]=X;
X = L->Elements[p-1];
X = L->Elements[p+1]
Đoạn chương trình dưới đây mô tả thuật toán loại bỏ 1 phần tử ra khỏi mảng danh sách:
B1. for(n=i-1;n<L->Last-1;n++)
B1.1. Gán giá trị ở vị trí n+1 cho n
............................... (1) B2. L->Last--;
Hãy chọn câu lệnh đúng vào vị trí (1) cho B1.1?
L->Elements[n-1]=L->Elements[n];
L->Elements[n]=L->Elements[n-1];
L->Elements[n]=L->Elements[n+1];
L->Elements[n+1]=L->Elements[n];
