NEW
Font size
WorksheetsBộ câu hỏi trắc nghiệm từ worksheet (lớp 13)
Total questions: 77
Worksheet time: 39mins
Nếu x là một biến kiểu số nguyên, để con trỏ p trỏ đến biến x ta viết: Select one
p = x;
p = &x;
p = *x;
p = x[0];
Hàng đợi còn được gọi là danh sách kiểu:
FIFO (first in first out)
FOLO (first out last out)
LIFO (last in first out)
FILO (first in last out)
Cho hàm xóa phần tử khỏi ngăn xếp S như sau: ElementType Pop(Stack &S) { Position Temp = S→Next; if( Temp != NULL) { ElementType T = Temp→Element; (1) S→Next = Temp→Next; (2) Delete Temp; (3) return T; (4) } } Phát biểu nào sau đây đúng?
Câu lệnh 2 có thể thực hiện trước câu lệnh 1
Thứ tự các câu lệnh 1, 2, 3, 4 không thể thay đổi
Câu lệnh 2 có thể thực hiện trước câu lệnh 3
Câu lệnh 3 có thể thực hiện trước câu lệnh 1
Cho khai báo sau: Struct Date{ int ngay, thang, nam; }; Struct SinhVien{ char hoten[40]; Date ngaysinh; }; Sinhvien *sv; Để in ra năm sinh (nam) của sinh viên (sv) ta viết:
cout << sv→ngaysinh.nam;
cout << sv→ngaysinh→nam;
sv.ngaysinh→nam;
cout << sv.ngaysinh.nam;
Đối với lớp có hàm là N2 , phát biểu nào sau đây là đúng?
Thời gian chạy không phụ thuộc vào kích thước đầu vào
Ít các thuật toán sắp xếp sử dụng 2 vòng lặp
Khi N được nhân đôi, thời gian chạy sẽ tăng gấp 4
Thời gian chạy của thuật toán là hằng số
Lựa chọn định nghĩa về danh sách đúng nhất:
Danh sách là tập hợp các phần tử có kiểu dữ liệu xác định và giữa chúng có một mối liên hệ nào đó
Số phần tử của danh sách gọi là chiều dài của danh sách
Cả a, b, c đều đúng
Một danh sách có chiều dài bằng 0 là một danh sách rỗng
Thao tác nào dưới đây thực hiện trên hàng đợi (queue):
Loại bỏ phần tử ở lối sau
Thêm phần tử vào lối sau
Thêm phần tử vào lối trước
Thêm và loại bỏ phần tử tại vị trí bất kỳ
Phát biểu nào sau đây là đúng?
Ta phải định nghĩa các hàm trước hàm main
Các hàm không thể gọi chính nó
Các hàm chỉ có thể được gọi trong hàm main
Ta có thể định nghĩa các hàm sau hàm main
Kiểu dữ liệu trừu tượng là ... Select one
kiểu dữ liệu mà người lập trình phải tự xây dựng dựa trên các kiểu dữ liệu cơ bản được cung cấp từ ngôn ngữ máy.
kiểu dữ liệu mà người lập trình phải tự xây dựng dựa trên các kiểu dữ liệu không cơ bản được cung cấp từ ngôn ngữ lập trình.
kiểu dữ liệu mà người lập trình phải tự xây dựng không dựa trên các kiểu dữ liệu cơ bản được cung cấp từ ngôn ngữ lập trình.
kiểu dữ liệu mà người lập trình phải tự xây dựng dựa trên các kiểu dữ liệu cơ bản được cung cấp từ ngôn ngữ lập trình.
Hãy cho biết hàm sau dùng để làm gì? void ham3 (ElementType X, List &L) { Position P,Q; P=L; while (P→Next!=NULL) { if (P→Next→Element==X) Q=P→Next; P=P→Next; } while (L→Next!=Q→Next) { cout < L→Next; } }
In từ đầu danh sách đến X xuất hiện cuối cùng
In từ đầu danh sách đến X xuất hiện lần 2
In từ đầu danh sách đến X xuất hiện đầu tiên
In từ đầu danh sách đến X
Với p là biến con trỏ đến mảng, để giải phóng vùng nhớ cho p ta viết. Select one
delete p;
delete []p;
free p;
p = free;
Đoạn code sau làm gì? Position Func (List L) { Position P; P=L→Next; return P; }
Xác định phần tử ở mid list
Xác định số lượng danh sách
Xác định phần tử cuối cùng
Xác định phần tử đầu tiên
Nguyên tắc làm việc của ngăn xếp là:
LILO (last in – last out)
FILO (first in - last out)
Câu a và c cùng đúng
FIFO (first in - first out)
Đối với lớp có hàm là 2N , phát biểu nào sau đây là đúng?
Lớp số mũ: N! (giai thừa) là cùng loại độ phức tạp
Thời gian chạy là hằng số
Độ phức tạp O(2N) không ảnh hưởng đến kích thước đầu vào
Khi N tăng gấp đôi, thời gian chạy sẽ tăng lên lũy thừa 2
Cho hàm Func được cài đặt trên danh sách liên kết, nội dung các phần tử kiểu số nguyên như sau. Để hàm Func thực hiện đúng chức năng thêm phần tử có nội dung X vào sau phần tử có nội dung Y xuất hiện sau cùng vào danh sách L thì câu lệnh (3) phải là. Select one
Temp→Next = T→Next;
P→Next = T→Next;
P→Next = Temp→Next;
Temp→Next = P→Next;
Đoạn code sau làm gì? void Func(ElementType X, Position P, List &L) { Position Temp; Temp = new Node; Temp→Element = X; Temp→Next = P→Next; P→Next = Temp; }
Thêm một phần tử vào đầu danh sách
Thêm phần tử vào vị trí ngẫu nhiên
Thêm một phần tử vào sau vị trí P
Thêm một phần tử vào cuối danh sách
Hãy cho biết hàm sau dùng để làm gì? void them(ElementType X, ElementType Y, List &L) { Position P,Q; P = L; while (P→Next != NULL) { if (P→Next→Element == Y) Q = P→Next; P = P→Next; } InsertList(X,Q,L); }
Thêm X vào trước Y xuất hiện sau cùng
Thêm X vào sau Y xuất hiện đầu tiên
Thêm X vào trước Y xuất hiện đầu tiên
Thêm X vào sau Y xuất hiện sau cùng
Ý nghĩa của đoạn code sau? void Func(Position P, List &L) { Position Temp; if (P→Next != NULL) { Temp = P→Next; P→Next = Temp→Next; delete Temp; } }
Xóa phần tử cuối danh sách
Xóa phần tử ngay sau P
Xóa phần tử trước P
Xóa phần tử đầu danh sách
Đặc trưng nào sau đây không phải của hàm?
Không lồng nhau
Chỉ được gọi 1 lần trong chương trình có chứa hàm
Được gọi từ hàm main(), từ hàm khác hoặc từ chính nó
Nằm trong hoặc ngoài văn bản có chương trình gọi đến hàm đó
Phát biểu nào sau đây sai:
Đa số các bài toán có thời gian thực thi tiệm cận tới một trong các hàm N , N2 , 2N
Đa số các bài toán có thời gian thực thi tiệm cận tới một trong các hàm N , NlogN , 2N
Đa số các bài toán có thời gian thực thi tiệm cận tới một trong các hàm N , N2+2 , logN
Đa số các bài toán có thời gian thực thi tiệm cận tới một trong các hàm N , N3 , logN
Ý nghĩa của đoạn code? typedef int ElementType; typedef struct Node { ElementType Element; Node* Next; }; typedef Node* Position; typedef Node* List;
Khai báo cấu trúc dữ liệu
Khai báo kiểu dữ liệu của danh sách
Khai báo Node
Khai báo List
Phát biểu nào sau đây là đúng? Select one
Việc tổ chức để lưu trữ dữ liệu phục vụ cho chương trình không có ý nghĩa gì trong toàn bộ hệ thống chương trình
Giải thuật chỉ có thể được minh họa bằng lưu đồ
Giải thuật dùng để chỉ ra phương pháp hay cách thức giải quyết vấn đề
Việc xây dựng cấu trúc dữ liệu không quyết định đến chất lượng cũng như công sức của người lập trình
Sắp xếp các câu lệnh sau theo trật tự đúng cho quy trình thêm một phần tử vào vị trí X vào sau vị trí P trong danh sách liên kết đơn (1) Position Temp = new Node; (2) P → Next = Temp; (3) Temp → Element = X; (4) Temp → Next = P → Next;
2, 4, 3, 1
1, 3, 4, 2
1, 2, 3, 4
4, 3, 2, 1
Phát biểu nào sau đây là sai? Select one
Phép toán cơ bản trên hàng đợi là dequeue
Phép toán cơ bản trên hàng đợi là emptyqueue
Phép toán cơ bản trên hàng đợi là enqueue
Phép toán cơ bản trên hàng đợi là insertqueue
Cho khai báo như sau (xem mô tả mã): Các trường ngày, tháng và năm của biến dob sẽ có giá trị lần lượt là. Select one:
8, 7, 9
8, 9, 7
9, 7, 8
7, 8, 9
Cho hàm như sau (xem mô tả mã): Void Func(ElementType X, List &L) { Position Temp = new Node; Temp → Element = X; Temp → Next = L → Next; L → Next = Temp; } Hàm trên thực hiện chức năng gì?
Thêm phần tử X vào cuối danh sách L
Xóa phần tử X ở cuối danh sách L
Xóa phần tử X ở đầu danh sách L
Thêm phần tử X vào đầu danh sách L
Hãy cho biết hàm sau dùng để làm gì (xem mô tả mã): void Func (ElementType X, List &L) { Position P; P=L; while (P→Next!=NULL) { if (P→Next→Element==X) DeleteList(P,L); else P=P→Next; } PrintList(L); }
Xóa phần tử có nội dung là X cuối cùng
Xóa phần tử có nội dung là X đầu tiên
Xóa phần tử tại vị trí X
Xóa tất cả phần tử có nội dung là X
Khai báo nào sau đây đúng cho hàm thực hiện chức năng tách danh sách liên kết L1 thành hai danh sách L2 và L3? Select one:
void Split(List L1, List &L2, List &L3);
List Split(List L1, List &L2);
void Split(List &L1, List &L2, List &L3);
List Split(List L1, List & L3);
Đặc điểm nào sau đây không phải của hàm có tính đệ quy. Select one:
Chương trình dễ viết và dễ đọc nhưng có thể khó hiểu
Hàm đệ quy sử dụng vùng nhớ HEAP để lưu địa chỉ các lần gọi đệ quy
Chương trình viết ngắn gọn
Việc thực hiện gọi đi gọi lại hàm rất nhiều lần phụ thuộc vào độ lớn của đầu vào
Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường dùng là. Select one:
FULL(x)
POP(x)
EMPTY(x)
PUSH(x)
Giả sử cần sắp xếp mảng M có N phần tử bằng thuật toán sắp xếp nổi bọt (Bubble Sort), thì cần thực hiện bao nhiêu lần? Select one:
N2 lần
N−1 lần
N+1 lần
N lần
Đối với lớp có hàm là N , phát biểu nào sau đây là đúng? Select one:
Thời gian chạy của chương trình tăng theo hàm logarit khi N tăng
Thời gian chạy của chương trình không phụ thuộc vào kích thước đầu vào
Thời gian chạy của chương trình là hằng số
Thời gian chạy của chương trình là tuyến tính, N tăng gấp đôi thì thời gian chạy nhân gấp đôi
Ý nghĩa của đoạn code (xem mô tả mã)? bool Func(List &L) { return L→Next==NULL; } Select one:
Kiểm tra ds rỗng
Trả về phần tử cuối ds
Trả về phần tử NULL
Kiểm tra độ dài ds
Thao tác Push(x) dùng trong Stack là để. Select one:
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 phần tử bất kì vào Stack
Bổ sung một dãy các phần tử vào đỉnh Stack
Khi in (xuất) danh sách liên kết thì phát biểu nào sau đây là đúng? Select one:
Không thể xuất danh sách liên kết khi nó rỗng
Danh sách liên kết luôn luôn không thay đổi
Danh sách liên kết luôn luôn thay đổi
Danh sách liên kết có thể thay đổi tùy thuộc vào nội dung của nó
Đối với lớp có hàm là N3 , phát biểu nào sau đây là đúng? Select one:
Thời gian chạy không phụ thuộc vào kích thước đầu vào
Khi N tăng gấp đôi, thời gian chạy sẽ tăng gấp 8
Thời gian chạy của thuật toán là hằng số
Đa số các thuật toán sắp xếp sử dụng 3 vòng lặp
Các kiểu dữ liệu cơ bản là .... * Select one:
các kiểu dữ liệu mà người lập trình được cung cấp sẵn từ máy tính
các kiểu dữ liệu mà người lập trình được cung cấp sẵn từ ngôn ngữ tự nhiên
các kiểu dữ liệu mà người lập trình được cung cấp sẵn từ ngôn ngữ máy
các kiểu dữ liệu mà người lập trình được cung cấp sẵn từ ngôn ngữ lập trình
Danh sách (DS) thường được phân thành mấy loại? Select one:
1 loại: danh sách đặc
2 loại: danh sách đặc (mảng) và danh sách liên kết (con trỏ)
4 loại: danh sách đặc, danh sách liên kết, danh sách cây và danh sách đồ thị
3 loại: danh sách đặc, danh sách liên kết và danh sách cây
Danh sách tuyến tính là gì?
Danh sách mà quan hệ lân cận giữa các phần tử được xác định.
Danh sách tuyến tính là một danh sách rỗng.
Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).
Danh sách dạng được lưu dưới dạng mảng.
Nếu trong hàm có nhiều đối số hình thức thì chúng cách nhau bởi dấu gì?
Chấm phẩy (;)
Hai chấm (:)
Chấm (.)
Phẩy (,)
Quá trình khử đệ qui bằng cách sử dụng ngăn xếp được thực hiện qua bao nhiêu bước?
2 bước
4 bước
5 bước
3 bước
Ý nghĩa của đoạn mã sau đối với danh sách liên kết đơn là gì? Position Func (Position P, List L) { Position Temp; if (P==L) return NULL; else { Temp=L; while (Temp→Next!=P) Temp=Temp→Next; return Temp; } }
Xác định phần tử ngay sau P
Xác định phần tử trước P
Xác định phần tử đầu danh sách
Xác định phần tử cuối danh sách
Chọn phát biểu đúng: Bằng cách chạy thử một thuật toán với một bộ dữ liệu, ta có thể làm gì?
Khẳng định thuật toán sai nếu chạy chậm
Khẳng định thuật toán sai nếu cho kết quả sai
Khẳng định thuật toán đúng nếu cho kết quả đúng
Khẳng định thuật toán đúng nếu chạy nhanh
Khi danh sách rỗng, phát biểu nào sau đây là đúng?
Giá trị của cả hai hàm đều là giá trị hợp lệ.
Danh sách không có phần tử nào.
Giá trị hàm EndList(L) là NULL và hàm FirstList(L) là một vị trí hợp lệ.
Giá trị hàm EndList(L) và hàm FirstList(L) luôn luôn bằng nhau.
Cho hàm Func được cài đặt trên danh sách liên kết đơn: void Func(List &L) { Position Temp=L, P; while(Temp→Next!=NULL){ P=Temp; Temp=Temp→Next; } P→Next=NULL; delete Temp; } Hàm Func trên thực hiện chức năng gì?
Xóa phần tử đứng trước phần tử cuối cùng trong danh sách L.
Xóa phần tử đầu tiên trong danh sách L.
Xóa phần tử cuối cùng trong danh sách L.
Xóa phần tử tại vị trí P trong danh sách L.
Cho hàm: int Func(int n, int a, int b) { if(n==0) return a*b; else return Func(n-2, a-2, b)*Func(n-2, a, b-2); } Phát biểu nào sau đây là sai?
Lời gọi hàm Func(5, 6, 7) không trả về kết quả vì giá trị vượt quá miền giá trị kiểu int.
Lời gọi hàm Func(5, 6, 7) không trả về kết quả vì không dừng đệ qui được.
Lời gọi hàm Func(4, 5, 7) và Func(4, 7, 5) trả về kết quả giống nhau.
Lời gọi hàm Func(4, 5, 6) trả về kết quả là 8640.
Nguyên tắc làm việc của hàng đợi là gì?
Câu a và c cùng đúng
FILO (… – last out)
FIFO (first in – first out)
LILO (last in – last out)
Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là gì?
TOP(x)
POP(x)
PUSH(x)
EMPTY(x)
Ý nghĩa của đoạn mã sau là gì? void Func(List L) { if (EmptyList(L) != 0) cout << "Danh sach rong" << endl; else while (L→Next!=NULL){ cout << L→Next→Element << '\t'; L=L→Next; } }
Hàm xuất phần tử đầu tiên danh sách
Hàm nhập danh sách
Hàm kiểm tra danh sách
Hàm xuất danh sách
Để tạo danh sách rỗng, chọn đoạn mã đúng:
Void MakeNullList(List &L){ L = new Node; L→Next = NULL; }
Void MakeNullList(List &L){ Node new L; L→Next = NULL; }
Phát biểu nào sau đây đúng:
Cấu trúc for chỉ áp dụng với khối lệnh lặp xác định
Cấu trúc switch luôn có case
Trong cấu trúc if có thể có else hoặc không
Cấu trúc while chỉ áp dụng với khối lệnh lặp không xác định
Hãy cho biết hàm sau dùng để làm gì? Position ham2(ElementType X, List L) { Position P = L; int f = 0; while (P->Next != NULL && f == 0) if (P->Next->Element == X) f = 1; else P = P->Next; return P->Next; }
Xác định vị trí phần tử đứng sau X.
Xác định vị trí của phần tử có nội dung là X.
Xác định phần tử đứng sau X.
Xác định vị trí phần tử đứng trước X.
Để cài đặt Stack ta có thể dùng phương pháp nào sau đây:
Bằng con trỏ và bằng mảng
Bằng con trỏ
Bằng mảng
Tất cả đều sai
Trong ngôn ngữ lập trình C/C++ có các cấu trúc điều khiển sau:
Rẽ nhánh và lặp.
Tuần tự và rẽ nhánh.
Tuần tự và lặp.
Tuần tự, rẽ nhánh và lặp.
Hãy cho biết thao tác nào không được phép dùng trên cấu trúc ngăn xếp (stack)
Thêm một phần tử vào vị trí bất kì trong ngăn xếp
Xóa một phần tử ở vị trí bất kì khỏi ngăn xếp
Cả b và c
Thêm một phần tử vào đỉnh ngăn xếp
Khi đổi một số nguyên từ hệ thập phân sang hệ nhị phân thì người ta dùng phép chia liên tiếp cho 2 và lấy các số dư theo chiều ngược lại. Cơ chế sắp xếp này chính là cơ chế hoạt động của cấu trúc dữ liệu:
Hàng đợi (Queue)
Ngăn xếp (stack)
Mảng (array)
Bảng Câu (Record)
Ý nghĩa của đoạn code sau: Position Func (List L) { Position P; P = L; while (P->Next != NULL) P = P->Next; return P; }
Xác định phần tử đầu tiên
Xác định phần tử ở mid list
Xác định số lượng danh sách
Xác định phần tử cuối cùng
Giải thuật đệ quy là:
Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi nhỏ hơn.
Trong giải thuật của nó có lời gọi tới chính nó.
Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi lớn hơn.
Trong giải thuật của nó có lời gọi tới một giải thuật khác đã biết kết quả.
Giải thuật đệ quy là:
Nếu lời giải của một bài toán T được giải bằng lời giải của một bài toán T1, có dạng giống như T, thì lời giải đó được gọi là lời giải đệ quy.
Nếu lời giải của một bài toán T được giải bằng lời giải của một bài toán T1 khác T, thì lời giải đó được gọi là lời giải đệ quy.
Nếu lời giải của một bài toán T được giải bằng lời giải của một bài toán T1 mà T1 giải được thì lời giải đó được gọi là lời giải đệ quy.
Nếu lời giải của một bài toán T được giải bằng lời giải của một bài toán T1 mà T1 có độ phức tạp khác T, thì lời giải đó được gọi là lời giải đệ quy.
Chọ hàm thêm một phần tử X vào vị trí P trong danh sách S như sau: void InsertList(ElementType X, Position P, List &L) { Position Temp; Temp = new Node; (1) Temp->Element = X; (2) Temp->Next = P->Next; (3) P->Next = Temp; (4) } Câu lệnh nào sẽ bị báo lỗi khi biên dịch? Select one:
(1)
(3)
(4)
(2)
Các loại danh sách hạn chế là Select one:
Danh sách đặc và ngăn xếp.
Hàng đợi và danh sách liên kết.
Ngăn xếp và xếp hàng chờ
Chồng và hàng đợi
Danh sách thường được phân thành bao nhiêu loại? Select one:
4 loại
3 loại
5 loại
2 loại
Mối quan hệ giữa cấu trúc dữ liệu và giải thuật có thể minh họa bằng đẳng thức nào?
Cấu trúc dữ liệu - Giải thuật = Chương trình
Cấu trúc dữ liệu + Giải thuật = Chương trình
Cấu trúc dữ liệu + Giải thuật = Độ phức tạp
Giải thuật + Bộ nhớ = Cấu trúc dữ liệu
Lời gọi hàm Swap(5, 10); sẽ không báo lỗi đối với hàm nào sau đây?
void Swap(int a, int *b) { int t = a; b = t; a = b; }
void Swap(int a, int b) { int t = a; a = b; b = t; }
void Swap(int *a, int *b) { int t = *a; *a = *b; *b = t; }
void Swap(int &a, int &b) { int t = a; a = b; b = t; }
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 một số tiêu chí:
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
Cả a, b, c đều đúng
Cấu trúc dữ liệu phải tiết kiệm tài nguyên (bộ nhớ trong)
Danh sách tuyến tính dạng ngăn xếp là:
Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và cho phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở một đầu gọi là đỉnh.
Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp được thực hiện ở một đầu, và phép loại bỏ không thực hiện được.
Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở tại một vị trí bất kì trong danh sách.
Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp được thực hiện ở một đầu, và phép loại bỏ được thực hiện ở đầu kia.
Trong số các phép toán sau đây, phép toán nào không được dùng đối với mảng:
Tìm kiếm trên mảng
Tạo mảng
Lưu trữ mảng
Bổ sung một phần tử vào mảng
Khi thêm hoặc xóa phần tử vào danh sách liên kết thì phát biểu nào sau đây là đúng?
Danh sách liên kết luôn luôn thay đổi.
Chỉ danh sách liên kết đơn mới thay đổi khi thêm hoặc xóa phần tử.
Danh sách liên kết luôn giữ nguyên kích thước.
Không có thay đổi nào xảy ra trong danh sách liên kết.
Đối với lớp có hàm là logarit của N (LogN), phát biểu nào sau đây là đúng?
Thời gian chạy của nó tăng tuyến tính với N
Thời gian chạy của nó giảm khi N tăng
Thời gian chạy của nó tăng theo hàm logarit khi N lớn dần
Thời gian chạy của nó là hằng số
Ý nghĩa của đoạn code? void Func(List &L) { L = new Node; L→Next = NULL; }
Tạo một Node mới
Tạo một nút mới và gán nó là nút đầu danh sách
Xóa tất cả các nút trong danh sách
Khởi tạo một danh sách mảng
Cho hàm xóa một phần tử khỏi hàng đợi như sau: void DeQueue(Queue &Q) { if(!EmptyQueue(Q)) { Position T; T=Q.Front; (1) Q.Front=Q.Front→Next; (2) if(Q.Front==NULL) Q.Rear=NULL; (3) delete T; (4) } } Ta có thể bỏ câu lệnh nào mà hàm trên vẫn thực hiện đúng chức năng của nó? Select one:
Câu lệnh (2).
Câu lệnh (3).
Câu lệnh (4).
Câu lệnh (1).
Cho hàm thêm 1 phần tử X vào vị trí P trong danh sách L như sau: Hai câu lệnh nào có thể ghép chung thành một? void InsertList(ElementType X) { Position Temp; (1) Temp = new Node; (2) Temp→Element = X; (3) Temp→Next = P→Next; (4) P→Next = Temp; (5) } Select one:
(4) và (5)
(3) và (4)
(1) và (2)
(2) và (3)
Định nghĩa cấu trúc dữ liệu Stack:
Stack là danh sách kết nối.
Stack là một danh sách đặc biệt mà phép thêm vào được thực hiện ở một đầu, và phép loại bỏ được thực hiện ở phần kia của stack.
Stack là cấu trúc dữ liệu được cài đặt bằng con trỏ.
Stack là một danh sách đặc biệt mà phép thêm vào hoặc loại bỏ một phần tử chỉ thực hiện tại một đầu gọi là đỉnh (Top) của Stack.
Đối với lớp có hàm là NLogN, phát biểu nào sau đây là đúng?
Đa số các thuật toán sắp xếp một vòng lặp, cơ số 2 và tìm kiếm nhị phân có thứ tự tăng/giảm dần
Thời gian chạy của thuật toán không phụ thuộc vào kích thước đầu vào
Thời gian chạy của thuật toán là hằng số
N tăng gấp đôi thì thời gian chạy nhân lên nhiều hơn gấp đôi
Cho hàm xóa 1 phần tử khỏi hàng đợi như sau: ElementType DeQueue(Queue &Q) { if( !EmptyQueue(Q)) { Position T = Q.Front→Next; (1) Q.Front = Q.Front→Next; (2) return T→Element; (3) Delete T; (4) } } Ta có thể bỏ câu lệnh nào mà hàm trên vẫn thực hiện được và đúng chức năng của nó:
Câu lệnh (3)
Câu lệnh (1)
Câu lệnh (2)
Câu lệnh (4)
Hàng đợi là danh sách hạn chế có tính chất?
FOFO
LIFO
FILO
FIFO
Ý nghĩa của đoạn code sau? void Func (List &L) { ElementType X; do { cin >> X; if (X!=0) InsertList (X, Last (L), L); } } Chọn phương án mô tả đúng nhất về tác dụng của đoạn mã.
Nhập liên tiếp các giá trị khác 0 và chèn mỗi giá trị vào cuối danh sách; dừng khi nhập 0.
Khởi tạo danh sách rỗng và xóa tất cả phần tử khác 0.
Chỉ chèn một giá trị vào đầu danh sách nếu giá trị bằng 0.
Đọc một giá trị rồi thay thế phần tử đầu tiên của danh sách bằng giá trị đó.
