Slide bảo vệ đồ án Xây dựng chương trình mô phỏng thuật toán sắp xếp nổi bọt, sắp xếp trộn, sắp xếp vun đống, sắp xếp nhanh. Mục tiêu: Sắp xếp các dãy số theo một trật tự, thứ tự tăng dần (hoặc là giảm dần) tùy theo vào yêu cầu của người muốn sắp xếp.
Trang 1BÁO CÁO ĐỒ ÁN HỌC PHẦN 1
Đề tài:
Xây dựng chương trình mô phỏng thuật toán sắp xếp nổi bọt, sắp xếp trộn, sắp xếp vun đống, sắp xếp nhanh.
Họ tên sinh viên: Nguyễn Văn Hưởng Giáo viên hướng dẫn: Ngô Thị Lan
Mã sinh viên: 1501076
Lớp: K3918CNT2
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Hà Nội, năm 2017
Trang 2NỘI DUNG CHÍNH
1 Đặt vấn đề
2 Mục tiêu và nhiệm vụ nghiên cứu của đề tài
3 Quy trình xây dựng của hệ thống
4 Tổng quan về chương trình
5 Kết luận và hướng phát triển đề tài
Trang 3Đặt vấn đề: SẮP XẾP │ ý nghĩa của nó
Sắp xếp là gì?
Trang 4MỤC TIÊU, NHIỆM VỤ NGHIÊN CỨU CỦA ĐỀ TÀI
Mục tiêu: Sắp xếp các dãy số theo một trật tự, thứ tự tăng dần (hoặc là giảm dần) tùy theo vào yêu cầu của người muốn sắp xếp.
Cài đặt chương trình demo cho phép sắp xếp một dãy số đã được nhập từ bàn
phím thành một dãy số có thứ tự theo các thuật toán sắp xếp và hiển thị từng bước sắp xếp.
Sắp xếp trộn
Sắp xếp vun đống Sắp xếp
nổi bọt Sắp xếpnhanh
Trang 5QUY TRÌNH XÂY DỰNG HỆ THỐNG
Tổng quan về Microsoft Visual Studio
Microsoft Visual Studio
2010
Lý do chọn Window Form
Tạo Form dễ dàng
Hỗ trợ nhiều điều khiển
Cung cấp nhiều sự kiện
giúp tương tác với thiết
bị
Trang 6QUY TRÌNH XÂY DỰNG HỆ THỐNG
Thuật toán là gì ?
Thuật toán(giải
thuật) Khái niệm: Thuật toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy
các thao tác ấy, từ Input của bài toán ta nhận được Output cần tìm
Đặc trưng:
- Tính đúng đẵn
- Tính dừng
- Tính xác định
- Tính hiệu quả
- Tính phổ quát
Biểu diễn thuật toán: Thường có hai cách biểu diễn một thuật toán, cách thứ nhất là mô tả các bước thực hiện của thuật toán, cách thứ hai là sử dụng sơ đồ giải thuật
Trang 7QUY TRÌNH XÂY DỰNG HỆ THỐNG
Các phương pháp sắp xếp
Sắp xếp nổi bọt(Bubble
Sort)
Trang 8QUY TRÌNH XÂY DỰNG HỆ THỐNG
Các phương pháp sắp xếp
Sắp xếp trộn(Merge Sort)
Trang 9QUY TRÌNH XÂY DỰNG HỆ THỐNG
Các phương pháp sắp xếp
Sắp xếp vun đống(Heap
Sort)
Trang 10QUY TRÌNH XÂY DỰNG HỆ THỐNG
Các phương pháp sắp xếp
Sắp xếp nhanh(Quick Sort)
Begin
x = a[(l+r)/2];
i = l;
j = r;
i = i+1;
j = j+1;
Đổi chỗ a[i], a[j]
i = i+1 ; j =
j-1
i < j
l < j
i = i+1;
Quicksort(l,j
)
i < r
Quicksort(i,r
)
End
a[i]<x
a[j]>x
i <= j
Trang 11TỔNG QUAN VỀ CHƯƠNG TRÌNH
Giao diện chính của phần mềm mô phỏng
Input: nhập một dãy từ bàn phím
Tất cả các bước
mô phỏng sẽ hiển thị ở đây
Hiển thị các phần tử của
dãy
Các nút lệnh chính
Combobox lựa chọn giải thuật
Trang 12TỔNG QUAN VỀ CHƯƠNG TRÌNH
Các chức năng chính của chương trình
Tạo mảng
Tạo một mảng bằng cách phân tích dãy
được nhập từ bàn phím, nhãn trước khi
sắp xếp hiển thị dãy vừa nhập, listbox
số phần tử cũng hiển thị các phần tử
được đánh số thứ tự
Xóa
Xóa các dữ liệu đã được nạp vào mảng,
listbox số phần tử và mô phỏng, nhãn
dãy phần tử trước và sau khi nhập
Sắp xếp
Sau khi dãy đã được nạp vào thì tiến hành mô phỏng sắp
xếp, nhãn sau khi sắp xếp hiển thị kêt quả, listbox hiển thị từng bước của kết quả sắp xếp
Trang 13KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Hoàn tất tất cả các yêu của đề tài bao gồm: Xây dựng được Form cho phép nhập vào dãy số có n số nguyên, sử dụng ComboBox để lựa
chọn các phương pháp sắp xếp, quá trình sắp xếp được hiển thị trên một ListBox (hiển thị từng bước sắp xếp)
Học được cách sử dụng các điều khiển trong window form, thao tác với mảng và hiểu sâu thêm về cách hoạt động của các thuật toán sắp xếp
- Giao diện chưa thực sự đẹp và ấn tượng
- Còn thiếu một số chức năng cần thiết như chương trình chí sắp xếp theo hướng tăng dần mà chưa có giảm dần
Kết quả đạt
được
Hạn chế
Trang 14Cảm ơn
quý thầy cô
đã lắng nghe!