- Câu hỏi 313113:
Cho đoạn chương trình như sau:
void AddAfter(DLIST &DQ, DNode *q, DNode *new_element)
{
DNode *p = q -> next;
if (q != NULL)
{
new_element -> next = p;
new_element -> pre = q;
q -> next = new_element;
if (p != NULL)
…[1]…
if (q == DQ.Tail)
DQ.Tail = new_element;
}
else
AddFirst( DQ, new_element);
}
Đoạn lệnh nào được điền vào [1] cho đúng?
A. p -> pre = new_element;
B. p -> next = new_element;
C. new_element = p -> pre;
D. p -> pre = NULL;
- Câu hỏi 313117:
Cho khai báo Stack như sau:
struct Stack
{
int top
int nut[max];
};
Cho biết phần tử đỉnh hiện tại của Stack là bao nhiều?
int a[] = {4, 5, 6, 7, 8};
int n = 5;
Stack s;
for(int i = 0; i<n; i++)
push(s, a[i]);
- Câu hỏi 170775:
Cho khai báo Stack như sau:
struct Stack
{
int top
int nut[max];
};
Đoạn mã thực hiện thao tác gì?
void Push( Stack &s, int x)
{
if ( isFull(s) == 1)
{
printf("Stack day");
exit(1);
}
else
{
s.top = s.top + 1;
s.nut[ s.top ] = x;
}
}
A. Thực hiện in lần lượt các phần tử đang có trong Stack
B. Chèn thêm phần tử mới vào đỉnh của Stack
C. Thự chiện xoá phần tử đang có ở đỉnh của Stack
D. Trả lại giá trị phần tử đỉnh của Stack
- Câu hỏi 170781:
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt NLR thì kết quả thu được thứ tự các phần tử là như thế nào?
A. 31, 19, 36, 20, 41, 17, 32
B. 17, 19, 20, 31, 32, 36, 41
C. 17, 20, 19, 32, 41, 36, 31
D. 31, 19, 17, 20, 36, 32, 41
- Câu hỏi 170798:
Các ứng dụng cơ bản của hàng đợi gồm
A. Tất cả các phương án đều sai
B. Đảo ngược xâu ký dự
C. Tất cả các phương án đều đúng
D. Chuyển đổi cơ số
- Câu hỏi 170819:
Để sắp xếp các phần tử của danh sách liên kết đơn sử dụng phương án nào?
A. Tất cả các đáp án đều sai
B. Hoán vị nội dung của phần tử
C. Cả hai phương án trên đều đúng
D. Thay đổi mối liên kết của phần tử
- Câu hỏi 114188:
Các bước thực hiện tìm kiếm nhị phân phần tử x trên dẫy sắp xếp tăng dần được mô tả như sau:
Bước 1: Khởi đầu tìm kiếm trên tất cả các phần tử của dãy c left = …………… và right = ………………
Bước 2: Tính middle = (left + right)/2. So sánh a[middle] với x. Có 3 khả năng:
- a[middle] = x => Tìm thấy => Dừng
- a[middle] > x => tiếp tục tìm x trong dãy con mới với right = middle - 1 (tìm trong nửa đầu)
- a[middle] < x => tiếp tục tìm x trong dãy con mới với left = middle + 1 (tìm trong nửa cuối)
Bước 3:
- Nếu left <= right => dãy còn phần tử, tiếp tục quay lại bước 2 để tìm kiếm tiếp
- Ngược lại => Dãy hiện hành hết phần tử và dừng thuật toán
Giá trị cần điền vào dấu ………….. là bao nhiêu để thuật toán thực hiện đúng
A. n và 0
B. 0 và n-1
C. n-1 và 0
D. 0 và n
- Câu hỏi 114201:
Thủ tục mô tả thuật toán sắp xếp chọn trực tiếp:
void SapXepChonTrucTiep( T M[], int N)
{
int K = 0, posmin;
int Temp;
................................................
{
T Min = M[K];
Posmin = K;
for( int pos = K+1; pos<N; pos++)
if( Min > M[pos])
{
Min = M[pos];
Posmin = pos;
}
Temp = M[k];
M[k] = m[posmin];
M[posmin] = Temp;
}
return;
}
Đoạn mã cần thiết để đặt vào dòng .....................để chương trình sắp xếp đúng
A. for ( k =0; k<n-1; k++)
B. for ( k =n-1; k>0; k--)
C. for ( k =n; k>0; k--)
D. for ( k =0; k<n-1; k--)
- Câu hỏi 563556:
Để xác định giải thuật đệ quy cần xác định gì?
A. Phần tử neo
B. Cả hai lựa chọn đều đúng
C. Công thức tổng quát
D. Cả hai lựa chọn đều sai