Cây 2-3-4 – Lý thuyết và mô phỏng

36 463 1
Cây 2-3-4 – Lý thuyết và mô phỏng

Đ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

Các tập tin đã được xắp xếp thứ tự, các tập tin với thứ tự ngược, các tập các khoá lớn, nhỏ xen lẫn nhau hay các tập tin với sự phân đoạn lớn có cấu trúc đơn giản có thể làm thuật toán tìm trên cây hoạt động rất tồ

Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học MỤC LỤC----------------------------------------------------------------------------------1 LỜI MỞ ĐẦU I. DO CHỌN ĐỀ TÀI---------------------------------------------------2 II. MỤC ĐÍCH NGHIÊN CỨU ĐỀ TÀI-----------------------------------2 III. NHIỆM VỤ NGHIÊN CỨU ĐỀ TÀI-----------------------------------3 IV. ĐỐI TƯỢNG NGHIÊN CỨU--------------------------------------------3 V. PHƯƠNG PHÁP NGHIÊN CỨU----------------------------------------3 PHẦN NỘI DUNG-------------------------------------------------------------------------4 CHƯƠNG 1. THUYẾT CÂY 2-3-4---------------------------------------------4 I. Giới thiệu về cây 2-3-4.-----------------------------------------------------4 II. Tổ chức cây 2-3-4.----------------------------------------------------------6 III. Tìm kiếm.---------------------------------------------------------------------8 IV. Tách node.-------------------------------------------------------------------8 1. Tách node con.------------------------------------------------------------8 2. Tách node gốc.----------------------------------------------------------11 3. Tách theo hướng đi xuống.--------------------------------------------12 V. Chèn node.------------------------------------------------------------------14 VI. Tính hiệu quả của Cây 2-3-4---------------------------------------------15 VII. Chuyển từ cây 2-3-4 sang cây đỏ đen.----------------------------------16 CHƯƠNG 2. PHỎNG THUẬT TOÁN TRÊN CÂY 2-3-4--------------21 I. Tổng quan về phỏng thuật toán.-------------------------------------21 1. Khái niệm thuật toán các đặc trưng của thuật toán.----------21 2. Khái niệm phỏng thuật toán.-------------------------------------21 II. Các yêu cầu phỏng thuật toán.--------------------------------------22 III. Quá trình thiết kế nhiệm vụ phỏng thuật toán.--------------------23 IV. phỏng thuật toán trên Cây 2-3-4------------------------------------23 1. Giới thiệu ngôn ngữ phỏng.--------------------------------------23 2. Phân tích thiết kế thuật toán phỏng.------------------------24 a. Phân tích.-----------------------------------------------------------24 b. Thiết kế.-------------------------------------------------------------24 TÀI LIỆU THAM KHẢO---------------------------------------------------------------36 Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 1 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học LỜI MỞ ĐẦU I. do chọn đề tài Trong hai thập kỉ qua, phỏng thuật toán đã được các nhà sư phạm của ngành công nghệ thông tin sử dụng như một công cụ hỗ trợ cho việc giảng dạy các thuật toán trên máy tính. Nguyên nhân của việc phỏng thuật toán được sử dụng như một công cụ trợ giúp cho việc giảng dạy là do nó có thể cung cấp các phỏng động bằng đồ họa của một thuật toán các thay đổi trong cấu trúc dữ liệu của nó trong suốt quá trình thực thi. Như một phần của quá trình học thuật toán, việc phỏng các thuật toán còn góp phần giúp các em học sinh, sinh viên khi mới bắt đầu làm quen với giải thuật có thể vừa dễ dàng theo dõi các bước duyệt ở thuyết vừa nhìn thấy các bước chạy ở thực tế như thế nào. Tư đó có thể giúp các em tư duy thuật toán nhanh hơn ngày càng yêu thích giải thuật. phỏng thuật toán ngày càng trở nên hữu ích trở thành một giáo cụ trực quan rất quan trọng trong hầu hết các lĩnh vực, nhất là trong môi trường giáo dục. Với các nhà sư phạm của ngành công nghệ thông tin thì phỏng thuật toán có tác dụng như một tài liệu hướng dẫn trong việc dạy các thuật toán bằng máy tính. Cây 2-3-4 là một cây nhị phân tìm kiếm giải quyết tốt hơn các trường hợp xấu nhất cho cây nhị phân tìm kiếm bình thường. đây còn là một nội dung khá mới mẻ phức tạp đối với nhiều học sinh, sinh viên. Vì vậy vấn đề “Cây 2-3-4 thuyết phỏng” được chọn làm đề tài nghiên cứu. II. Mục đích nghiên cứu đề tài Mục đích nghiên cứu của khóa luận này nhằm tìm hiểu đánh giá các thuật toán trên Cây 2-3-4, đồng thời xây dựng một phần mềm phỏng các thuật toán này nhằm hỗ trợ cho việc học, nghiên cứu tiến tới dạy các thuật toán trên Cây 2- 3-4. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 2 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học III .Nhiệm vu nghiên cứu đề tài. Nghiên cứu tổng quan về phỏng thuật toán, các yêu cầu, phương pháp tiếp cận, phương pháp thiết kế một đun phỏng thuật toán. Thiết kế minh họa các đun minh họa các thuật toán trên Cây2-3-4. IV. Đối tượng nghiên cứu. Đề tài nghiên cứu đi sâu vào nghiên cứu cài đặt một số thuật toán: - Thuật toán tìm kiếm trên Cây 2-3-4 - Thuật toán chèn một node chèn một giá trị vào Cây 2-3-4 - Thuật toán tách node trên Cây 2-3-4 - Thuật toán xóa node xóa một giá trị trên Cây 2-3-4 V. Phưong pháp nghiên cứu. Phương pháp nghiên cứu chủ yếu tham khảo các tài liệu tham khảo liên quan đến Cây nhị phân tìm kiếm, Cây 2-3-4 thông qua các sách, tài liệu tham khảo đặc biệt là nguồn tài liệu phong phú trên mạng Internet. PHẦN NỘI DUNG Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 3 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Chương I. thuyết về Cây 2-3-4 I. Giới thiệu về cây 2-3-4. Như chúng ta đã biết, các thuật toán về cây nhị phân luôn rất tốt cho nhiều ứng dụng, tuy nhiên chúng lại có những khuyết điểm trong trường hợp xấu nhất. Chẳng hạn như trường hợp Quicksort, trường hợp xấu nhất của nó lại là trường hợp dễ xuất hiện trong thực tế nếu người dùng không chú ý đến nó. Các tập tin đã được xắp xếp thứ tự, các tập tin với thứ tự ngược, các tập các khoá lớn, nhỏ xen lẫn nhau hay các tập tin với sự phân đoạn lớn có cấu trúc đơn giản có thể làm thuật toán tìm trên cây hoạt động rất tồi. Với thuật toán QuickSort, cái mà chúng ta cần để cái tiến tình huống là sắp xếp lại để có trường hợp ngẫu nhiên: bằng cách chọn một phần tử phân hoạch ngẫu nhiên, chúng ta có thể dựa vào quy luật xác xuất để tránh khỏi trường hợp xấu nhất. Với tìm kiếm trên cây nhị phân thì may mắn hơn, bởi vì chúng ta có thể làm tốt hơn nhiều; có một kỹ thuật tổng quát cho phép chúng ta bảo đảm trường hợp xấu nhất sẽ không xuất hiện. Kỹ thuật này gọi là Cân bằng đã được dùng làm cơ sở cho nhiều thuật toán khác nhau về “cây cân bằng”. Chúng ta sẽ xem xét kỹ một thuật toán thuộc loại đó cùng nhau thảo luận tóm tắt về sự liên quan của nó đối với các phương pháp khác. Để khử trường hợp xấu nhất của cây tìm kiếm nhị phân, chúng ta cần dùng một vài linh động trong cấu trúc sẽ dùng. Để có sự linh động này, chúng ta giả sử rằng các node trong cây của chúng ta có chứa nhiều hơn một khóa. Cụ thể hơn, chúng ta sẽ thừa nhận các 3-node 4-node mà có thể chứa tương ứng hai ba khóa. Một 3-node có ba liên kết ra khỏi nó, một liên kết cho tất cả các mẩu tin có khóa nhỏ hơn cả hai khóa của nó, một cho tất cả các mẩu tin có khóa nằm giữa hai khóa của nó, một cho tất cả các mẩu tin có khóa lớn hơn hai khóa của nó. Tương tự với một 4-node có 4 liên kết đi ra khỏi nó. Chúng ta sẽ xem xét các đặc tính của cây 2-3-4 mối quan hệ khá gần gũi giữa cây 2-3-4 cây đỏ-đen. Hình 4.1 Trình bày một cây 2-3-4 đơn giản. Mỗi node có thể lưu trữ 1, 2 hoặc 3 mục dữ liệu. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 4 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Hình 4.1 cây 2-3-4 Các số 2, 3 4 trong cụm từ cây 2-3-4 có ý nghĩa là khả năng có bao nhiêu liên kết đến các node con có thể có được trong một node cho trước. Đối với các node không phải là lá, có thể có 3 cách sắp xếp sau: Một node với một mục dữ liệu thì luôn luôn có 2 con. Một node với hai mục dữ liệu thì luôn luôn có 3 con. Một node với ba mục dữ liệu thì luôn luôn có 4 con. Như vậy, một node không phải là lá phải luôn luôn có số node con nhiều hơn 1 so với số mục dữ liệu của nó. Nói cách khác, đối với mọi node với số con là c số mục dữ liệu là d, thì : c = d + 1. Sau đây là các ví dụ cụ thể: Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 5 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Hình 4.2. Các trường hợp của cây 2-3-4 Với mọi node lá thì không có node con nhưng có thể chứa 1, 2 hoặc 3 mục dữ liệu, không có node rỗng. Một cây 2-3-4 có thể có đến 4 cây con nên được gọi là cây nhiều nhánh bậc 4. Trong cây 2-3-4 mỗi node có ít nhất là 2 liên kết ,trừ lnode lá (node không có liên kết nào). Hình 4.2 trình bày các trường hợp của cây 2-3-4. Một node với 2 liên kết gọi là một 2-node, một node với 3 liên kết gọi là một 3-node, một node với 4 liên kết gọi là một 4-node, nhưng ở đây không có loại node nào là 1-node. II. Tổ chức cây 2-3-4. Các mục dữ liệu trong mỗi node được sắp xếp theo thứ tự tăng dần từ trái sang phải (sắp xếp từ thấp đến cao). Một đặc tính quan trọng của bất kỳ cấu trúc cây là mối liên hệ giữa các liên kết với giá trị khóa của các mục dữ liệu. Trong cây tìm kiếm nhị phân, tất cả node của cây con bên trái có khoá nhỏ hơn khóa của node đang xét tất cả node của cây con bên phải có khoá lớn hơn hoặc bằng khóa của node đang xét. Trong cây 2-3-4 thì nguyên tắc cũng giống như trên, nhưng có thêm một số điểm sau: Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 6 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Với node có một mục dữ liệu. Tất cả các node con của cây con có gốc tại node con thứ 1 thì có các giá trị khoá nhỏ hơn giá trị khoá 1 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 2 thì có các giá trị khoá lớn hơn giá trị khoá 1 của node cha. Với node có hai mục dữ liệu. Tất cả các node con của cây con có gốc tại node con thứ 1 thì có các giá trị khoá nhỏ hơn giá trị khoá 1 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 2 thì có các giá trị khoá lớn hơn khoá 1 của node cha nhỏ hơn giá trị khóa 2 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 3 thì có các giá trị khoá lớn hơn giá trị khoá 2 của node cha. Với node có ba mục dữ liệu. Tất cả các node con của cây con có gốc tại node con thứ 1 thì có các giá trị khoá nhỏ hơn giá trị khoá 1 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 2 thì có các giá trị khoá lớn hơn khoá 1 của node cha nhỏ hơn giá trị khóa 2 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 3 thì có các giá trị khoá lớn hơn khoá 2 của node cha nhỏ hơn giá trị khóa 3 của node cha. Tất cả các node con của cây con có gốc tại node con thứ 4 thì có các giá trị khoá lớn hơn giá trị khoá 3 của node cha. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 7 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Trong tất cả cây 2-3-4, các lá đều nằm trên cùng một mức. Các node ở mức trên thường không đầy đủ, nghĩa là chúng có thể chứa chỉ 1 hoặc 2 mục dữ liệu thay vì 3 mục. Lưu ý rằng cây 2-3-4cây cân bằng. Nó vẫn giữ được sự cân bằng khi thêm vào các phần tử có thứ tự (tăng dần hoặc giảm dần). III. Tìm kiếm. Thao tác tìm kiếm trong cây 2-3-4 tương tự như thủ tục tìm kiếm trong cây nhị phân. việc tìm kiếm bắt đầu từ node gốc chọn liên kết dẫn đến cây con với phạm vi giá trị phù hợp. Ví dụ, để tìm kiếm mục dữ liệu với khoá là 64 trên cây ở hình 4.1, bạn bắt đầu từ gốc. Tại node gốc không tìm thấy mục khoá này. Bởi vì 64 lớn 50, chúng ta đi đến node con 1, (60/70/80)(lưu ý node con 1 nằm bên phải, bởi vì việc đánh số của các node con các liên kết bắt đầu tại 0 từ bên trái). Tại vị trí này vẫn không tìm thấy mục dữ liệu, vì thế phải đi đến node con tiếp theo. Tại đây bởi vì 64 lớn hơn 60 nhưng nhỏ hơn 70 nên đi tiếp đến node con 1. Tại thời điểm chúng ta tìm được mục dữ liệu đã cho với liên kết là 62/64/66. IV. Tách node 1. Tách node con Việc thêm vào sẽ trở nên phức tạp hơn nếu gặp phải một node đầy (node có số mục dữ liệu đầy đủ) trên nhánh dẫn đến điểm thêm vào. Khi điều này xảy ra, node này cần thiết phải được tách ra. Quá trình tách nhằm giữ cho cây cân bằng. Loại cây 2-3-4 mà chúng ta đề cập ở đây thường được gọi là cây 2-3-4 top-down bởi vì các node được tách ra theo hướng đi xuống điểm chèn. Giả sử ta đặt tên các mục dữ liệu trên node bị phân chia là A, B C. Sau đây là tiến trình tách (chúng ta giả sử rằng node bị tách không phải là node gốc; chúng ta sẽ kiểm tra việc tách node gốc sau này): Một node mới rỗng được tạo. Nó là anh em với node sẽ được tách được đưa vào bên phải của nó. Mục dữ liệu C được chuyển vào node mới. Mục dữ liệu B được chuyển vào node cha của node được tách. Mục dữ liệu A không thay đổi. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 8 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Hai node con bên phải nhất bị hủy kết nối từ node được tách kết nối đến node mới. ⇒ Quá trình tách node con sẽ xảy ra các trường hợp sau đây:  Node cha của node cần tách có một khóa. 1. Node cần tách là node con bên phải của node cha nó Khi đó ta thêm một node mới có một mục dữ liệu, có giá trị khóa là khóa thứ 3 của node đang tách. Chuyển giá trị khóa thứ 2 của node cần tách nên node cha. gán lại quan hệ cha con của các node như hình dưới đây. 2. Node cần tách là node con bên trái của node cha nó. Ta thêm một node mới có một mục dữ liệu, có giá trị khóa là khóa thứ 1 của node đang tách. Chuyển giá trị khóa thứ 2 của node cần tách nên node cha. gán lại quan hệ cha con của các node như hình dưới đây.  Node cha của node cần tách có hai khóa. 1.Node cần tách là node con bên phải (con thứ nhất) của node cha nó. Khi đó ta thêm một node mới có một mục dữ liệu, có giá trị khóa là khóa thứ 3 của node đang tách. Chuyển giá trị khóa thứ 2 của node đang tách nên node cha. gán lại quan hệ cha con của các node như hình dưới đây. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 9 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học 2. Node cần tách là node con bên giữa (con thứ hai) của node cha nó. Khi đó ta thêm một node mới có một mục dữ liệu, có giá trị khóa là khóa thứ 3 của node đang tách. Chuyển giá trị khóa thứ 2 của node đang tách nên node cha. gán lại quan hệ cha con của các node như hình dưới đây. 3. Node cần tách là node con phải (con thứ ba) của node cha nó. Khi đó ta thêm một node mới có một mục dữ liệu, có giá trị khóa là khóa thứ 3 của node đang tách. Chuyển giá trị khóa thứ 2 của node đang tách nên node cha. gán lại quan hệ cha con của các node như hình dưới đây. Một ví dụ về việc tách node trình bày trên hình 4.4. Một cách khác để tả sự tách node là một 4-node được chuyển đổi sang hai 2-nút. Chú ý rằng ảnh hưởng của sự tách node là dịch chuyển dữ liệu đi lên về bên phải. Sự sắp xếp lại này nhằm mục đích giữ cho cây cân bằng. Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 10 [...]... đen ở cây đỏđen không biểu diễn một 3-node ở cây 2-3-4; nó chỉ biểu diễn một 2-node với node con 2-node khác Tương tự, một node cha màu đen với 2 con màu đen không biểu diễn cho 4-nút Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 16 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Hình 4.7 Chuyển đổi từ cây 2-3-4 sang cây đỏ-đen Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 17 Cây 2-3-4 Lý thuyết. .. VII Chuyển từ cây 2-3-4 sang cây đỏ đen Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 15 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Một cây 2-3-4 có thể được chuyển sang cây đỏ-đen bằng cách áp dụng các luật sau: Chuyển đổi bất kỳ 2-node ở cây 2-3-4 sang node đen ở cây đỏ-đen Chuyển đổi bất kỳ 3-node sang node con C (với hai con của chính nó) node cha P (với các node con C node con khác)... Dương Lớp A_K54_CNTT 12 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học node đầy Tuy nhiên điều này chỉ có nghĩa là nó có thể sẽ bị tách ra khi lần tìm kiếm kế tiếp gặp nó Hình 4.6 trình bày một loạt các thao tác chèn vào một cây rỗng Có 4 node được tách, 2 node gốc 2 node lá Thêm vào 70, 30, 50 Thêm 40 Thêm vào 20, 80 Thêm vào 25, 90 Thêm vào 75 Thêm vào 10 Hình 4.6 Minh họa thêm một node vào... thuyết phỏng Nghiên Cứu Khoa Học Hình 4.8 Cây 2-3-4 cây đỏ-đen tương ứng Sự tương đương Không những cấu trúc của cây đỏ-đen phù hợp với cây 2-3-4, mà các thao tác hoạt động của hai loại cây này cũng tương đương nhau Trong cây 2-3-4 nó được giữ cân bằng bằng việc tách nút Trong cây đỏ-đen hai phương thức cân bằng là sự lật quay màu Việc tách 4-node lật màu Trong cây 2-3-4 khi bạn... nằm với trật tự đúng sau khi mục dữ liệu mới được thêm vào Trong ví dụ này số 23 phải được đẩy sang phải để nhường chỗ cho 18 Hình 4.3 Chèn vào không làm tách cây (i) trước khi chèn vào (ii) sau khi chèn vào Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 14 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học VI Tính hiệu quả của Cây 2-3-4 Trong cây đỏ-đen node trên mỗi mức phải được duyệt trong quá... cha node con sẽ ở bên trái hoặc bên phải Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 19 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học Cả hai sự sắp xếp là hợp lệ; Tuy nhiên, chúng không tham gia để cân bằng cây Chúng ta hãy xem xét tình huống trong ngữ cảnh lớn hơn Hình 4.10-i trình bày cây 2-3-4 còn hình 4.10-ii, 4.10-iii trình bày các cây đỏ-đen tương đương được suy ra từ cây 2-3-4. .. Hình 4.6 Minh họa thêm một node vào cây 2-3-4 Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 13 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học V Chèn node Các mục dữ liệu mới luôn luôn được chèn vào tại các node lá Nếu mục dữ liệu được thêm vào node mà có node con, thì số lượng của các node con cần thiết phải được chuyển đổi để duy trì cấu trúc cho cây, đây là do tại sao phải có số node con... rằng cây trong hình ii là không cân bằng trong khi cây trong hình iii là cân bằng Với cây đỏ-đen được cho trong hình ii, chúng ta sẽ quay nó sang phải (và thực hiện việc chuyển đổi hai màu) để cân bằng nó Điều đáng ngạc nhiên sự quay này cho kết quả chính xác giống như cây trong hình iii Hình 4.10: 3-node phép quay Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 20 Cây 2-3-4 thuyết phỏng. .. tổng quát của phỏng INPUT GIẢI THUẬT OUTPUT Dữ liệu mẫu Dữ liệu ngẫu nhiên - Tự động - Từng bước Cấu trúc dữ liệu trừu tượng Dữ liệu nhập trực tiếp Biểu diễn đồ họa Độ phức tạp của thuật toán Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 22 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học III Quy trình thiết kế nhiếm vụ phỏng thuật toán Sơ đồ quy trình thiết kế nhiệm vụ phỏng thuật toán... trong mỗi trạng thái Thông qua Sinh viên: Đỗ Thị Thùy Dương Lớp A_K54_CNTT 21 Cây 2-3-4 thuyết phỏng Nghiên Cứu Khoa Học đó, người sử dụng có thể xem được từng bước thực thi chương trình nhờ vậy có thể hiểu chi tiết được thuật toán phỏng thuật toán cũng được dùng để đánh giá một chương trình đã có bằng cách cung cấp các phỏng cho các thành phần của hệ thống, nhờ đó có thể kiểm tra . 2-3-4 thông qua các sách, tài liệu tham khảo và đặc biệt là nguồn tài liệu phong phú trên mạng Internet. PHẦN NỘI DUNG Sinh viên: Đỗ Thị Thùy Dương – Lớp

Ngày đăng: 25/04/2013, 11:14

Từ khóa liên quan

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

Tài liệu liên quan