- Câu hỏi 170804:
Đâu là định nghĩa của Hàng đợi
A. dạng danh sách đặc biệt trong đó các phép toán thêm vào một phần tử mới hoặc loại bỏ một phần tử trong danh sách chỉ được phép thực hiện ở một đầu của danh sách
B. Cả hai đáp án đều sai
C. Cả hai đáp án đều đúng
D. một kiểu danh sách trong đó được trang bị hai phép toán bổ sung một phần tử vào cuối danh sách và loại bỏ một phần tử ở đầu danh sách
- Câu hỏi 170818:
Cho hàm tìm kiếm tuyến tính trong mảng 1 chiều có n phần tử
int Search( int a[], int n, int x)
{
int i;
for(i=0; i<n; i++)
if(a[i] == x) return i;
return(-1);
}
Chọn phát biểu đúng nhất trong các phát biểu sau
A. Hàm trả về vị trí phần tử đầu tiên có giá trị bằng x, ngược lại trả về -1
B. Hàm luôn luôn trả về vị trí phần tử cuối cùng có giá trị bằng x
C. Hàm trả về vị trí phần tử cuối cùng có giá trị bằng x, ngược lại trả về n
D. Hàm trả về vị trí phần tử cuối cùng có giá trị bằng x, ngược lại trả về -1
- Câu hỏi 83249:
Cho thuật toán tìm nhị phân không đệ quy sau:
int NrecBinarySearch( int M[], int N, int X)
{
int First = 0;
int Last = N -1;
while ( First <= Last)
{
int Mid = (First + Last)/2;
if ( X == M[Mid]) return Mid;
if ( X < M[Mid]) Last = Mid - 1;
else First = Mid + 1;
}
return -1;
}
Chọn câu đúng nhất trong trường hợp tốt nhất khi phần tử ở giữa của mảng có giá trị bằng X:
A. Số phép gán: Gmin = 3 Số phép so sánh: Smin = 2
B. Số phép gán: Gmin = 2 Số phép so sán: Smin = 3
C. Số phép gán: Gmin = 0 Số phép so sánh: Smin = 2
D. Số phép gán: Gmin = 2 Số phép so sánh: Smin = 2
- Câu hỏi 305018:
Cho khai báo CTDL như sau:
struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};
struct List{ Node *head, *tail;};
Đâu là đoạn mã để in ra màn hình thông tin đầy đủ của các Cán Bộ có trong danh sách liên kết.
A. void InDSCanBo (List Q)
{
Node *p;
for(p=Q.Head; p!=NULL; p=p->next)
if(p->info.hsl > 4)
{
System.out.print(“%5d”, p->info.mcb);
System.out.print(“%15s”, p->info.hoten);
System.out.print(“%10s”, p->info.ns);
System.out.print(“%7.1f”, p->info.hsl);
System.out.print(“%7.0f”, p->info.pc);
}
}
B. void InDSCanBo (List Q)
{
Node *p;
for(p=Q.Head; p!=NULL; p=p->next)
System.out.print(“%15s”, p->info.hoten);
}
C. void InDSCanBo (List Q)
{
float s;
for(p=Q.Head; p!=NULL; p=p->next)
s = s + p->info.hsl;
}
D. void InDSCanBo (List Q)
{
Node *p;
for(p=Q.Head; p!=NULL; p=p->next)
{
System.out.print(“%5d”, p->info.mcb);
System.out.print(“%15s”, p->info.hoten);
System.out.print(“%10s”, p->info.ns);
System.out.print(“%7.1f”, p->info.hsl);
System.out.print(“%7.0f”, p->info.pc);
}
}
- Câu hỏi 305021:
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đơn với mỗi nút gồm hai thành phần (infor, next) sau:
Node* get_node( Data x ){
Node *p;
p = (Node*)malloc(sizeof(Node));
if ( p == NULL )
{
printf(“Ko du bo nho”);
exit(1);
}
p -> infor = ……;
p -> next = NULL;
return p;
}
Điền phần còn thiếu vào chỗ …………..
- Câu hỏi 305030:
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đơn với mỗi nút gồm hai thành phần (infor, next) sau:
Node* get_node( Data x ){
Node *p;
p = (Node*)malloc(sizeof(Node));
if ( p == NULL )
{
printf(“Ko du bo nho”);
exit(1);
}
p -> infor = x;
p -> ….. = NULL;
return p;
}
Điền phần còn thiếu vào chỗ …………..
A. next
B. data
C. link
D. infor
- Câu hỏi 114200:
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp phân hoạch (Quick Sort), điểm chốt a[middle] ban đầu là:
A. Các đáp án đưa ra đều không đúng
B. a[middle] = 11
C. a[middle] = 23
D. a[middle] = 74
- Câu hỏi 241684:
Đoạn mã cài đặt hàm tìm kiếm nhị phân phần tử x trên dãy sắp xếp tăng dần:
int BinarySearch( int a[ ], int n, int x )
{
int left = ……….., right = ……………;
int middle;
do
{
middle = (left+right)/2;
if (x == a[middle]) break;
else if (x<a[middle]) right = middle - 1;
else left = middle + 1;
} while ( left <= right );
if ( left <= right ) return middle;
else return -1;//ko tìm thấy phần tử x
}
Giá trị được điền vào dấu ………... để đoạn mã cài đặt thực hiện đúng:
A. 0 và n-1
B. n và 1
C. n-1 và 0
D. 1 và n
- Câu hỏi 241695:
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, sau 4 lần lặp kết quả của dãy là thế nào?
A. 11, 23, 58, 42, 65, 74
B. 11, 23, 42, 58, 65, 74
C. 11, 23, 58, 42, 74, 65
D. 42, 23, 74, 11, 65, 58
- Câu hỏi 563560:
Để tính biểu thức s = xn với n>=0 ta chọn hàm
A. long F(int x, int n)
{
if (n==1)
return 1;
else
return x*F(x,n-1);
}
B. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*x*F(x,n-1);
}
C. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*F(x,n-1);
}
D. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*F(x,n);
}