Ôn tập, cấu trúc dữ liệu

34 1.4K 13
Ôn tập, cấu trúc dữ liệu

Đ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

Ôn tập môn CTDL Ôn tập môn CTDL Năm 2013 PGS.TS. Trần Cao Đệ Bài 1 – LT - TH Một phân số a/b (với a,b là số nguyên và b khác 0) được biểu diễn như một bản ghi có hai trường: Tử số và mẫu số. Hãy viết các khai báo thích hợp để cài đặt một danh sách liên kết chứa các phần tử là phân số. Dùng các khai báo đó để viết:  Thủ tục để tạo danh sách L rỗng.  Thủ tục thêm một phần tử vào đầu danh sách.  Viết thủ tục làm tối giản tất cả các phân số có trong danh sách (phân số tối giản thì ước chung lớn nhất của tử số và mẫu số bằng 1).  Thủ tục (hoặc hàm) tìm trong danh sách L hai phần tử có tích bằng 1. Nếu tìm thấy thì trả ra một cặp con trỏ trỏ đến hai phần tử đó. Nếu không tìm thấy thì trả ra cặp (NULL,NULL) trong đó NULL là giá trị qui ước con trỏ không có giá trị.  Thủ tục tìm kiếm và xóa các phần tử của danh sách có tử số lớn hơn mẫu số. Bài 12  Một phân số a/b (với a,b là số nguyên và b khác 0) được biểu diễn như một bản ghi có hai trường: Tử số và mẫu số. Hãy viết các khai báo thích hợp để cài đặt một danh sách liên kết chứa các phần tử là phân số. Dùng các khai báo đó để viết: • Thủ tục để tạo danh sách L rỗng. • Thủ tục thêm một phần tử vào đầu danh sách. • Thủ tục in ra các phần tử trong danh sách • Viết thủ tục làm tối giản tất cả các phân số có trong danh sách (phân số tối giản thì ước chung lớn nhất của tử số và mẫu số bằng 1). • Thủ tục tìm kiếm và xóa các phần tử của danh sách có tử số lớn hơn mẫu số. • Thủ tục (hoặc hàm) tìm trong danh sách L hai phần tử có tích bằng 1. Nếu tìm thấy thì trả ra một cặp con trỏ trỏ đến hai phần tử đó. Nếu không tìm thấy thì trả ra cặp (NULL,NULL) #include <stdio.h> #include <malloc.h> typedef struct { int Tuso; int Mauso; } ElementType; //ki?u c?a ph?n t? trong danh sách typedef struct Node{ ElementType Element Node* Next; }; typedef Node* Position; // Ki?u v? trí typedef Position List; void MAKENULL_LIST(List& Header){ (Header)=(Node*)malloc(sizeof(Node)); Header->Next= NULL; } void INSERT_FIRST_LIST(ElementType X, List& L){ Position T=(Node*)malloc(sizeof(Node)); T->Element=X; T->Next=L->Next; L->Next=T; } Co san INSERT_LIST(X,P,L) Goi void INSERT_FIRST_LIST(ElementType X, List& L){ INSERT_LIST(X,???,L); } void DELETE_LIST(Position P, List& L){ Position T; if (P->Next!=NULL){ T=P->Next; P->Next=T->Next; free(T); //thu h?i vùng nh? } }  void READ_LIST_REVERSE(List& L){  int n;  ElementType x;  printf("Nhap so phan tu cua danh sach: ");  scanf("%d",&n);  for (int i=1; i<=n; i++){  printf("nhap phan so thu %d: ",i);  printf("nhap tu so ");  scanf("%d",&x.Tuso);  printf("nhap mau so ");  scanf("%d",&x.Mauso);  INSERT_FIRST_LIST(x, L);  }  } void PRINT_LIST(List& L){ printf ("cac phan so trong danh sach la: "); for(Position p = L; p->Next!=NULL; p=p->Next) printf("%d / %d; ",p->Next->Element.Tuso, p->Next->Element.Mauso); printf("\n"); } int UCLN(int a, int b){ if (a==b) return a; else if (a>b) return UCLN(a-b,b); else return UCLN(a,b-a); } [...]... nguyên Dùng các khai báo đó để viết:  Hàm kiểm tra một nút có phải là nút lá hay không Hàm phải trả về true nếu nút là nút lá, trả về false nếu nút không phải là nút lá  Hàm đếm số nút chỉ có một nút con trên cây  Hàm tìm kiếm một nút có khóa k trên cây Hàm phải trả ra con trỏ trỏ đến nút chứa khóa k hoặc trả ra NULL nếu không có nút nào chứa khóa k  Thủ tục thực hiện duyệt cây theo mức Bài 10 - LT... có nhãn là số nguyên Dùng các khai báo đó để viết:  Hàm kiểm tra hai nút n,m có phải là hai nút anh em ruột hay không Hàm phải trả ra true nếu n,m là hai nút anh em ruột (có cùng nút cha); ngược lại hàm trả về false  Hàm kiểm tra một nút n có phải là tổ tiên (ancestor) của nút m hay không Hàm trả về true nếu n là tổ tiên của m; ngược lại hàm trả về false  Hàm trả ra số nút chỉ có một nút con trên...  Thủ tục (hoặc hàm) tìm trong danh sách L hai phần tử đối xứng nhau qua gốc tọa độ (0,0) Nếu tìm thấy thì trả ra một cặp con trỏ trỏ đến hai phần tử đó Nếu không tìm thấy thì trả ra cặp (NULL,NULL) trong đó NULL là giá trị qui ước con trỏ không có giá trị Bài 3-LT-TH    Viết thủ tục đổi số thập phân sang số thập lục phân Viết chương trình cho phép nhập vào số nguyên và đổi nó ra số thập lục phân... h(x)=(x.mssv % B) Viết chương trình cho phép: Nhập vào một số sinh viên Tìm kiếm một Sv khi cho MSSV Xóa một SV khi biết MSSV In danh sách tất cả sinh viên có trong bảng băm theo thứ tự trong bảng băm HẾT MÔN HỌC Good luck ! Sửa bài 9 – BB mở x h(x)=x % 11 36 3 29 7 26 4 14 3 23 1 46 2 58 3 12 1 31 9 20 9 0 1 2 3 4 5 6 7 8 9 10 23 46 36 26 12 14 29 31 20 58 Sửa bài 9 – BB đóng 1 x 1 2 3 4 14 2 bam lai Hi(x)=(h(x)+i2)%11... 15, 38, 17, 24 Cho biết B=13, hàm băm h(x)=x mod B và hàm băm lại hi(x)= (x+i2) mod B Viết các khai báo thích hợp để cài đặt bảng băm mở Dùng các khai báo đó để viết hàm thêm một phần tử vào bảng băm Ôn tập    Bài 1: danh sách liên kết Bài 2 : chương cây • cây TQ cài con trái nhất-anh em ruột phải • cây NP (cài bằng con trỏ) • cây TKNP Bài 3: chương 4 • Bảng băm • Hàng ưu tiên . Ôn tập môn CTDL Ôn tập môn CTDL Năm 2013 PGS.TS. Trần Cao Đệ Bài 1 – LT - TH Một phân số a/b (với a,b là số. trả ra một cặp con trỏ trỏ đến hai phần tử đó. Nếu không tìm thấy thì trả ra cặp (NULL,NULL) trong đó NULL là giá trị qui ước con trỏ không có giá trị.  Thủ tục tìm kiếm và xóa các phần tử. trả ra một cặp con trỏ trỏ đến hai phần tử đó. Nếu không tìm thấy thì trả ra cặp (NULL,NULL) trong đó NULL là giá trị qui ước con trỏ không có giá trị. Bài 3-LT-TH  Viết thủ tục đổi số thập

Ngày đăng: 21/10/2014, 20:09

Từ khóa liên quan

Mục lục

  • Ôn tập môn CTDL

  • Bài 1 – LT - TH

  • Bài 12

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Tìm hai phân số tích = 1

  • Slide 14

  • Slide 15

  • Bài 2 – LT - TH

  • Bài 3-LT-TH

  • Bài 4 - TH

  • Bài 5-LT-TH

  • Bài 6 - LT

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan