No student devices needed. Know more
60 questions
Nếu có các khai báo sau:
char msg[10];
char value;
Câu nào sau đây sẽ là đúng:
Msg[2]-value;
Msg-value;
Cả hai câu trên
Không câu nào đúng
Đâu là phát biểu sai khi nói về danh sách liên kết:
Mỗi phần tử trong danh sách liên kết phải có ít nhất một trường dùng để lưu địa chỉ.
Sử dụng danh sách liên kết thưởng tiết kiệm bộ nhớ hơn dùng mảng.
Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng.
Tất cả các đáp án đều sai.
Ý tưởng phương pháp sắp xếp chèn (insertion sort) là:
Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phân tử kế tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.
Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chỗ phân tử bé nhất với phần tử thứ nhã. Tương tự đối với phần tử nhỏ thứ hai, ba...
Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của nó trong dãy bằng cách đẩy các phần tử lớn hơn xuống
Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp
Cho dãy số sau: 10 11 14 32 36 43 55 57 87 97 . Áp dụng phương pháp tìm kiếm nhị phân, sau bao nhiêu lần phân đoạn ta sẽ tìm thấy số 43?
4 lần
3 lần
5 lần
2 lần
Cho dãy số {4 7 0 9 2 5 3 1 8 6}. áp dụng phương pháp sắp xếp nổi bọt (Bubble sort) sau lần lập đầu tiên của giải thuật ta có kết quả. (0 4 7 1 9 2 5 3 6 8). Dãy số thu được sau lần lập thứ ba là:
(0124739568)
(0147293568)
(0471925368)
(0123475968)
Trường hợp đệ quy của giải thuật đệ qui là:
Là cơ chế đưa bài toán cần giải về một hay nhiều bài toán tương tự nhưng có quy mô lớn hơn
Là cơ chế đưa bài toán cần giải về một hay nhiều bài toán tương tự nhưng có quy mô nhỏ hơn
Cả hai đáp án trên đều sai
Cả hai đáp án trên đều đúng
Cho dãy số sau 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp lựa chọn, sau lượt 3 dãy sẽ được sắp xếp lại như thế nào?
15 25 75 40 55 65 90 30 95 85
15 25 30 40 65 55 90 75 95 85
15 25 75 40 65 55 90 30 85 95
15 75 25 40 65 55 90 30 95 85
Với Stack được cài đặt bằng mảng, thủ tục sau để làm gì?
void MNullStack (Stacks) {
S.Top=Maxlenght + 1;
}
Thủ tục chèn một giá trị vào stack
Thủ tục cập nhật giá trị vào stack
Thủ tục Tạo mới một Stack
Thủ tục khởi tạo Stack rỗng
Kiểu dữ liệu int (kiểu số nguyên) có thể xử lí số nguyên nằm trong khoảng nào?
0.255.
0.65535.
-32768 32767.
-128 127.
Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 5 trong Stack ta phải làm thế nào?
POP(25).PUSH(23)
POP(23).PUSH(25)
POP(25)
POP(25).POP(23). PUSH(23)
Giả sử trong ngôn ngữ C sử dụng khai báo "double a[12] . phần tử a[7] là phần tử thứ bao nhiêu trong mảng a
Thứ 8
Thứ 7
Thứ 9
Thứ 6
Có các khai báo sau: int x= 15; int *p;
Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào?
P=x:
P=&x:
P=*x:
Tất cả các lệnh đều đúng.
Ý tưởng của giải thuật tìm kiếm tuần tự:
Tìm kiếm dựa vào cây nhị tìm kiếm. Nữu giá trị cần tìm nhỏ hơn gốc thì thực hiện tìm kiếm trên cây con trái, ngược lại tn việc tìm kiếm được thực hiện trên cây con phải
Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia
Tại mỗi bước tiến hành so sánh X với phần tử ở giữa của dãy.Dựa vào bước so sánh này quyết định giới hạn dãy tìm kiếm nằm ở mùa trên, hay nằm đưa của dây hiện tình
So sánh X lần lượt với các phần tử thứ nhất, thứ hai,... của dãy cho đến khi gặp phần tử có khoả cần tìm
Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là:
TOP(x).
PUSH(x).
POP(x).
EMPTY(x).
Một danh sách trong đó tất cả các thao tác chèn thực hiện tại một đầu, thao tác xóa được thực hiện tại đầu kia của danh sách gọi là:
Stack.
Queue:
Cây nhị phân.
Cả 3 đáp án trên.
Các tiêu chuẩn đánh giá cấu trúc dữ liệu. Để đánh giá một cấu trúc dữ liệu chúng ta thường dựa vào các tiêu chỉ nào?
Cấu trúc dữ liệu phải tiết kiệm tài nguyên (bộ nhớ trong)
Cấu trúc dữ liệu phải phản ảnh đúng thực tế của bài toán
Cấu trúc dữ liệu phải dễ dàng trong việc thao tác dữ liệu
Tất cả đáp án trên là đúng
Ý tưởng của giải thuật tìm kiếm trên cây nhị phân tìm kiếm?
Tại mỗi bước tiến hành so sánh X với phần tử ở giữa của dãy.Dựa vào bước so sánh này quyết định giới hạn dãy tìm kiếm nằm ở nửa trên, hay nửa dưới của dãy
Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia
So sánh X lần lượt với các phần tử thứ nhất, thứ hai.... của dãy cho đến khi gặp phần tử có khóa cần tìm.
Tìm kiếm dựa vào cây nhị tìm kiếm. Nữu giá trị cần tìm nhỏ hơn gốc thì thực hiện tìm kiếm trên cây con trái, ngược lại ta việc tìm kiếm được thực hiện trên cây con
Cấu trúc dữ liệu mảng có các ưu điểm nào?
Việc thêm, bớt các phần tử trong danh sách đặc có nhiều khó khăn do phải di dời các phần tử khác đi qua chỗ khác.
Việc truy xuất và tìm kiếm các phần tử của mảng là dễ dàng vì các phần tử đứng liền nhau nên chúng ta chỉ cần sử dụng chỉ số để định vị vị trí các phần tử trong danh sách(định vị địa chỉ các phần tử)
Mật độ sử dụng bộ nhớ của mảng là tối ưu tuyệt đối
Tất cả đáp án đều đúng
Tên kiểu số nguyên là:
Boolean
Integer
Byte
Real
Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 3 trong Stack ta phải làm thế nào?
POP(25). POP(23), POP(20)
POP(25). POP(23), POP(20), PUSH(25), PUSH(23)
POP(25), POP(23), POP(20), PUSH(23). PUSH(25)
POP(25), POP(23). PUSH(20), PUSH(25). PUSH(23)
Nhược điểm của thủ tục để quy?
Tồn nhiều thời gian thực hiện chương trình
Tốn bộ nhớ
Cả hai đáp án trên đều sai
Cả hai đáp án trên đều đúng
Định nghĩa cấu trúc dữ liệu dạng danh sách (LIST)?
Danh sách là tập hợp các phần tử khác kiểu
Danh sách là kiểu con trỏ
Danh sách là một tập hợp các phân tử có cùng một kiểu mà ta gọi là kiều phần tử (ElementType).
Danh sách là kiểu dữ liệu mảng
Phát biểu nào sau đây về mảng một chiều là đúng?
Là tập hợp vô hạn các phân tử có cũng kiểu dữ liệu
Mảng không chứa các kí tự là chữ cái
Chỉ là tập hợp các số nguyên
Là tập hợp hữu hạn các phần tử có cũng kiểu dữ liệu
Cho một ma trận thưa, hàng 1 có 2 phần tử F(11) . F(12) . Từ hàng thứ 2 chỉ có 3 phần tử F(k . k-1) ; F(k. k) ; F(k. k+1) ,hàng cuối cùng cũng chỉ có 2 phần tử : F(k . k-1); F(n. 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ụ F(11) là b(1) ; F(12) là b(2) ; F(21) là b(3)
Tính b(k) nếu phần tử F (i j ) là F(6 . 7)
B(21)
B(26)
B(20)
B(17)
Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường dùng là:
PUSH(x)
POP(x)
FULL(x)
EMPTY(x)
Thành phần dữ liệu của danh sách liên liên kết ...
Lưu thông tin về bản thân phần tử
Lưu thông tin về bản thân phân tử trước
Lưu thông tin phần tử đứng sau
Không có đáp án đúng
Tính chất quan trọng của danh sách là
Các phần tử của danh sách không theo thứ tự
Các phân tử của danh sách có thể truy nhập ngẫu nhiên
Các phần tử của danh sách có thứ tự tuyến tính theo vị trí xuất hiện của chúng(position)
Tất cả đều sai.
Trong các cấu trúc dữ liệu sau, đâu là dữ liệu trừ tượng?
Cấu trúc dữ liệu kiểu hàng đợi (QUEUE)
Tất cả cấu trúc
Cấu trúc dữ liệu danh sách (LIST)
cấu trúc dữ liệu Stack
Không gian nhớ dùng để lưu trữ các node của danh sách liên kết kép:
Luôn lưu trữ liên tục trong bộ nhớ.
Lưu trữ rời rác trong bộ nhớ.
Lưu trữ theo kiểu phân trang
Lưu trữ theo kiểu phân đoạn
Cho đoạn chương trình sau
int Logarit(int n){
if(n<0)return -1;
else if(n>-2) return 1+logarit(n/2); else return 0;
}
Cho biết chức năng của đoạn chương trình trên
Tìm giá trị nguyên logarit cơ số 5 của n
Tìm giá trị nguyên logarit cơ số 4 của n
Tìm giá trị nguyên logarit cơ số 3 của n
Tìm giá trị nguyên logarit cơ số 2 của n
Nếu x là một biến toàn cục và x không phải là một con trò thì
Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main().
Miền nhỏ dành cho x có thể thay đổi trong quá trình thực hiện chương trình.
Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình.
Miền nhân dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main().
Cây nhị phân khác rỗng là cây...
Mỗi nút (trừ nút lá) đều có hai nút con
Tất cả các nút đều có nút cha
Tất cả các nút đều có nút con
Mỗi nút có không quá 2 nút con
Cho dãy số {6 1 3 0 5 7 9 2 8 4} áp dụng phương pháp sắp xếp lựa chọn (Select sort) sau lần lặp đầu tiên {0 1 3 6 5 7 9 2 8 4} sau lần lặp thứ sáu là:
(0123456987}
(0123456789}
{0123459687}
(0123479685}
Thao tác Push(x) dùng trong Stack là đề
Bổ sung một phần tử vào đỉnh Stack
Bổ sung một phần tử vào đầu Stack
Bổ sung một dãy các phần tử vào đỉnh Stack.
Bổ sung một phần tử bất kì vào Stack
Để biểu diễn Stack, ta thường sử dụng kiểu dữ liệu nào sau đây?
Kiểu bản ghi
Mảng dữ liệu
Danh sách móc nối
Danh sách móc nối và mảng dữ liệu
Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C
Kiểu mảng.
Kiểu double.
Kiểu hợp.
Kiểu con trỏ.
Cho dãy số sau 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp nhanh (Quick_Sort), sau lượt 6 dãy sẽ được sử........
15 25 30 40 55 65 (90 95 75 85)
15 25 30 40 55 65 (90 75 85 95)
15 25 30 40 55 65 (75 90 95 85)
15 25 30 40 55 65 (90 75 95 85)
Cây nhị phân tìm kiếm là
Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha lớn hơn giá trị của hai nút con
Cây nhị phân thoả tính chất heap
Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha nhỏ hơn mọi nút trên cây con trái và lớn hơn mọi nút trên cây con phải của ra....
Là cây nhị phân đầy đủ.
Danh sách tuyến tính là
Danh sách mà quan hệ lân cận giữa các phần tử được hiển thị ra thì được là danh sách tuyến tính
Danh sách có dạng (a1, a2....an)
Danh sách tuyến tính là một danh sách rỗng
Không có đáp án đúng
Duyệt cây nhị phân theo thứ tự sau được thực hiện theo thứ tự.
Thăm gốc trước, duyệt cây con trái theo thứ tự giữa, duyệt cây con phải theo thứ tự sau
Duyệt cây con trái theo thứ tự sau, duyệt cây con phải theo thứ tự sau, thăm gốc.
Duyệt cây con trái theo thứ tự trước, thăm gốc giữa, duyệt cây con phải theo thứ tự sau.
Thăm gốc. duyệt cây con trái theo thứ tự sau, duyệt cây con phải theo thứ tự sau.
Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn rỗng
(p->right--NULL);
(p->info NULL);
(p= NULL);
(p->next==NULL):
Tư tưởng của giải thuật tìm kiếm trên cây nhị phân tìm kiếm
Tại mỗi bước tiến hành so sánh X với phần tử ở giữa của dãy.Dựa vào bước so sánh này quyết định giới hạn dãy tìm kiếm nằm ở mùa trên, hay nữa di
So sánh X lần lượt với các phần tử thứ nhất, thứ hai.... của dãy cho đến khi gặp phần tử có khoa cần tìm.
Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia
Tìm kiếm dựa vào cây nhị tìm kiếm: Nừu giá trị cần tìm nhỏ hơn gốc thì thực hiện tìm kiếm trên cây con trái, ngược lại ta việc firm kiếm được thực hiện
Cho mảng 2 chiều A={F(i j)}: i là chỉ số hàng. Ỉ 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 cột nếu phần tử F(11) có địa chỉ 230 , mỗi ô thì phần tử F(37) có địa chỉ
380
378
382
420
Cho đoạn chương trình sau
long Tong(unsigned n)
(
if(n==0)
return 1:
retum n+Tong(n-2):
}
Cho biết chức năng của đoạn chương trình trên dùng để tính cho biểu thức nào
Đáp án khác
S(n)=1+2+4+ +(2n+1) või n>=0
S(n)=1+3+5++(2n+1) vôi n>=0
S(n)-2+4+6+ +(2n+1) või n>=0
Định nghĩa danh sách tuyến tính Hàng đợi (Queue)?
Hàng đợi là kiểu danh sách tuyến tính trong đó. phép bổ sung một phần tử vào hàng đợi hay loại bỏ được thực hiện ở một...
Hàng đợi là kiểu danh sách tuyến tính trong đó. phép bổ sung một phần tử vào hàng đợi được thực hiện ở một đầu, gọi là lối...Thực hiện ở đầu kia, gọi là lối trước (font)
Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử vào hàng đợi được thực hiện ở một đầu, gọi là lối...không thực hiện được
Tất cả đều đúng
Định nghĩa danh sách tuyến tính Hàng đợi (Queue)
Là một danh sách tuyến tính trong đó phép bổ sung một phần tử và phép loại bỏ một phần tử được thực hiện ở tại một vị trí bất kì trong danh sách
Hàng đợi là kiểu danh sách tuyến tính trong đó phép bổ sung phần tử ở một đầu, gọi là lồi sau (rem) và phép loại bỏ phần tử được thực hiện ở đầu kia, gọi là....
Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử hay loại bỏ được thực hiện ở một đầu danh sách gọi là đỉnh (Top)
Hàng đợi là kiểu danh sách tuyến tính trong đó phép bổ sung một phần tử được thực hiện ở một đầu, gọi lối sau (rear) hay lối trước (from) Phép loại bỏ không ...... được
Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trả sẽ được dùng:
1- Sinh viên 1:
struct SV{char ht[25]; int tuoi; struct Sv "tiep.}.
2- Sinh viên2:
typedef
struct SV node;
struct SV{char ht[25]; int tuoi; node *tiep:}:
3 Sinh viên 3
typedef
struct SV{char ht[25]; int tuoi; struct SV "tiep:} node.
2
1
4
3
Cho dãy số (3 16 0 5 4 8 297 áp dụng phương pháp sắp xếp nhanh (Quick sort) sau lần lặp đầu tiên của giải thuật ta có kết quả.................sau lần lặp thứ ba là [ .........]
(01(2)3 (548697)}
((0) 1 (23) 4 (56) 7 (89)}
((3) 1 (60) 5 (48) 2 (97)}
(01 (2) 3 (54) 8 (697))
Trong lưu trữ dữ liệu kiểu Queue (Q). giả sử F là con trỏ trỏ tới lãi trước của Q. R là con trỏ trò tối lỗi sau của Q. Khi thêm một phần tử vào Qume, thì R và F thay đổi thế nào?
F-F-1. R không thay đổi.
F-F+1. R không thay đổi
F không thay đổi, R-R+1
F không thay đổi, R-R-1
Trong một chương trình có 3 bước thực hiện mà thời gian thực hiện tưng bước lần lượt là O(n2). O(n3) và O(nlog2n). thời gian thực hiện chương trình sẽ là:
Chú ý (log2n) - Log cơ số 2 của n, n^2 - n mũ 2
O(n^2)
O(n 2)+ O(n°3) + O(nlog2n)
O(nlog2n)
O(n^3)
Sắp xếp theo thứ tự tăng dần của cấp thời gian thực hiện chương trình (Chú ý. (log2n) = Log cơ số 2 của n)
O(nlog2n). O(n). O(log2n). O(1)
O(1).O(log2n). O(n). O(nlogn)
O(log2n). O(n). O(nlog2n).O(1)
O(1).O(nlog2n). O(n). O(log2n)
Cho dãy số {6 1 3 0 5 7 9 2 8 4}. áp dụng phương pháp sắp xếp lựa chọn (Select sort) tăng dần, sau lần lặp đầu tiên của giải thuật ta có kết quả: {0 1 3 6 5 7 9 2 8 4}. Dãy số thu được sau lần lặp thứ tám là:
(0123456978)
(0123459679)
(0123456789)
(0123459687)
Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau
struct $1{ int info; struct S1* next;} *head;
Biết con trỏ "head lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau
{(head->next)=(head->next)->next;}:
Loại bỏ phần tử thứ 2 ra khỏi danh sách.
Câu lệnh bị lỗi.
Loại bỏ phần tử thứ nhất ra khỏi danh sách.
Loại bỏ phần tử thứ 3 ra khỏi danh sách.
Để viết chương trình chỉ để sử dụng một số ít lần và cái giá của thời gian viết chương trình vượt xa cái giả của chạy chương trình thì ta chọn thuật toán
Thuật toán đơn giản
Thuật toán có độ phức tạp cao
Thuật toán có độ phức tạp thấp
Thuật toán dễ cài đặt
Kết quả của đoạn chương trình sau là gì
char c
int n
printf("%d%c".&n.&c);
Nếu gõ vào : "10 T
B=8
N=10
C="
A=0;
Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau
struct $1{ int info; struct S1* next;} *head;
Biết con trỏ "head lưu địa chỉ của phần tử đầu tiên trong danh sách.Nhóm câu lệnh nào sau đây xóa phân tử đầu tiên ra khỏi danh sách
Head->next=head;
Head=head->next;
Head=head->next
->next;
Không có câu nào đúng.
Cho biết đoạn chương trình sau có kết quả bao nhiêu -void main()
{
int ints[] = { 0, 1, 2, 3 };
int* i1 = ints + 1;
int a = ++*i1;
int b = a + *i1;
printf("%d\n", b);
getch();
3
7
4
6
Cho đoạn chương trình sau:
void dequy (int n)
{
if(n!=0)
{
prinf(n%10):
dequy(/10):
}
} Cho biết chức năng của đoạn chương trình trên
In đảo ngược số n nguyên dương
Tìm phần lẻ của n
Tìm số chia hết cho n
Tim phần nguyên của n
Đâu là phát biểu đúng về danh sách móc nối?
Để cài đặt danh sách móc nối phải sử dụng đến cấu trúc tự trỏ.
Chỉ có thể xóa được phân tử đầu tiên của danh sách
Độ dài danh sách không thể thay đổi.
Các phân tử của nó được lưu trữ rải rác trong bộ nhớ RAM.
Biến con trỏ có thể chứa?
Địa chỉ vùng nhớ của một biến khác.
Giá trị của một biến khác.
Cả a và b đều đúng.
Cả a và b đều sai.
Explore all questions with a free account