1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc dữ liệu và giải thuật_Mở Hà Nội Phan3

39 228 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 301,04 KB
File đính kèm CauTrucDLGTphan3.rar (276 KB)

Nội dung

Bài tập trắc nghiệm cấu trúc dữ liệu và giải thuật Đai học Mở Hà Nội , tổng hợp tất cả câu hỏi đúng giúp bạn làm bài đạt kết quả, ôn tập cho kỳ thi cuối kỳ. Liên kết đơnliên kết đôiliên kết vòngtrăc nghiệm cấu trúc dữ liệu và giải thuật

Bài luyện tập trắc nghiệm 03 - LTTN03 1.Cho đoạn chương trình sau: void RemoveHead( DLIST &DQ ) { DNode*p; if ( DQ.Head != NULL) { p = DQ.Head; DQ.Head = DQ.Head -> next; ( ) free(p); if ( DQ.Head == NULL)DQ.Tail = NULL; } } Đoạn lệnh đưa vào (1) là? Chọn câu trả lời: a DQ.Head -> pre = NULL; DQ.Head -> next= NULL; Câu trả lời không b DQ.Head -> next = NULL; c DQ.Head -> pre = NULL; d Các đáp án sai 2.Đoạn mã để tạo nút có thành phần x danh sách liên kết đôi với nút gồm 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 ->infor = x; p -> … = NULL; p -> pre = NULL; return p; } Điền phần thiếu vào chỗ ………… Chọn câu trả lời: a # link b data c infor # d next 3.Cho Danh sách liên kết đôi chứa danh sách Cán Bộ (CB), Đoạn mã sau thực gì? void InDSCanBo (DList Q) { Node *p; for(p=Q.Tail; p!=NULL; p=p->pre) { 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); } } Chọn câu trả lời: a In đầy đủ thông tin tất cán chứa danh sách Q từ cuối danh sách đầu danh sách Câu trả lời b In đầy đủ thông tin tất cán chứa danh sách Q từ đầu danh sách cuối danh sách c In đầy đủ thông tin tất cán chứa danh sách Q d In danh sách tên cán có danh sách Q từ cuối danh sách đầu danh sách 4.Cho khai báo CTDL sau: struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next, *pre;}; struct List{ Node *head, *tail;}; Đâu đoạn mã để in hình thơng tin đầy đủ Cán Bộ có danh sách liên kết từ cuối trở đầu Chọn câu trả lời: a void InDSCanBo (DList Q) { Node *p= Q.Tail; While( p!=NULL) { 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 (DList 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 void InDSCanBo (DList Q) { Node *p= Q.Head; While( p!=NULL) { 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); } } d void InDSCanBo (DList Q) { Node *p; for(p=Q.Tail; p!=NULL; p=p->pre) { 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 trả lời 5.Tổ chức danh sách liên kết kép gồm có thành phần: Chọn câu trả lời: a thành phần Câu trả lời không b thành phần c thành phần d thành phần 6.Cho đoạn mã sau, cho biết kết x? Queue Q; Hàng đợi, ptu vơ trước trước InitQueue(Q); khởi tạo hàng rỗng Put(Q, “Green”); thêm ptu vào hàng đợi Put(Q, “Red”); Put(Q, “Yellow”); Get(Q,x); Chọn câu trả lời: a Yellow ko chon b Tất phương án sai Câu trả lời không c Red d Green 7.Các thao tác định nghĩa cho ngăn xếp cách tổng quát Chọn câu trả lời: a Push b Pop c Cả hai đáp án Câu trả lời d Cả hai đáp án sai 8.Cho khai báo cấu trúc: struct NodeQueue { int info; struct NodeQueue *next; struct NodeQueue *pre; }; struct Queue { NodeQueue *Rear, *Front; } Queue Q; Đoạn mã sau thực yêu cầu gì? void initQueue(Queue &Q) { Q.Rear = NULL; Q.Front = NULL; } Chọn câu trả lời: a Khởi tạo hàng đợi rỗng Câu trả lời b Khởi tạo danh sách rỗng c Khởi tạo mảng rỗng d Khởi tạo Stack rỗng 9.Cho đoạn mã sau stack s; for (int i = 1; i 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 điền vào [1] cho đúng? Chọn câu trả lời: a p -> pre = new_element; b new_element = p -> pre; c p -> pre = NULL; Câu trả lời không d p -> next = new_element; 12.Cho khai báo cấu trúc liệu sau: struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next, *pre;}; struct List{ Node *head, *tail;}; Đoạn mã sau thực yêu cầu gì? 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;} Chọn câu trả lời: a Thực tìm kiếm Cán theo tên cán b Thực tìm kiếm DSLK đơn chứa CanBo xem có CanBo có mã k hay không? Trả lại thông tin nút chứa cán tìm thấy ngược lại trả lại giá trị NULL Câu trả lời không c Thực tìm kiếm DSLK đơi có chứa Cán với tên k hay khơng? d Thực tìm kiếm DSLK kép chứa CanBo xem có CanBo có tên k hay khơng? Trả lại thơng tin nút chứa cán tìm thấy ngược lại trả lại giá trị NULL 13.Cho đoạn mã sau: struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next, *pre;}; struct List{ Node *head, *tail;}; Khai báo CTDL khai báo CTDL dạng gì? Chọn câu trả lời: a Danh sách liên kết vịng đơi b Danh sách liên kết đôi Câu trả lời c Danh sách liên kết đơn d Danh sách liên kết vòng 14.Cho đoạn chương trình sau: void RemoveTail ( DLIST &DQ ) { DNode *p; if ( DQ.Tail != NULL) { p = DQ.Tail; (1) free(p); if ( DQ.Head == NULL) DQ.Tail = NULL; else DQ.Head ->pre = NULL; } } Chọn câu trả lời: a DQ.Tail = DQ.Tail -> pre; DQ.Tail -> next = NULL; b DQ.Tail = DQ.Tail -> next; DQ.Tail -> next = NULL; Câu trả lời không c DQ.Tail -> next = NULL; d DQ.Head = DQ.Tail -> pre; DQ.Tail -> next = NULL; 15.Lựa chọn câu danh sách liên kết đôi Chọn câu trả lời: a Vùng liên kết phần tử danh sách liên kết đơi có 02 mối liên kết với phần tử trước sau danh sách Câu trả lời không b Vùng liên kết phần tử danh sách liên đơi có 02 mối liên kết với phần tử đầu cuối danh sách c Vùng liên kết phần tử danh sách đơi có 02 mối liên kết với 01 phần tử danh sách d Vùng liên kết phần tử danh sách liên đơi có 01 mối liên kết với 02 phần tử khác danh sách 16.Cho bước mơ tả thuật tốn sau: Nếu danh sách rỗng: DQ.Head = new_element; DQ.Tail = DQ.Head; Ngược lại (d/s khác rỗng): new_element -> next = DQ.Head; DQ.Head -> pre = new_element; DQ.Head = new_element; Đây mơ tả thuật tốn chèn phần tử vào danh sách liên kết đơi với vị trí chèn là? Chọn câu trả lời: a Chèn trước phần tử biết b Chèn sau phần tử biết c Chèn vào cuối danh sách d Chèn vào đầu danh sách Câu trả lời 17Để xếp phần tử danh sách liên kết có phương án sử dụng: Chọn câu trả lời: a phương án b phương án c phương án d phương án 18.Cho khai báo Stack sau: struct Stack { int top int nut[max]; }; Đoạn mã thực 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; } } Chọn câu trả lời: a Chèn thêm phần tử vào đỉnh Stack Câu trả lời b Thự chiện xoá phần tử có đỉnh Stack c Thực in phần tử có Stack d Trả lại giá trị phần tử đỉnh Stack 19.Cho khai báo Stack sau: struct Stack { int top int nut[max]; }; Cho biết phần tử lấy cuối Stack sau bảo nhiêu? int a[] = {4, 5, 6, 7, 8}; int n = 5; Stack s; for(int i = 0; ikey == x) return -1; if (T->key > x) return insertNode(T->Left, x); else if (T->key < x) return insertNode(T->Right, x); } T = (Node *) malloc(sizeof(Node)); if (T == NULL) return 0; T->key = x; T->Left = T->Right = NULL; return 1;} void DuyetCay(Tree T){ if(T!=NULL) { LNR(T->Left); printf("%7d",T->key); LNR(T->Right); }} void CreateTree_mang(Tree &T){ int x; int n=7; int a[] = { 8, 6, 10, 4, 9, 7, 11}; for(int i=0;i; NLR ( Root -> Left ); NLR(Root->Left) ; [1] ……… } } Đoạn mã điền vào phần trống dòng số [1] Chọn câu trả lời: a NLR ( Root -> Left ); b NLR ( Root -> Right ); Câu trả lời c LRN ( Root -> Left ); d LRN ( Root -> Right ); 19.Bậc nút có nghĩa gì? Chọn câu trả lời: a Là số nhánh nút Câu trả lời b Là số nhánh nhỏ nút nút c Là số nhánh phải nút d Là số nhánh trái nút 20.Phương pháp duyệt NLR phương pháp duyệt gì? Chọn câu trả lời: a Node - Left - Right Câu trả lời b Cả lựa chọn c Left - Node - Righ d Left - Right - Node 21.Cho biết kết duyệt sau phương pháp duyệt NLR (Node-Left-Right)? Chọn câu trả lời: a 28, 30, 32, 35, 38, 40, 45, 47, 50, 55 b 55, 50, 45, 47, 40, 38, 35, 32, 30, 28 c 28, 32, 30, 38, 35, 47, 45, 55, 50, 40 d 40, 35, 30, 28, 32, 38, 50, 45, 47, 55 Câu trả lời 22Cho biết nút có bậc hình ảnh sau: Chọn câu trả lời: a 28, 30, 32, 35, 38 b 30, 35, 50, 40 Câu trả lời c 45, 47, 50, 55 d 28, 32, 38, 47, 55 23.Cho NPTK, chọn biểu thức tương ứng với cây: Chọn câu trả lời: a (3+4*8-2*6) b (3+4)*((8-2)*6) c (3+4)*(8-(2*6)) Câu trả lời không 24.Cho NPTK, Cho biết kết duyệt theo thứ tự LRN là: Chọn câu trả lời: a 6, 8, 11, 14, 16, 30, 31, 33, 36, 46 b 46, 36, 33, 31, 30, 16, 14, 11, 8, c 8, 6, 14, 16, 11, 33, 31, 46, 36, 30 Câu trả lời d 30, 11, 6, 8, 16, 14, 36, 31, 33, 46 25.Cho NPTK, Cho biết kết duyệt theo thứ tự RNL là: Chọn câu trả lời: a 46, 36, 33, 31, 30, 16, 14, 11, 8, b 8, 6, 14, 16, 11, 33, 31, 46, 36, 30 c 6, 8, 11, 14, 16, 30, 31, 33, 36, 46 d 30, 11, 6, 8, 16, 14, 36, 31, 33, 46 Câu trả lời không 26.Thao tác thêm phần tử vào so sánh giá trị phần tử cần thêm vào so với nút xét phần tử cần thêm vào lớn thêm vào vị trí nào? Chọn câu trả lời: a Phần tử bổ sung vào nhánh phải nút xét Câu trả lời không b Cả hai phát biểu sai c Cả hai phát biểu d Phần tử bổ sung vào nhánh trái nút xét 27.Cho phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32 Tạo NPTK từ phần tử Hãy cho biết sau xóa phần tử 33 sau áp dụng phương pháp duyệt NLR kết thu thứ tự phần tử nào? Chọn câu trả lời: a 17, 19, 20, 31, 32, 36, 41 b 31, 19, 36, 20, 41, 17, 32 c 31, 19, 17, 20, 36, 32, 41 Câu trả lời d 17, 20, 19, 32, 41, 36, 31 28.Cho phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32 Tạo NPTK từ phần tử Hãy cho biết sau xóa phần tử 33 sau áp dụng phương pháp duyệt RNL kết thu thứ tự phần tử nào? Chọn câu trả lời: a 31, 19, 36, 20, 41, 17, 32 b 31, 36, 41, 32, 19, 20, 17 c 41, 32, 36, 20, 17, 19, 31 d 41, 36, 32, 31, 20, 19, 17 Câu trả lời 29.Phần tử mạng dùng xóa nút trường hợp nút có hai nhánh gì? Chọn câu trả lời: a phần tử nhỏ số phần tử bên nhánh phải b Cả hai phát biểu Câu trả lời c phần tử lớn số phần tử bên nhánh trái d Cả hai phát biểu sai 30Cho phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32 Tạo NPTK từ phần tử Hãy cho biết sau xóa phần tử 33 sau áp dụng phương pháp duyệt NRL kết thu thứ tự phần tử nào? Chọn câu trả lời: a 41, 36, 32, 31, 20, 19, 17 b 41, 32, 36, 20, 17, 19, 31 c 31, 36, 41, 32, 19, 20, 17 Câu trả lời d 31, 19, 36, 20, 41, 17, 32 Bài trắc nghiệm đồ thị -1Ma trận kề biểu diễn đồ thị số cho hình vẽ Đồ thị vô hướng G = gồm n đỉnh đỉnh có số bậc có cạnh Chọn câu trả lời: a N cạnh b 6n cạnh Câu trả lời không c 2n cạnh d 3n cạnh 3Cho đồ thị vô hướng hình vẽ Đỉnh đỉnh lập đồ thị Chọn câu trả lời: a Đỉnh a b Đỉnh d c Đỉnh b d Đỉnh f Câu trả lời 4Tổng phần tử hàng cột ma trận kề đồ thị vô hướng G = Chọn câu trả lời: a Số cạnh liên thuộc với đỉnh cột hàng Câu trả lời b Tổng bán đỉnh bậc tất đỉnh c Hai lần số cạnh đồ thị d Một nửa số cạnh đồ thị 5Cho đồ thị sau: Cho biết ma trận kề biểu diễn đồ thị gì? Chọn câu trả lời: 6Cho hàm tìm kiếm tuyến tính mảng chiều có n phần tử int Search( int a[], int n, int x) { int i; for(i=0; i next = Q.Head; Q.Head = new_element; } } Đoạn mã thiếu để đặt vào dòn số [1] [2] Chọn câu trả lời: a Q.Head = new_element; Q.Tail = Q.Head; Câu trả lời b Q.Tail = Q.Head; Q.Head = new_element; c Q.Head = Q.Head; Q.Tail = new_element; d Q.Tail = NULL; Q.Head = NULL; 9Các trường hợp chèn thêm phần tử vào danh sách liên kết đơn gồm: Chọn câu trả lời: a Chèn thêm vào cuối danh sách vào sau phần tử q biết Câu trả lời không b Chèn thêm vào đầu danh sách vào sau phần tử q biết c Chèn thêm vào đầu danh sách, vào cuối danh sách vào sau phần tử q biết d Chèn thêm vào đầu danh sách vào cuối danh sách 10Để tiến hành tìm kiếm phần tử danh sách liên kết đơn sử dụng phương pháp tìm kiếm gì? Chọn câu trả lời: a Tìm kiếm tuyến tính b Tìm kiếm tuyến tính tìm kiếm nhị phân Câu trả lời không c Tất đáp án d Tìm kiếm nhị phân 11Đâu định nghĩa Ngăn xếp Chọn câu trả lời: a Cả hai đáp án sai b Cả hai đáp án c Dạng danh sách đặc biệt phép tốn thêm vào phần tử loại bỏ phần tử danh sách phép thực đầu danh sách Câu trả lời d Một kiểu danh sách trang bị hai phép tốn bổ sung phần tử vào cuối danh sách loại bỏ phần tử đầu danh sách 12Cho biết nút có bậc hình ảnh sau: Chọn câu trả lời: a 45, 47, 50, 55 b 28, 30, 32, 35, 38 c 30, 35, 50, 40 d 28, 32, 38, 47, 55 Câu trả lời 13Cây đồ thị vô hướng liên thông Chọn câu trả lời: a Khơng có chu trình Câu trả lời b Khơng có cạnh cầu c Khơng có đỉnh treo d Khơng có đỉnh lập 14Cho đồ thị vơ hướng hình vẽ Đỉnh đỉnh treo đồ thị: Chọn câu trả lời: a Đỉnh d b Đỉnh b c Đỉnh a d Đỉnh f Câu trả lời 15Tổng phần tử hàng i, cột j ma trận kề đồ thị vô hướng G = Chọn câu trả lời: a Cả ba phương án sai b Hai lần số bậc đỉnh i, đỉnh j c Bậc đỉnh i, đỉnh j Câu trả lời d Một nửa số bậc đỉnh i, đỉnh j 16Tổng phần tử hàng i, cột j ma trận kề đồ thị có hướng G = bằng: Chọn câu trả lời: a Bán đỉnh bậc đỉnh i, bán đỉnh bậc đỉnh j Câu trả lời không b Bán đỉnh bậc vào đỉnh i, bán đỉnh bậc vào đỉnh j c Bán đỉnh bậc đỉnh i, bán đỉnh bậc vào đỉnh j d Bán đỉnh bậc vào đỉnh i, bán đỉnh bậc đỉnh j 17Cho khai báo cấu trúc đồ thị dạng ma trận trọng số sau: struct DoThi{ int n; float C[max][max];}; Cho biết đoạn chương trình sau thực gì? void XuLy(DoThi G){ printf("\n Ma tran so la:\n"); for(int i =1; inext) if(p->info.pc < q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; } } b void SXCBThanhTien(List &Q) { Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q>next) if(p->info.hsl > q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; } } c void SXCBThanhTien(List &Q) { Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q>next) if(p->info.hsl < q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; } } d void SXCBThanhTien(List &Q) { Node *p=Q.Head,*q; CB tg; while(p!=NULL) { q=p->next; while(q!=NULL) if(p->info.pc > q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; } } } Câu trả lời không 21 Cho khai báo CTDL 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 đoạn mã tính tổng tiền lương CanBo DSLK đơn Chọn câu trả lời: a void TinhTongLuong (List Q){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) printf(“%7.1f”, p->info.tt); } 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.hsl; return s;} d 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;} Câu trả lời 22 Cho Danh sách liên kết đơn chứa danh sách Cán Bộ (CB), Đoạn mã sau thực gì? 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); } } Chọn câu trả lời: a In thơng tin cán có danh sách mà có hệ số lương lớn hớn 3.5 b In họ tên mã cán chứa danh sách c Nhập vào từ bàn phím thơng tin đầy đủ cán vào danh sách Q d In đầy đủ thông tin tất cán chứa danh sách Q 23Cho đoạn mã 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;}; Khai báo Cấu trúc liệu khai báo CTDL dạng gì? Chọn câu trả lời: a Danh sách liên kết vịng đơi b Danh sách liên kết đơn c Danh sách liên kết vòng d Danh sách liên kết đôi Câu trả lời không Link tải mơn khác: https://123docz.net/users/home/user_control_doc.php? a=0&use_id=8066260&page=1 Mình nhận làm trắc nghiệm tất môn, đảm bảo từ điểm trở lên Liên hệ zalo 0583699405

Ngày đăng: 18/09/2021, 22:48

TỪ KHÓA LIÊN QUAN

w