Câu hỏi 170761:
Để tiến hành tìm kiếm một phần tử trong danh sách liên kết đôi sử dụng phương pháp tìm kiếm gì?
Để tiến hành tìm kiếm một phần tử trong danh sách liên kết đôi sử dụng phương pháp tìm kiếm gì?
Đ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 đôi với mỗi nút gồm các thành phần (infor, next, pre) sau:
Node* get_node( Data x ){
Node *p;
p = (Node*)malloc(sizeof(Node));
if ( p == NULL )
{
printf(“Ko du bo nho”);
exit(1);
}
p -> …….. = x;
p -> next = NULL;
p -> pre = NULL;
return p;
}
Điền phần còn thiếu vào chỗ …………..
Để sử dụng hàm cấp phát bộ nhớ malloc(), calloc(), new(). Ta phải sử dụng thư viện nào?
Để sắp xếp các phần tử của danh sách liên kết có mấy phương án sử dụng:
Đị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:
struct Node
{
int Key;
struct Node *next;
struct Node *pre;
};
Trong đó, khai báo Node *next dùng để mô tả
Thao tác thêm một phần tử vào cây khi so sánh giá trị của phần tử cần thêm vào so với nút đang xét nếu phần tử cần thêm vào lớn hơn thì được thêm vào vị trí nào?
Cho dãy số sau: 30, 18, 35, 17, 40, 16, 32, 31, 43, 19. Cho biết kết quả khi duyệt cây được tạo lần lượt từ các phần tử trên bằng phương pháp duyệt RNL(Right Node Left):
Tổng các phần tử trên một hàng hoặc của một cột trong ma trận kề của đồ thị vô hướng G = <V,E> đúng bằng
Tổng các phần tử hàng i, cột j của ma trận kề đồ thị vô hướng G = <V,E> đúng bằng
Cho khai báo cấu trúc đồ thị dạng danh sách cạnh như sau:
struct Canh
{
int dd,dc;
float ts;
};
struct DoThiCanh
{
int m;
Canh ds[max];
};
Đâu là đoạn mã để liệt kê danh sách tất cả các cạnh hiện có của đồ thị
Ngăn xếp còn được gọi là danh sách
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]);
Cho khai báo Stack như sau:
struct Stack
{
char color[15];
int nut[max];
};
Cho biết kết quả giá trị được in ra màn hình là gì?
Push(s, “Red”);
Push(s, “Green”);
Push(s, “Blue”);
printf(“\n%15s”, Pop(s));
printf(“\n%15s”, Pop(s));
Cho dãy số sau: 30, 18, 35, 17, 40, 16, 32, 31, 43, 19. Cho biết kết quả khi duyệt cây được tạo lần lượt từ các phần tử trên bằng phương pháp duyệt NLR (Node Left Right):
Các trường hợp có thể xảy ra khi xóa một phần tử khỏi cây NPTK gồm:
Trong đồ thị vô hướng, số đỉnh bậc lẻ là một số
Cho biết đây là ý tưởng của thuật toán nào:
Xuất phát từ dãy đầu a0, a1, …, ai, xét các phần tử sau đó từ ai+1 đến an xem có phần tử nào nhỏ hơn ai không thì hoán đổi vị trí => Sau mỗi lần luôn được dãy a0, a1, …, ai đã được sắp thứ tự
Ý tưởng của thuật toán sắp xếp InsertionSort
Cho khai báo cấu trúc đồ thị dạng ma trận trọng số như sau:
struct DoThi{ int n; float C[max][max];};
Cho biết đoạn chương trình con sau thực hiện gì?
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
Các thành phần của danh sách liên kết kép gồm:
Cho đoạn chương trình như sau:
void RemoveHead( DLIST &DQ )
{
DNode*p;
if ( DQ.Head != NULL)
{
p = DQ.Head;
DQ.Head = DQ.Head -> next;
(...1...)
free(p);
if ( DQ.Head == NULL)DQ.Tail = NULL;
}
}
Đoạn lệnh được đưa vào (1) là?
Để giúp chúng tôi phát triển sản phẩm tốt hơn, đạt kết quả học tập cao hơn















