Chương 3 tập hợp phần 1

5 2.8K 1
Chương 3 tập hợp phần 1

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

Thông tin tài liệu

NỘI DUNG CÁC PHÉP TOÁN CƠ BẢN TRÊN TẬP HỢP • • • • • Khái niệm tập hợp Các kiểu liệu trừu tượng tập hợp Cài đặt tập hợp Từ điển Bảng băm Bộ môn Công nghệ phần mềm, Khoa CNTT&TT, Đại học Cần Thơ KHÁI NIỆM TẬP HỢP BIỂU DIỄN TẬP HỢP • Liệt kê phần tử cặp dấu ngoặc {} • Là tập hợp thành viên (members) phần tử (elements) • Các phần tử tập hợp phải khác • Các phần tử tập hợp có quan hệ tuyến tính, tức tập hợp S có quan hệ < thỏa mãn: – Với a, b S aNext->Data Next; else Finish=1; if (Finish) { if (P->Next->Data == X) { T=P->Next; P->Next=T->Next; free(T); } } } • Khái niệm: tập hợp đơn giản với phép toán INSERT, DELETE MEMBER • Có thể cài đặt từ điển bằng: – – – – Véctơ-bít Danh sách đặc (mảng) Danh sách liên kết có thứ tự không thứ tự Mảng có kích thước cố định với nháy đến vị trí cuối cùng: • Khuyết điểm: – – – – kích thước lớn tùy ý xóa phần tử chậm dùng nhớ không hiệu Tương tự cài đặt danh sách mảng CÀI ĐẶT TỪ ĐIỂN BẰNG MẢNG • Khai báo #define MaxLength //So phan tu toi da typedef ElementType; //Kieu du lieu typedef int Position; typedef struct { ElementType Data[MaxLength]; Position Last; } SET; CÀI ĐẶT TỪ ĐIỂN BẰNG MẢNG • Thêm phần tử vào từ điển void Insert(ElementType X, SET *L) { if (Full(*L)) printf("Tap hop day"); else if (Member(X,*L)==0) { (*L).Last++; (*L).Data[(*L).Last-1]=X; } else printf("\nPhantu da ton tai tudien"); } CÀI ĐẶT TỪ ĐIỂN BẰNG MẢNG • Khởi tạo rỗng void MakeNull(SET *L){ (*L).Last=0; } • Hàm kiểm tra phần tử có từ điển không? int Member(ElementType X, SET L){ Position P=1, Found=0; while ((P ... ĐẶT TẬP HỢP BẰNG VECTƠ BIT • Thường dùng tập hợp ta tập tập số nguyên, có giá trị từ n Khi ta dùng mảng kiểu boolean có kích thước n để lưu trữ tập • Phần tử thứ i mảng có giá trị TRUE i thuộc tập. .. } a[i]=0; • Tìm hợp void Union(SET a,SET b,SET c){ int i; for (i=0;i

Ngày đăng: 06/12/2015, 18:59

Từ khóa liên quan

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

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

Tài liệu liên quan