0
Tải bản đầy đủ (.doc) (30 trang)

Quy trình thiết kế nhiệm vụ của mô phỏng thuật toán

Một phần của tài liệu GIẢI THUẬT VÀ ỨNG DỤNG CẤU TRÚC ĐỐNG.DOC (Trang 27 -30 )

I. Ứng dụng của Heap trong giải thuật Heap_sort

4. Quy trình thiết kế nhiệm vụ của mô phỏng thuật toán

a) Nghiên cứu phân tích giải thuật.

Trong khi giải bài toán chúng ta có thể có một số giải thuật khác nhau nên cần phải đánh giá các giải thuật đó để lựa chọn một giải thuật tốt nhất. Thông thường ta sẽ căn cứ vào các tiêu chuẩn sau:

- Giải thuật đúng đắn.

- Giải thuật đơn giản.

- Giải thuật thực hiện nhanh.

- b) Xây dựng mô hình dữ liệu vào và dữ liệu ra.

Khi xây dựng mô phỏng dữ liệu và dữ liệu ra của bài toán chúng ta cần xác định đặc điểm của dữ liệu vào: dừng dữ liệu có sẵn của chương trình, dùng dữ liệu sinh ngẫu nhiên, hoặc dùng dữ liệu do người dùng tự nhập vào. Dữ liệu vào được xem là giả thuyết của bài toán.

c) Cơ chế sinh dữ liệu vào cho bài toán.

Như đã nói ở trên thì chúng ta có 3 cơ chế sinh dữ liệu cho bài toán, đó là dữ liệu sinh ngẫu nhiên, dữ liệu mẫu, và dữ liệu do người dùng nhập vào

Dữ liệu sinh ngẫu nhiên do sử dụng hàm Rundom để sinh giá trị của dữ liệu hạn chế trong một khoảng nào đó, hoặc mặc định sinh bao nhiêu tuỳ theo mong muốn của người lập trình. Dữ liệu ngẫu nhiên thường để kiểm định tính đúng đắn của chương trình trong các trường hợp bất kì.

Dữ liệu mẫu là dữ liệu đã được ghi lại từ trước, khi muốn sử dụng chỉ việc lấy ra. Có tác dụng là cho người sử dụng đỡ mất công nhập lại dữ liệu (trong trường hợp dữ liệu quá lớn thì mất thời gian), hoặc để kiểm định thuật toán trong các trường hợp xấu, trung bình hoặc tốt.

Dữ liệu nhập là dữ liệu do người dùng nhập vào từ bàn phím, đa số thì dạng dữ liệu này thường được sử dụng vì người dùng muốn kiểm định dữ liệu do chính mình nhập vào.

d) Phân tích dữ liệu ra nhiều bước khác nhau.

Do đây là phần mềm mô phỏng thuật toán cho học sinh, mà thuật toán thì khá trừu tượng thường gây khó khăn cho quá trình nhận thức của học sinh (nhất là với những học sinh yếu kém). Do đó phần mềm cần thiết kế sao cho giải thuật chia thành nhiều bước riêng rẽ để tại mỗi bước của giải thuật ta có thể giải thích cho người học thấy được bản chất bên trong của thuật toán (các biến đổi như thế nào, chạy ra sao) để từ đó người học sẽ dễ dàng tiếp thu giải thuật một cách dễ dàng và nhanh chóng.

e) Phân tích khả năng tổng hợp các bước đã phân tích thành giải thuật.

Từ việc cho giải thuật chạy riêng rẽ từng bước hoặc dừng ở những chỗ quan trọng, chúng ta có thể giải thích cho người học bản chất bên trong của vấn đề. Sau khi đã nắm được quy trình hoạt động của giải thuật học sinh có thể bao quát được vấn đề và có cái nhìn tổng quan về từng giải thuật. Từ đó có thể mô phỏng lại hoạt động của thuật toán

f) Phân tích những khó khăn và thuận lợi khi người học lần đầu tiên tiếp thu giải thuật.

Trong quá trình học các giải thuật nói chung và môn cấu trúc dữ liệu nói riêng, chúng ta rút ra một nhận định chung là: nhiều giải thuật phức tạp trừu tượng, khó hiểu, khó hình dung vấn đề. Do đó chúng ta luôn mong muốn trong quá trình học giải thuật nên có những mô phỏng trực quan để chúng ta có thể tiếp thu giải thuật một cách dễ dàng hơn. Tuy nhiên, việc học tốt giải thuật có rất nhiều thận lợi dó là giúp cho quá trình tư duy giải thật tốt hơn, phát hiện vấn đề nhanh hơn, đặc

biệt giúp cho việc học các môn học khác có tính logic cao được thuận lợi hơn. Nhưng để học tốt giải thuật thì không dễ dàng với nhiều người.

Một phần của tài liệu GIẢI THUẬT VÀ ỨNG DỤNG CẤU TRÚC ĐỐNG.DOC (Trang 27 -30 )

×