C. Mở rộn g: Danh sách liên kết đơn
CHƯƠNG 3: ĐÁNH GIÁ CHUNG
3.1. So sánh tốc độ của các thuật toán sắp xếp
Nhóm em xin đưa ra cái nhìn tổng quan đánh giá về tốc độ của các thuật toán sắp xếp như sau.
Để có được ý tưởng về việc chúng thực hiện nhanh như thế nào, tạo ra một danh sách 5000 số từ 0 đến 1000. Sau đó tìm xem sẽ mất bao lâu để mỗi thuật toán hoàn thành. Điều này được lặp lại 10 lần để chúng ta có thể thiết lập một mô hình hiệu suất đáng tin cậy hơn.
Bạn sẽ nhận được các giá trị khác nhau nếu bạn tự thiết lập thử nghiệm, nhưng các mẫu được quan sát phải giống hoặc tương tự nhau. Bubble Sort là trình diễn chậm nhất trong tất cả các thuật toán. Mặc dù nó hữu ích như là một giới thiệu về sắp xếp và thuật toán, nó không phù hợp để sử dụng thực tế.
Nhận thấy rằng Quick Sort rất nhanh, nhanh gần gấp đôi so với Merge sort và nó sẽ không cần nhiều không gian để chạy. Hãy nhớ rằng phân vùng của chúng ta dựa trên yếu tố giữa của danh sách, các phân vùng khác nhau có thể có kết quả khác nhau.
Vì Insertion Sort thực hiện so sánh ít hơn nhiều so với Selection Sort, việc triển khai thường nhanh hơn nhưng trong các lần chạy này, Selection Sort nhanh hơn một chút.
Insertion Sort thực hiện nhiều hoán đổi hơn so với Selection Sort. Nếu các giá trị hoán đổi chiếm nhiều thời gian hơn so với so sánh các giá trị, thì kết quả "trái ngược" này sẽ hợp lý.
Hãy chú ý đến môi trường khi chọn thuật toán sắp xếp phù hợp nhất dành cho bạn, vì nó sẽ ảnh hưởng đến hiệu suất.
B ng 1ả : B ng th hi n t c đ c a m t s thu t toán s p x pả ể ệ ố ộ ủ ộ ố ậ ắ ế
3.2. T m k t và đánh giá hi u qu nhómạ ế ệ ả
Môn c u trúc d li u và gi i thu t, nh ng thu t toán m i, nh ng ph n m ấ ữ ệ ả ậ ữ ậ ớ ữ ầ ở
r ng đ i v i m t l p nói riêng, m t khoa không chuyên v k thu t nói chung ộ ố ớ ộ ớ ộ ề ỹ ậ
r t khó. Nh ng không vì th mà làm n n lòng c a nh ng ngấ ư ế ả ủ ữ ười sinh viên năng đ ng trong th i kì công ngh đ i m i liên t c. Nhóm làm vi c không ng ng tìm ộ ờ ệ ổ ớ ụ ệ ừ
hi u, trao đ i và h p tác mà đào sâu nh ng ph n m r ng, nh ng ngôn ng khácể ổ ợ ữ ầ ở ộ ữ ữ
3.3. TÀI LIỆU THAM KHẢOCác thu t toán :ậ Các thu t toán :ậ
[1] Giáo trình C u trúc d li u & Gi i thu t (ấ ữ ệ ả ậ Năm xu t b n 2007 tái b n l n 9ấ ả ả ầ ) c a ủ tác gi : Đ Xuân Lôiả ỗ
[2] https://docs.python.org/3/library/bisect.html [3] Slide c a cô Giang Huy nủ ề
[4] Algorithms in C, 3rd Edition – Robert Sedgewick
---
Danh sách liên k t đ n :ế ơ
[1] https://www.youtube.com/channel/UCSSMahX759Ppn7diWOpo7Yw (Thien Tam Nguyen)
[2] https://codelearn.io/learning/data-structure-and-algorithms/805177
[3] https://topdev.vn/blog/danh-sach-lien-ket-don-trong-c/#xoa-o-sau-node-bat-ky [4]https://khiemle.dev/con-tro-va-cap-phat-dong-trong-cpp
[5] https://nguyenvanhieu.vn/tham-chieu-va-tham-tri-trong-c/ [6] Sach Cau truc du lieu va Giai thuat - Le Minh Hoang [7] Apprenez à programmer en C (Đã được biên d ch)ị [8] https://cpp.daynhauhoc.com/8/0-con-tr/
[9] https://stackoverflow.com/questions/641715-8/c-how-to-free-nodes-in-the-linked- list