Class diagram hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình điện toán đám mây và ứng dụng trong cơ quan doanh nghiệp vừa nhỏ (Trang 63 - 66)

3.3.4. Thuật toán dùng trong ứng dụng

Mô tả: Khi người dùng đang đọc (xem) một bài viết hiện tại, thì điều

đường nhiên bài viết đó phải thuộc một 1 hoặc nhiều nhóm bài viết. Vậy làm thế nào để biết được bài viết đang đọc có những bài viết nào liên quan?

Giả sử user là X, bài viết (post) đặt là p, nhóm bài viết (category) là c. Vấn đề đặt ra là khi 1 user(X) đang đọc một bài viết (p) và 1 bài viết này sẽ thuộc 1 hay nhiều category (c). Mục đích sẽ tìm ra những bài viết (p) có các category (c) liên quan.

Bước 1:

Quy ước: A[…]: kí hiệu mảng dữ liệu.

- Dữ liệu ta có được giá trị post (p) hiện tại. Vì đang ở 1 bài viết nào đó rồi.

- Khai báo biến i,j để chạy khi dùng vòng lặp. - Khởi tạo các mảng sau:

+ RelativeID […]: dùng để lưu các bài viết liên quan. + CurrentID […]: dùng để lưu bài viết hiện tại.

+ ParentID […] dùng để lưu category cha của bài viết. + ChildID […] dùng để lưu category con của bài viết. - Dữ liệu có được CurrentID[…].

Bước 2: i:=0

Bước 3: Truy tìm category cha của bài viết, sau đó lưu tại

ParentID[…]. Đưa giá trị tìm được của category cha vào mảng CurrentID[…].

Gộp 2 mảng (ParentID với CurrentID) có được vào với nhau ta đưa vào mảng RelativeID[…]

Bước 4: Dùng vòng lặp để kiểm tra dữ liệu xem mảng CurrentID[…]

có thỏa mãn điều kiện không, có vượt quá chiều dài của mảng không.

Bước 5: Nếu không thỏa mãn điều kiện i < CurrentID[…].length-1 thì

quay về bước 2.

Bước 6: Nếu thỏa mãn điều kiện: i < CurrentID[…].length-1 thì thực

Tạo ra mảng Relative_copy[…] từ mảng RelativeID[…]. Mục đích để duyệt phần tử trong mảng RelativeID[…]

Bước 7: j:=0 . Duyệt mảng Relative_copy[…] ở bước 6.

Bước 8: Truy tìm category con của bài viết sau đó lưu tại ChildID[…]

Hợp nhất 2 mảng (RelativeID[…] với ChildID[…]) có được vào với nhau ta đưa vào mảng RelativeID[…] (có thể tạo ra mảng mới cũng được, chỉ là hình thức gán lại mảng RelativeID[…] )

Bước 9: Dùng vòng lặp để kiểm tra dữ liệu xem mảng

Relative_copy[…].lenghth-1 có thỏa mãn điều kiện không, có vượt quá chiều dài của mảng không .

Bước 10: Nếu không thỏa mãn điều kiện Relative_copy[…].lenghth-1

thì quay lại bước 7.

Bước 11: Nếu thỏa mãn điều kiện j< Relative_copy[…].length-1

Gộp tiếp 2 mảng RelativeID[…] với CurrentID[…] vào mảng RelativeID[…].

* Sơ đồ thuật toán:

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình điện toán đám mây và ứng dụng trong cơ quan doanh nghiệp vừa nhỏ (Trang 63 - 66)

Tải bản đầy đủ (PDF)

(85 trang)