[Unable to find Component]

Cấu trúc dữ liệu và giải thuật - IT05 (255)

Câu hỏi 170826:

Cho khai báo CTDL như sau:

struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next;};

struct List{ Node *head, *tail;};

Đâu là đoạn mã tìm kiếm CanBo theo mã cán bộ trong DSLK đơn

A. Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.ns,k)==0) break; return p;}
B. Node *TimCBMa(List Q,int k){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->info.mcb == k) break;
return p;}
C. Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.hoten,k)==0) break; return p;}
D. void TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->mcb == k) break;}

Câu hỏi 170825:

Danh sách được cài đặt bằng cách nào:

A. Cài đặt bằng mảng
B. Cài đặt bằng danh sách liên kết
C. Cả hai đáp án đều sai
D. Cả hai đáp án đều đúng

Câu hỏi 170824:

Các thành phần của danh sách đơn gồm:

A. Dữ liệu (data)
B. Liên kết (link)
C. Số phần tử của danh sách (number)
D. Dữ liệu (data) và liên kết (link)

Câu hỏi 170823:

Đoạn mã cài đặt chèn thêm một phần tử mới vào đầu của danh sách liên kết đơn:

void insertFirst ( LIST &Q, Node *new_element ){

if ( Q.Head == NULL ) //nếu danh sách rỗng

{

Q.Head = new_element;

Q.Tail = Q.Head;

}

else//danh sách không rỗng

{

[1] ……………

[2] ……………

}

}

Đoạn mã còn thiếu để đặt vào dòn số [1] và [2].

A. Q.Head = new_element;
new_element -> next = Q.Head;
B. new_element -> next = Q.Head;
Q.Head = new_element;
C. new_element -> next = Q.Head;
Q.Head -> next = new_element;
D. new_element -> next = NULL;
Q.Head -> next = new_element;

Câu hỏi 170822:

Cho khai báo CTDL như sau:

struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,thanhtien;};struct Node{ CB info; struct Node *next;};

struct List{ Node *head, *tail;};

Đâu là đoạn mã tính tổng tiền lương của các CanBo trong DSLK đơn.

A. float TinhTongLuong (List Q){ Node *p;
float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.hsl;
return s;}
B. float TinhTongLuong (List Q){ Node *p;
float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;
return s;}
C. float TinhTongLuong (List Q){ Node *p;
float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.thanhtien;
return s;}
D. void TinhTongLuong (List Q){ Node *p;

for(p=Q.Head; p!=NULL; p=p->next) printf(“%7.1f”, p->info.tt);
}

Câu hỏi 170821:

Danh sách liên kết là gì?

A. là tập hợp các phần tử liên kết móc nối liên tiếp với nhau, có kiểu truy cập ngẫu nhiên. Mỗi phần tử là một nút.
B. Cả hai phát biểu đều đúng
C. Cả hai phát biểu đều sai
D. là tập hợp các phần tử liên kết móc nối liên tiếp với nhau, có kiểu truy cập tuần tự. Mỗi phần tử là một nút.

Câu hỏi 170820:

Các trường hợp thực hiện hủy phần tử khỏi danh sách liên kết đơn gồm:

A. Hủy phần tử đầu danh sách, hủy phần tử đứng sau phần tử q và hủy phần tử có giá trị xác định k
B. Hủy phần tử có giá trị xác định k và hủy phần tử đứng sau phần tử q
C. Hủy phần tử đầu danh sách và hủy phần tử đứng sau phần tử q
D. Hủy phần tử đầu danh sách và hủy phần tử có giá trị xác định k

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 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 170817:

Cho mảng a gồm các phẩn tử có giá trị như sau:

3126

Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán đổi chỗ trực tiếp (Interchange Sort) để sắp xếp mảng tăng dần là:

A. 4
B. 3
C. 5
D. 2

Câu hỏi 170816:

Đoạn mô tả này thuộc thuật toán nào:

Bước 1: i = 0

Bước 2: tính các giá trị j = i + 1

Bước 3: Trong khi j<n thực hiện

- nếu a[j] < a[i] thì hoán đổi a[i] với a[j]

- j = j + 1;

Bước 4: i = i +1

nếu i<n-1 thì lặp lại bước 2, ngược lại thì dừng

A.

Tìm kiếm nhị phân

B. Tìm kiếm tuyến tính
C. Sắp xếp chèn trực tiếp
.
D. Sắp xếp đổi chỗ trực tiếp

Câu hỏi 170815:

Bậc của nút trong cây có nghĩa là gì?

A. Là số nhánh con phải của nút đó
B. Là số nhánh con của nút đó
C. Là số nhánh con nhỏ nhất của nút con của nút đó
D. Là số nhánh con trái của nút đó

Câu hỏi 170814:

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 RLN 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. 41, 32, 36, 20, 17, 19, 31
C. 31, 36, 41, 32, 19, 20, 17
D. 41, 36, 32, 31, 20, 19, 17

Câu hỏi 563558:

Độ phức tạp thuật toán được đánh giá có loại nào?

A. Cả hai loại được liệt kê
B. Độ phức tạp thời gian
C. Độ phức tạp không gian
D. Không phải các loại liệt kê

Câu hỏi 563557:

Thuật toán được biểu diễn bằng cách nào

A. Sơ đồ khối
B. Tất cả các cách được liệt kê
C. Giả mã
D. Liệt kê từng bước

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

Câu hỏi 563555:

Để tính biểu thức s = ½ + 2/3 + ¾ + … + n/(n+1) ta chọn hàm

A. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)(n+1)/(n+1) + F(n-1);
}
B. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/ ( n) + F(n-1);
}
C. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/(n+1) + F(n-1);
}
D. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/(n+1) + F (n-1);
}

Câu hỏi 563554:

Để tính biểu thức s = ½ + ¼ + … + 1/(2n) với n>=1 ta chọn hàm

A. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/n + F(n-1);
}
B. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/2*n + F(n-1);
}
C. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/(2*n) + F(n-1);
}
D. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/(2*n) + F1(n-1);
}

Câu hỏi 563553:

Cho biết kết xuất của đoạn chương trình sau:

long F(int n)

{

if ((2*n+1) ==1)

return 1;

else

return (2*n+1)+F(n-1);

}

void main()

{

long x=F(3);

printf("%ld", x);

}

A. 16
B. 6
C. 16.00
D. 9

Câu hỏi 563552:

Trong giải thuật đệ quy thì lời giải trực tiếp mà không phải nhờ đến một bài toán con nào đó là thành phần nào?

A. Công thức tổng quát
B. Phần tử neo
C. Cả hai lựa chọn đều sai
D. Cả hai lựa chọn đều đúng
Trung tâm giáo dục thể chất và quốc phòng an ninh
Khoa kinh tế
Khoa đào tạo từ xa
Trung tâm đào tạo trực tuyến
Khoa đào tạo cơ bản
Khoa điện - điện tử
Khoa du lịch
Khoa Công nghệ thông tin
Viện Công nghệ sinh học và Công nghệ thực phẩm
Trung tâm đại học Mở Hà Nội tại Đà Nẵng
Khoa tiếng Trung Quốc
Khoa tạo dáng công nghiệp
Khoa tài chính ngân hàng
Khoa Tiếng anh
Khoa Luật

Bản tin HOU-TV số 06 năm 2025

Tuyển sinh đại học Mở Hà Nội - HOU

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.