<< Chapter < Page
  Cấu trúc dữ liệu     Page 13 / 15
Chapter >> Page >

Dispose(p); {Giải phóng ô nhớ đã cấp cho véctơ}

End.

Sự cài đặt

Có hai phương pháp biểu diễn bộ nhớ được sử dụng để biểu diễn cho một giá trị con trỏ:

Ðịa chỉ tuyệt đối

Giá trị con trỏ là địa chỉ ô nhớ thực của khối ô nhớ của ÐTDL.

Phương pháp này rất hiệu quả, bởi vì giá trị con trỏ tự nó quy định sự truy xuất trực tiếp tới đối tượng dữ liệu bằng cách dùng phép toán truy xuất bộ nhớ của phần cứng.

Ðịa chỉ tương đối

Ðây là phương pháp cấp phát một vùng nhớ rộng với địa chỉ cơ sở của nó. Giá trị con trỏ là độ dời của ÐTDL. Ðịa chỉ của ÐTDL được tính bằng cách lấy địa chỉ cơ sở + độ dời của ÐTDL (tức là giá trị của con trỏ).

Phương pháp này thuận tiện cho việc quản lý bộ nhớ nhưng truy xuất đến ÐTDL chậm vì phải tính địa chỉ của khối ô nhớ biểu diễn cho ÐTDL.

Tập hợp

Ðặc tả

Đặc tả thuộc tính

Tập hợp là một cấu trúc dữ liệu đồng nhất và có kích thước thay đổi.

Trong một tập hợp người ta không quan tâm đến thứ tự của các phần tử; giá trị các phần tử khác nhau.

Đặc tả phép toán

Các phép toán cơ bản trên tập hợp là:

1/ Kiểm tra sự tồn tại của một phần tử

Phép toán này dùng để xác định xem một giá trị X nào đó có phải là một phần tử của tập hợp S hay không.

2/ Thêm và bớt các phần tử cho tập hợp

Thêm giá trị X vào trong tập S, với điều kiện nó chưa là một phần tử của tập hợp. Xóa một giá trị dữ liệu X của tập S nếu nó là một phần tử của S. Hai phép toán này sẽ làm thay đổ kích thước của tập hợp.

3/ Phép hợp, giao và hiệu của 2 tập hợp

Đây là các phép toán được định nghĩa tương tự như trong toán học.

Cài đặt

Ðể cài đặt một tập hợp, ta có thể sử dụng một trong hai phương pháp sau:

Véctơ bit

Biểu diễn bộ nhớ

Tập hợp được biểu diễn bởi một chuỗi các bit. Cách tiếp cận này phù hợp cho một không gian nhỏ. Chẳng hạn ta có một không gian gồm n phần tử được đánh số thứ tự e1, e2, ... en. Một tập hợp các phần tử được chọn từ không gian này được biểu diễn bởi một véctơ có n bit, trong đó nếu bit thứ i có giá trị 1 thì phần tử ei thuộc vào tập hợp, ngược lại bit thứ i có giá trị 0 thì ei không thuộc tập hợp.

Giải thuật thực hiện các phép toán

Với cách biểu diễn này, việc thêm một phần tử vào trong tập hợp được thực hiện bằng cách cho bit tương ứng giá trị bằng 1. Việc xóa một phần tử trong tập hợp được thực hiện bằng cách cho bit tương ứng giá trị bằng 0. Phép kiểm tra một phần tử có thuộc tập hợp hay không được thực hiện bằng cách kiểm tra bit tương ứng có giá trị là 1 hay 0. Phép hợp của hai tập hợp tương ứng với phép toán logic OR của hai véctơ bit. Phép giao của hai tập hợp tương ứng với phép toán logic AND của hai véctơ bit. Hiệu của hai tập hợp tương ứng với phép toán logic AND của véctơ bit thứ nhất với phần bù của véctơ bit thứ hai. Các phép toán logic trên các véctơ bit đều được hỗ trợ bởi phần cứng.

Ví dụ Ta có một không gian bao gồm 5 phần tử 1,2,3,4,5. Khi đó

Tập hợp A = {1,2,4,5} được biểu diễn bởi véctơ (1,1,0,1,1)

Tập hợp B = {2,3,4} được biểu diễn bởi véctơ (0,1,1,1,0)

Do đó A size 12{ union } {} B sẽ là tập {1,2,3,4,5} bởi vì (1,1,0,1,1) OR (0,1,1,1,0) = (1,1,1,1,1)

A size 12{ intersection } {} B sẽ là tập hơp {2,4} bởi vì (1,1,0,1,1) AND (0,1,1,1,0) = (0,1,0,1,0)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Cấu trúc dữ liệu. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10766/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Cấu trúc dữ liệu' conversation and receive update notifications?

Ask