Bạn hãy cho biết độ phức tạp của giải thuật tìm kiếm tuần tự.
check_box O(n).
O(2n).
O(n.log2(n)).
O(n2).
Bạn hãy cho biết độ phức tạp của việc sắp xếp tăng dần một dãy số bằng thuật toán chèn trực tiếp trong trường hợp dãy đã được sắp tăng với n là số phần tử của dãy?
check_box O(n).
O(2n).
O(lg n)
O(n2).
Bạn hãy cho biết độ phức tạp của việc sắp xếp tăng dần một dãy số bằng thuật toán Heap sort trong trường hợp tồi nhất với n là số phần tử của dãy.
check_box O(nlog2n)
Không biết trước, tùy vào tình trạng của dãy ban đầu
O(n2)
O(n3)
Bạn hãy cho biết độ phức tạp của việc sắp xếp tăng dần một dãy số bằng thuật toán Quick sort trong trường hợp tồi nhất với n là số phần tử của dãy.
check_box O(n2).
O(2n).
O(n).
O(n.lgn)
Biểu diễn danh sách bằng mảng được mô tả như sau:#define Max_Size Ntypedef Kieu_du_lieu E_Type;struct ListType{E_Type Element[Max_Size];int Size;} List;Điều kiện danh sách đầy là:
List = Max_Size
List.Size = Max_Size
Size = 0
Size.List = Max_Size
Các đỉnh của cây có bậc bằng 0 thì được gọi là gì?
Là Cầu.
Là Gốc.
Là Lá.
Là Ngọn.
Các phần tử của cây thì được gọi là gì?
Là cạnh
Là cung.
Là lá.
Là nút.
Cấu trúc dữ liệu nào khi cài đặt bằng mảng ta phải cần 2 biến vị trí để quản lý danh sách các phần tử
Cây
Danh sách
Hàng đợi
Ngăn xếp
Cấu trúc dữ liệu nào tương ứng với nguyên lý FIFO
Linked List
Queue
Stack
Tree
Cấu trúc dữ liệu nào tương ứng với nguyên lý LIFO.
Linked List
Queue
Stack
Tree
Cho biểu thức số học dạng Balan như sau: 1 2 3 4 *- + 5 6 4 8 – – + *. Việc tính toán giá trị biểu thức này khi dùng Stack được cài đặt bằng mảng thì phần tử được đẩy vào Stack lần thứ 10 có giá trị là bao nhiêu?
4
5
6
7
Cho biểu thức số học dạng Balan như sau: 1 2 3 4 *- + 5 6 4 8 – – + *. Việc tính toán giá trị biểu thức này khi dùng Stack được cài đặt bằng mảng thì phần tử được đẩy vào Stack lần thứ 8 có giá trị là bao nhiêu?
5
6
7
8
Cho biểu thức số học dạng Balan như sau: 1 2 3 4 *- + 5 6 4 8 – – + *. Việc tính toán giá trị biểu thức này khi dùng Stack được cài đặt bằng mảng thì số phần tử tối thiểu của mảng phải là bao nhiêu?
5
6
7
8
Cho biểu thức số học dạng Balan như sau: abc +* de /- với các giá trị a=1; b=2; c=3; d=8; e=4; thì giá trị của biểu thức là:
1
2
3
4
Cho biểu thức số học dạng thông thường: (a+b)*(c-(d/e))Đâu là biểu diễn biểu thức này dưới dạng biểu thức Balan?
ab *+ cde /-
ab + cde */-
ab + cde /-*
abc *+ de /-
Cho biểu thức số học dạng thông thường: (a+b)*(c-(d-e))Đâu là biểu diễn biểu thức này dưới dạng biểu thức Balan?
ab *+ cde --
ab + cde *--
ab + cde --*
abc *+ de --
Cho biểu thức số học dạng thông thường: a * (b + c) - d/eĐâu là biểu diễn biểu thức này dưới dạng biểu thức Balan?
ab * c + de /-
abc *+ de /-
abc + * de /-
abc +* de -/
Cho các bước của thuật toán sắp dãy sắp xếp một dãy a1, a2,…, an theo thứ tự tăng dần như sau :Bước 1: i = 1;Bước 2:đặtx = A[i];j = i – 1;Bước 3: while (j >= 0) && (x < A[j])A[j + 1] = A[j];j––;Bước 4: đặt A[j + 1] = x ;i++;Bước 5: nếu i < = n – 1 lặp lại bước 2 ngược lại thì kết thúc Bạn cho biết đây là thuật toán sắp xếp nào?
check_box Chèn trực tiếp – Insertion sort.
Chọn trực tiếp – Selection sort.
Nổi bọt – Bubble sort.
Quick sort.
Cho các bước của thuật toán sắp dãy sắp xếp một dãy a1, a2,…, an theo thứ tự tăng dần theo thuật toán Insertion sort như sau :Bước 1: i = 1;Bước 2:đặtx = A[i];j = i – 1;Bước 3: while (j >= 0) && (x < A[j])A[j + 1] = A[j];j––;Bước 4: đặt A[j + 1] = x ;i++;Bước 5: nếu i < = n – 1 lặp lại bước 2 ngược lại thì kết thúcTrường hợp tốt nhất, khi dãy phần tử cần sắp xếp có thứ tự tăng:
check_box Số phép so sánh: Sso sánh = n – 1
Số phép so sánh: Sso sánh = 2n – 1
Số phép so sánh: Sso sánh = n(n – 1)
Số phép so sánh: Sso sánh = n(n-1)2
Cho các bước của thuật toán sắp dãy sắp xếp một dãy a1, a2,…, an theo thứ tự tăng dần theo thuật toán Selection sort như sau :Bước 1: i = 0;Bước 2: tìm phần tử A[min] nhỏ nhất trong dãy từ A[i] tới A[n–1]Bước 3: hoán vị A[min] và A[i]Bước 4 : nếu i <= n – 2 thì i = i + 1, lặp lại bước 2, ngược lại thì dừng Trường hợp tốt nhất, khi dãy phần tử cần sắp xếp có thứ tự tăng dần:
check_box Số phép gán: Sgán = 0
Số phép gán: Sgán = (n-1)*(n+6)2
Số phép gán: Sgán = 2n – 1
Số phép gán: Sgán = 2n(n-1)2
Cho danh sách L = (0, 3, 7, 2, 4, 9). Đâu là danh sách con của L?
(0, 3, 2, 7)
(0, 3, 4, 2, 9)
(0, 3, 4, 9)
(0, 3, 7, 2)
Cho danh sách L = (1, 5, 3, 2, 4, 0, 6). Thủ tục Delete_L(Pos: position ; var List: ListType) để xóa một phần tử tại vị trí Pos khỏi danh sách List. Khi đó nếu ta thực hiện liên tiếp Delete_L(2,L), Delete_L(4,L) thì kết quả sẽ được danh sách L như sau?
(1, 2, 4, 0, 6)
(1, 3, 2, 0, 6)
(1, 3, 4, 0, 6)
(1, 5, 2, 4, 6)
Cho danh sách L = (1, 8, 9, 2, 4, 0, 6, 7, 5). Thủ tục DSC_L(Pos1; Pos2: position ; var List: ListType) để đưa ra một danh sách con của List bắt đầu từ vị trí Pos1 đến vị trí Pos2 và trả giá trị cho List. Thủ tục Delete_L(Pos: position ; var List: ListType) để xóa một phần tử tại vị trí Pos khỏi danh sách List. Thủ tục Insert_L(Pos: position ; X: Item; var List: ListType) để thêm một phần tử X vào vị trí Pos trong danh sách List. Khi đó nếu ta thực hiện liên tiếp DSC_L(2,7,L), Delete_L (2,L), Insert_L(2,3,L) thì kết quả sẽ được danh sách L như sau?
(1, 3, 4, 0, 6, 7)
(8, 2, 3, 4, 0, 6)
(8, 3, 2, 4, 0, 6)
(8, 3, 9, 4, 0, 6)
Cho dãy số  gồm 8 phần tử: 5, 3, 7, 4, 1, 2, 9, 12.Ta có thể chia dãy trên thành ít nhất bao nhiêu dãy con không giảm?
check_box 4
3
5
6
Cho hàm tìm kiếm tuần tự như sautypedef <kiểu_dữ_liệu> KeyType;int Sequential_Search(dataArray R,KeyType X,int n);{int i;i=0;while((R[i]!= X)&&(i < n)){i++;}if(i < n) return (1);else return(–1);} Chọn khẳng định đúng nhất:
check_box Hàm sẽ trả về -1 nếu không tìm thấy phần tử có giá trị là X
Hàm sẽ trả về 0 nếu không tìm thấy phần tử có giá trị là X
Hàm sẽ trả về 1 nếu không tìm thấy phần tử có giá trị là X
Hàm sẽ trả về -1 nếu tìm thấy phần tử có giá trị là X
Cho một biểu diễn cây như sau: Đâu là tập các lá của cây:
check_box {4, 5, 6, 8, 9}
{3, 4, 5, 6, 7, 8, 9}
{3, 4, 5, 6, 8, 9}
{4, 5, 6, 7, 8, 9}
Cho một biểu diễn cây như sau:Bậc của đỉnh e là
.1
0
2
3
Cho một biểu diễn cây như sau:Mức của đỉnh 3 là :
check_box 2
0
1
3
Cho thuật toán sauint LinearSearch (float M[], int N, float X){ int k = 0;M[N] = X;while (M[k] != X) //n+1 lank++;if (k < N)return (1);else return (-1);}Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:
check_box Số phép gán: Gmax = NSố phép so sánh: Smax = N + 1
Số phép gán: Gmax = 1Số phép so sánh: Smax = N + 2
Số phép gán: Gmax = 2Số phép so sánh: Smax = N + 2
Số phép gán: Gmax = 2Số phép so sánh: Smax =2 N + 2
Cho thuật toán tìm kiếm nhị phân sau:Bước 1: đặt First = 0 và Last = n – 1;Bước 2: Found = –1;//Found là biến lưu vị trí tìm thấy X trong mảngBước 3: while((First <= Last)&&(Found == –1)){ Mid =(First + Last)/2;if(X < R[Mid]) Last = Mid – 1;else if(X > R[Mid]) First = Mid + 1;else Found = Mid;}Đâu là điều kiện của mảng R[] để thực hiện thuật toán?
check_box Được sắp tăng
Được sắp giảm
Giá trị các phần tử <=(First + Last)/2
Số phần tử > (First + Last)
Cho thuật toán tìm kiếm sau, với điều kiện các giá trị của mảng đã được sắp theo thứ tự tăng dần:typedef <kiểu_dữ_liệu> KeyType;int LinearSearch(KeyType X, dataArray R,int n){int i;for(i = 0;i < n;i++){if(R[i]== X) return(i);else if(X < R[i]) return(–1);}return(–1);}Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:
check_box Số phép so sánh: Smax = 3N
Số phép so sánh: Smax = 2N
Số phép so sánh: Smax = 2N+1
Số phép so sánh: Smax = 3N+1
Cho thuật toán tìm kiếm sau, với điều kiện các giá trị của mảng đã được sắp theo thứ tự tăng dần:typedef <kiểu_dữ_liệu> KeyType;int LinearSearch(KeyType X, dataArray R,int n){int i;for(i = 0;i < n;i++){if(R[i]== X) return(i);else if(X < R[i]) return(–1);}return(–1);}Khi đó, nếu tìm giá trị X = 85 trong mảng được sắp xếp theo thứ tự tăng dần như sau:10, 20, 30, 40, 50, 60,70, 80, 90, 100Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X
check_box Số phép so sánh: Smax = 27
Số phép so sánh: Smax = 15
Số phép so sánh: Smax = 30
Số phép so sánh: Smax = 9
Cho thuật toán tìm kiếm sautypedef <kiểu_dữ_liệu> KeyType;int Sequential_Search(dataArray R,KeyType X,int n);{int i;i=0;while((R[i]!= X)&&(i < n)){i++;}if(i < n) return (1);else return(–1);}Khi đó, nếu tìm giá trị X = 34 trong mảng sau: 11, 23, 33, 34, 35, 62,71, 80, 95, 100Chọn câu đúng nhất cho số phép so sánh trong vòng lặp while:
check_box Số phép so sánh: S = 8
Số phép so sánh: S = 7
Số phép so sánh: S = 9
Số phép so sánh: S= 10
Cho thuật toán tìm kiếm trên cây nhị phân tìm kiếm như sau:Bước 1: đặt con trỏ Root = BST;Bước 2: nếu (Root = NULL) hoặc (Root –> infor = X)Kết thúc thuật toán;Bước 3: ngược lại:nếu (Root –> infor > X)Root = Root –> left;//tìm X ở cây con bên tráiBước 4: ngược lại nếu(Root –> infor < X)Root = Root –> right;//tìm X ở cây con bên phảiBước 5: lặp lại bước 2;Và cây nhị phân tìm kiếm sau:Khoá cần tìm kiếm X = 40 thì số lần thực hiện Bước 2 là?
check_box 3
1
2
4
Chọn định nghĩa đúng nhất cho từ Giải thuật?
Là các giải thích về các thuật ngữ trong tin học.
Là cách biểu diễn cấu trúc dữ liệu dưới dạng giả mã, ngôn ngữ tự nhiên, sơ đồ khối…
Là một tập hợp hữu hạn của các chỉ thị hay phương cách được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán.
Là tập hợp các lệnh xử lý dữ liệu.
Có bao nhiêu thao tác trên cây nhị phân?
check_box Có 5 thao tác.
Có 1 thao tác.
Có 3 thao tác.
Có 7 thao tác
Đâu là cây nhị phân tìm kiếm trong các cây nhị phân sau?
check_box 


Đâu là kiểu dữ liệu cơ bản trong các kiểu dữ liệu dưới đây?
Kiểu cấu trúc bản ghi.
Kiểu mảng.
Kiểu số nguyên.
Kiểu tệp tin.
Đâu là một điều kiện của việc xóa một nút của cây nhị phân tìm kiếm?
check_box Cây nhận được sau khi xóa là cây nhị phân tìm kiếm
Cây nhận được sau khi xóa là cây nhị phân đầy đủ
Cây nhận được sau khi xóa là cây nhị phân được sắp xếp
Cây nhận được sau khi xóa là cây nhị phân hoàn chỉnh
Đâu là một trong những tiêu chí khi chọn ngôn ngữ diễn đạt giải thuật ?
Chọn ngôn ngữ nào bạn thích
Gần với ngôn ngữ lập trình hiện có.
Ngôn ngữ càng gần với ngôn ngữ máy càng tốt
Ngôn ngữ tiếng Việt.
Đâu là phương pháp duyệt hậu thứ tự một cây nhị phân?
Duyệt cây con bên phải sau đó tới cây con bên trái rồi tới nút gốc.
Duyệt cây con bên trái sau đó tới nút gốc rồi tới cây con bên phải.
Nút gốc được duyệt trước sau đó duyệt đến cây con bên phải rồi tới cây con bên trái.
Nút gốc được duyệt trước sau đó duyệt đến cây con bên trái rồi tới cây con bên phải.
Để cài đặt thàng đợi bằng danh sách liên kết, trước tiên ta phải định nghĩa kiểu phần tử cho danh sách. Mỗi phần tử của danh sách liên kết phải có bao nhiêu trường:
1
2
3
4
Định nghĩa cấu trúc dữ liệu của danh sách liên kết đôi được mô tả như sau:Typedef Kieu_du_lieu ElementType;typedef struct NodeType{    ElementType Data;    struct NodeType  *next, *prev;}Node ;Hãy chọn mô tả đúng nhất cho khai báo NodeType *next
Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử đầu tiên trong danh sách liên kết đôi.
Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử trước đó trong danh sách liên kết đôi.
Con trỏ trỏ tới phần dữ liệu
Vùng liên kết quản lý địa chỉ phần tử kế tiếp
Định nghĩa nào là đúng với danh sách liên kết?
Danh sách liên kết là cấu trúc dữ liệu dạng cây.
Danh sách liên kết là cấu trúc dữ liệu tự định nghĩa.
Danh sách liên kết là tập hợp các phần tử mà đặt kề cận với nhau trong vùng nhớ.
Danh sách liên kết là tập hợp các phần tử mà giữa chúng có một sự nối kết với nhau thông qua vùng liên kết của chúng.
Đỉnh trong của một cây là đỉnh như thế nào?
Là đỉnh có 1 hoặc 2 con
Là đỉnh có ít nhất 1 con.
Là đỉnh không có cha.
Là đỉnh không có con.
Đoạn mã giả dưới đây mô tả thuật toán gì?Thuật toán:B1: k = 0B2: IF (M[k] != X) AND (k < N)B2.1: k++B2.2: Lặp lại B2B3: IF k < NThông báo tìm thấy tại vị trí kB4: ELSEKhông tìm thấy.B5: Kết thúc
check_box Tìm tuyến tính phần tử có giá trị X
Tìm nhị phân phần tử có giá trị X
Tìm phần tử lớn nhất của mảng M.
Tìm phần tử nhỏ nhất của mảng M bao gồm N phần tử
Hãy cho biết độ cao của một cây được xác định như thế nào?
check_box Là độ dài đường đi dài nhất từ gốc tới lá.
Không có khái niệm này
Là độ dài đường đi từ gốc tới một lá bất kỳ.
Là độ dài đường đi từ một lá bất kỳ đến gốc.
Hãy cho biết giá trị của “con trỏ” là gì?
Là địa chỉ đến một vùng bộ nhớ nhất định.
Là địa chỉ vị trí của con trỏ
Là giá trị của các kiểu dữ liệu khác.
Là giá trị tại một vùng bộ nhớ
Hãy cho biết kết quả của phép MOD hai số nguyên có kiểu gì?
Kiểu ký tự.
Kiểu logic.
Kiểu số nguyên.
Kiểu số thực.
Hãy cho biết kết quả duyệt trung thứ tự (duyệt nút gốc giữa) của cây nhị phân sau.
check_box BADCE.
ABCDE.
BACDE.
BDECA.
Hãy cho biết kiểu dữ liệu trừu tượng là gì?
Là kiểu dữ liệu đa năng phù hợp với mọi loại giá trị.
Là kiểu dữ liệu do hệ thống tự sinh ra.
Là kiểu dữ liệu không có giới hạn về độ lớn.
Là kiểu dữ liệu mới do người dùng tự định nghĩa
Hãy cho biết ưu điểm của các kiểu dữ liệu trừu tượng.
Giúp cho giải thuật đơn giản hơn.
Giúp cho người dùng dễ sử dụng chương trình.
Giúp cho người lập trình dễ viết chương trình.
Giúp cho người lập trình không phải quá quan tâm đến các cách thức biểu diễn cụ thể các dữ liệu đó trên máy tính.
Hãy cho biết ý nghĩa của kiểu dữ liệu logic (Boolean)
Dùng để biểu diễn các giá trị logic bao gồm 2 giá trị đúng (true) và sai (false).
Dùng trong các phép so sánh.
Dùng trong các phép toán logic.
Dùng trong tính toán số học.
Khi cài đặt danh sách bằng mảng, với độ dài là n thì thao tác chèn một phần tử vào danh sách có độ phức tạp:
O(2n).
O(n).
O(n.log2(n)).
O(n2).
Khi cài đặt hàng đợi bằng mảng, nếu ta đặt tên các biến như sau: biến T thể hiện vị trí đuôi, biến H thể hiện vị trí đầu. Thao tác lấy ra 1 phần tử của hàng đợi trong trường hợp: “giá trị của H đúng bằng kích thước của mảng” sẽ:
Giá trị H được gán bằng 1
Giảm H đi 1 đơn vị
Không thực hiện được
Tăng H lên 1 đơn vị
Khi cài đặt hàng đợi bằng mảng, nếu ta đặt tên các biến như sau: biến T thể hiện vị trí đuôi, biến H thể hiện vị trí đầu. Thao tác thêm 1 phần tử vào hàng đợi sẽ:
Giảm H đi 1 đơn vị
Giảm T đi 1 đơn vị
Tăng H lên 1 đơn vị
Tăng T lên 1 đơn vị
Khi cài đặt hàng đợi bằng mảng, nếu ta đặt tên các biến như sau: biến T thể hiện vị trí đuôi, biến H thể hiện vị trí đầu. Thao tác thêm 1 phần tử vào hàng đợi trong trường hợp: “giá trị của T đúng bằng kích thước của mảng trong khi số lượng phần tử của hàng đợi vẫn nhỏ hơn kích thước của mảng” sẽ:
Giá trị T được gán bằng 1
Giảm T đi 1 đơn vị
Không thực hiện được
Tăng T lên 1 đơn vị
Khi dùng Stack được cài đặt bằng mảng để đổi số tự nhiên N = 70 (hệ cơ số 10) sang hệ nhị phân thì số phần tử tối thiểu của mảng phải là bao nhiêu?
4
5
6
7
Khi lấy ra một phần tử của hàng đợi thì phần tử đó ở vị trí:
Bất kỳ vị trí nào
Cuối cùng của hàng đợi
Đầu tiên của hàng đợi
Không thể lấy ra một phần tử nào của hàng đợi
Khi xóa một nút của cây nhị phân tìm kiếm, trường hợp nút cần xóa là nút có đủ hai nút gốc cây con. Đâu là định nghĩa đúng nhất cho khái niệm "nút tiền nhiệm"?
check_box Nút cực phải của cây con trái
Nút có khóa lớn nhất
Nút có khóa nhỏ nhất
Nút cực trái của cây con phải
Kiểu dữ liệu cơ bản là gì?
Là kiểu dữ liệu có sẵn trên hầu hết các máy tính và được hỗ trợ trong hầu hết các ngôn ngữ lập trình.
Là kiểu dữ liệu đơn giản.
Là kiểu dữ liệu giúp cho việc lập trình dễ dàng hơn.
Là kiểu dữ liệu không đòi hỏi kĩ thuật cao trong xử lý.
Kiểu dữ liệu con trỏ được dùng để làm gì?
Được dùng để lưu các con trỏ đến bất kỳ một kiểu dữ liệu nào khác.
Được dùng để lưu giá trị của ô nhớ.
Được dùng để lưu vị trí con trỏ.
Được dùng để trỏ tới một giá trị.
Kiểu dữ liệu nào thuộc loại kiểu dữ liệu cơ bản?
ARRAY
POINTER
RECORD
STRING
Kiểu truy cập các phần tử trong một mảng là kiểu truy cập nào trong các kiểu dưới đây?
Kiểu truy cập ngẫu nhiên
Kiểu truy cập nhanh
Kiểu truy cập song song
Kiểu truy cập tuần tự.
Lựa chọn câu đúng nhất về danh sách liên kết đôi (Doubly Linked List)
Vùng liên kết của một phần tử trong danh sách liên đôi có 01 mối liên kết với 02 phần tử khác trong danh sách.
Vùng liên kết của một phần tử trong danh sách liên đôi có 02 mối liên kết với 01 phần tử khác trong danh sách.
Vùng liên kết của một phần tử trong danh sách liên đôi có 02 mối liên kết với phần tử đầu và cuối của danh sách.
Vùng liên kết của một phần tử trong danh sách liên đôi có 02 mối liên kết, 01 với phần tử trước và 01 với phần tử sau nó trong danh sách.
Lựa chọn định nghĩa đúng nhất về danh sách?
Danh sách là tập hợp các phần tử có cùng giá trị
Danh sách là tập hợp các phần tử có cùng kiểu dữ liệu.
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 đó.
Danh sách là tập hợp các phần tử mà giữa chúng có một mối liên hệ nào đó.
Một danh sách rỗng khi:
độ dài của danh sách bằng 0
độ dài của danh sách bằng 1
độ dài của danh sách không xác định
tổng giá trị các phần tử của danh sách bằng 0
Quan hệ phân cấp giữa các nút trong cây được gọi là quan hệ gì?
Không có quan hệ.
Quan hệ anh – em.
Quan hệ cha – con.
Quan hệ chú – cháu.
Tên của thuật toán sắp xếp mà tư tưởng của nó là phân hoạch dãy ban đầu thành các dãy con có vị trí tương đối với một phần tử trong dãy?
check_box Quick sort.
Bubble sort.
Heap sort.
Merge sort.
Theo thuật toán Merge sort, trong lần phân hoạch đầu tiên thì số phân hoạch theo phương pháp trộn trực tiếp so với số phân hoạch theo phương pháp trộn tự nhiên là?
check_box Không biết trước, tùy vào tình trạng của dãy ban đầu
Bằng nhau
Lớn hơn
Nhỏ hơn
Theo thuật toán Quick sort, về nguyên tắc thì điều kiện nào sau đây dùng để chọn khóa chốt?
check_box Chọn ngẫu nhiên
Là phần tử có giá trị lớn nhất
Là phần tử có giá trị nhỏ nhất
Luôn ở vị trí chính giữa của dãy
Thủ tục mô tả thuật toán sắp xếp chèn trực tiếp (Insertion sort):#define Max_Size …typedef Kieu_du_lieu KeyType;typedef struct KeyArray{KeyType Array[Max_Size];int n;};KeyArray Sortinsert( KeyArray a){int i,j;KeyType x;i = 1;while ( i <= a.n – 1 ){ x = a.Array[i] ; j = i – 1;while (( j >= 0 )&&(x < a.Array[j])){a.Array[j + 1] = a.Array[j]; j ––;}………… ;i++;}return a;}Chọn câu lệnh thích hợp để đưa vào (............) với mục tiêu đưa giá trị cần chèn vào vị trí.
check_box a.Array[j+1] = x
a.Array[i] = x
a.Array[j] = x
a.Array[j-1] = x
Thủ tục mô tả thuật toán sắp xếp chọn (Selection Sort):void SapXepChon (T M[], int N){ int K = 0, PosMin;int Temp;while (K < N-1){T Min = M[K];PosMin = K;for (int Pos = K+1; Pos < N; Pos++)if (Min > M[Pos]){Min = M[Pos];PosMin = Pos}................................... [1]................................... [2]................................... [3]K++;}return;}Chọn câu lệnh thích hợp để đưa vào [1], [2], [3] với mục tiêu hoán vị M[K] và M[PosMin]
check_box Temp = M[K] ;M[K] = M[PosMin];M[PosMin] = Temp ;
M[K] = Temp;M[K] = M[PosMin];M[PosMin] = Temp ;
Temp = M[K] ;M[PosMin] = M[K];M[PosMin] = Temp ;
Temp = M[K] ;Temp = M[PosMin];M[PosMin] = Temp;
Trong định nghĩa danh sách liên kết đôi, mỗi nút gồm bao nhiêu thành phần?
1 thành phần
2 thành phần
3 thành phần
4 thành phần
Trong việc cài đặt ngăn xếp bằng mảng A[…], nếu hiện tại ngăn xếp có n phần tử thì phần tử mới nhất vừa được đưa vào ngăn xếp vị trí nào trong mảng?
A[0]
A[1]
A[n]
A[n-1]
Trong việc cài đặt ngăn xếp bằng mảng A[…], ta sử dụng một biến top_id để lưu giữ đỉnh của ngăn xếp, nếu hiện tại ngăn xếp chưa có phần tử thì giá trị của top_id là bao nhiêu?
0
-1
n
n-1
Trong việc ứng dụng danh sách liên kết để tính toán giá trị của một đa thức 1 ẩn bậc n, để lưu trữ đa thức trong danh sách liên kết thì mỗi nút của danh sách thường có mấy trường:
1
2
3
4
Việc bổ sung thêm phần tử vào hàng đợi được thực hiện bằng đoạn mã dưới đây:void ENQUEUE(QUEUE_ARRAY q, ELEMENT e){if (IS_FULL(q)!= 0)printf("hang doi day khong the chen them");else{if (q.T == q.capacity–1)q.T=0;else…………..;q.ele[q.T]=e;q.S=q.S+1;}}Hãy lựa chọn câu trả lời đúng nhất nội dung điền vào chỗ trống (.........) của đoạn mã trên:
q.T=1
q.T=q.S+1
q.T=q.T+1
q.T=q.T-1
Việc cài đặt hàng đợi bằng mảng được thực hiện qua khai báo dưới đây:#define max Ntypedef int ELEMENT;struct QUEUE_ARRAY{ELEMENT ele[max];int capacity, H, T, S ;} q; Ý nghĩa đúng nhất của ELEMENT là:
Chứa các phần tử của Hàng đợi
Kiểu dữ liệu của các phần tử trong Hàng đợi
Số phần tử hiện thời của Hàng đợi
Vị trí đỉnh hiện tại của Hàng đợi
Việc cài đặt hàng đợi bằng mảng được thực hiện qua khai báo dưới đây:#define max Ntypedef int ELEMENT;struct QUEUE_ARRAY{ELEMENT ele[max];int capacity, H, T, S;} q; Ý nghĩa đúng nhất của q là:
Chứa các phần tử của hàng đợi
Độ lớn cực đại của hàng đợi
Kiểu dữ liệu của các phần tử trong hàng đợi
Tên của hàng đợi
Việc cài đặt hàng đợi bằng mảng được thực hiện qua khai báo dưới đây:#define max Ntypedef int ELEMENT;struct QUEUE_ARRAY{ELEMENT ele[max];int capacity, H, T, S;} q; Ý nghĩa đúng nhất của S là:
Độ lớn cực đại của hàng đợi
Kiểu dữ liệu của các phần tử trong hàng đợi
Số phần tử hiện thời của hàng đợi
Vị trí đỉnh hiện tại của hàng đợi
Việc cài đặt ngăn xếp bằng mảng được thực hiện qua khai báo dưới đây:#define max Ntypedef int ElementType;struct Stack{int Top_id;ElementType Element[max];};Stack S; Ý nghĩa đúng nhất của ElementType là:
Chứa các phần tử của Stack
Kiểu dữ liệu của các phần tử trong Stack
Số phần tử hiện thời của Stack
Vị trí đỉnh hiện tại của Stack
Việc cài đặt ngăn xếp bằng mảng được thực hiện qua khai báo dưới đây:#define max Ntypedef int ElementType;struct Stack{int Top_id;ElementType Element[max];};Stack S; Ý nghĩa đúng nhất của S là:
Chứa các phần tử của Stack
Độ lớn cực đại của Stack
Kiểu dữ liệu của các phần tử trong Stack
Tên của Stack
Việc kiểm tra hàng đợi có rỗng không được thực hiện bằng đoạn mã dưới đây:int IS_EMPTY(QUEUE_ARRAY q){if (………)return 1;elsereturn 0;} Hãy lựa chọn câu trả lời đúng nhất nội dung điền vào chỗ trống (.........) của đoạn mã trên:
q.S == 0
q.S == 1
q.S == -1
S == 0
Việc lấy một phần tử từ hàng đợi được thực hiện bằng đoạn mã dưới đây:ELEMENT DEQUEUE(QUEUE_ARRAY q){ELEMENT e;if (IS_EMPTY(q)!= 0)printf("hang doi rong khong the lay phan tu ra");else{e = q.ele[q.H];q.H =q.H + 1;q.S = ........;if (q.H == q.capacity)q.H = 0;}return e;}Hãy lựa chọn câu trả lời đúng nhất nội dung điền vào chỗ trống (.........) của đoạn mã trên:
q.H - 1
q.H + 1
q.S - 1
q.S + 1
Với cấu trúc dữ liệu như sautypedef struct DNode{int Key;DNode * NextNode;DNode * PreNode;} DOneNode;typedef DOneNode * DPointerType;typedef struct DLLPairNode{DPointerType DLLFirst;DPointerType DLLLast;} DLLPType;Hãy cho biết hàm sau dùng để làm gì?void DLLTravelling (DLLPType DList){DPointerType CurrNode = DList.DLLFirst;while (CurrNode != NULL){cout << CurrNode->Key;CurrNode = CurrNode->NextNode ;}return;}
Duyệt danh sách
Duyệt qua các nút trong danh sách và hiển thị nội dung của mỗi nút
Thêm một phần tử vào danh sách
Xoá một phần tử khỏi danh sách
Xét thủ tục sau:int TimKiemNP (int M[], int First, int Last, int X){if (First > Last)return (-1);int Mid = (First + Last)/2;if (X == M[Mid])return (Mid);if (X < M[Mid])return(TimKiemNP (M, First, Mid – 1, X));elsereturn(TimKiemNP (M, Mid + 1, Last, X));}Lựa chọn câu đúng nhất để mô tả thủ tục trên
check_box Hàm tìm kiếm đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ First đến chỉ số Last
Hàm tìm kiếm đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ Last đến chỉ số First
Hàm tìm kiếm không đệ quy phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ Last đến chỉ số First
Hàm tìm kiếm phần tử có giá trị là X trên mảng các phần tử từ chỉ số từ First đến chỉ số Last
Yêu cầu khi chọn kiểu dữ liệu cho chương trình là?
Có thể chọn bất cứ kiểu dữ liệu nào
Kiểu dữ liệu cần sát với kiểu giá trị của các thông tin đó trong thực tế.
Kiểu dữ liệu càng lớn càng tốt.
Kiểu dữ liệu càng nhỏ càng tốt.

Nếu bạn thấy tài liệu này có ích và muốn tặng chúng tớ 1 ly café
Hãy mở Momo hoặc ViettelPay và quét QRCode. Đây là sự động viên khích lệ rất lớn với chúng tớ và là nguồn lực không nhỏ để duy trì website

Momo
ViettelPay

Không tìm thấy đáp án? Cần hỗ trợ hoàn thành môn học EHOU? Cần tư vấn về học trực tuyến hay bạn chỉ muốn góp ý?
zalo.me/Thế Phong, SĐT 08 3533 8593

Cần hỗ trợ nhanh?
Truy cập Zalo hỗ trợ học tập tại ĐÂY.  Hoặc quét QRCode Zalo

Zalo hỗ trợ học tập

Cần hỗ trợ nhanh?
Truy cập Zalo hỗ trợ học tập tại ĐÂY.  Hoặc quét QRCode Zalo

Zalo hỗ trợ học tập