1. Trang chủ
  2. » Luận Văn - Báo Cáo

THUẬT TOÁN sắp xếp QUICK SORT

39 31 0

Đ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

Thông tin cơ bản

Tiêu đề Thuật Toán Sắp Xếp Quick Sort
Tác giả Châu Hoàng Huy
Người hướng dẫn TS. Nguyễn Công Danh
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Khoa Công Nghệ Thông Tin Và Truyền Thông
Thể loại niên luận
Năm xuất bản 2020 - 2021
Thành phố Cần Thơ
Định dạng
Số trang 39
Dung lượng 4,32 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (6)
    • I. MÔ TẢ BÀI TOÁN (6)
    • II. MỤC TIÊU CẦN ĐẠT ĐƯỢC (6)
    • III. HƯỚNG GIẢI QUYẾT (6)
    • IV. KẾ HOẠCH THỰC HIỆN (7)
  • CHƯƠNG 2. LÝ THUYẾT (8)
    • I. CÁC KHÁI NIỆM (8)
      • 2.1 Khái niệm sắp xếp và thuật toán sắp xếp (8)
      • 2.2 Khái niệm thuật toán sắp xếp Quick Sort (8)
      • 2.3 Khái niệm luồng và song song (8)
    • II. KẾT QUẢ VẬN DỤNG LÝ THUYẾT VÀO ĐỀ TÀI (8)
  • CHƯƠNG 3. KẾT QUẢ ỨNG DỤNG (10)
    • I. PHÂN TÍCH YÊU CẦU BÀI TOÁN (10)
      • II.X ÂY DỰNG CÁC CẤU TRÚC DỮ LIỆU CẦN THIẾT (12)
        • 3.2.1 Hàm nhập dữ liệu từ tệp tin (12)
        • 3.2.2 Hàm tạo ngẫu nhiên số (13)
        • 3.2.3 Hàm kiểm tra mảng đã sắp xếp đúng thứ tự hay chưa (13)
        • 3.2.4 Thuật toán QuickSort một luồng (14)
        • 3.2.5 Hàm khởi tạo sắp xếp QuickSort một luồng và biểu diễn (15)
        • 3.2.6 Thuật toán QuickSort song song (16)
        • 3.2.7 Hàm khởi tạo sắp xếp QuickSort song song và biểu diễn (17)
        • 3.2.8 Hàm biểu diễn đồ họa (18)
        • 3.2.9 Hàm chuyển từ số sang chuỗi (để hiển thị ra form) (19)
        • 3.2.10 Hàm đọc và chuyển dữ liệu từ chuỗi sang số (20)
        • 3.2.11 Hàm hiển thị thông báo lỗi (20)
        • 3.2.13 Hàm lưu dưới dạng ảnh (Sau khi tạo ra từ vị trí của các phần tử) (21)
        • 3.2.14 Hàm làm mới control (Picturebox thay đổi ảnh mỗi lần đổi vị trí của phần tử) (22)
        • 3.2.15 Hàm kiểm tra ảnh và thay đổi ảnh (tắt và bật highlight của phần tử) (22)
    • III. THIẾT KẾ GIẢI THUẬT (LƯU ĐỒ) (23)
      • 3.3.1 Lưu đồ (23)
      • 3.3.2 Sơ đồ Usecase (24)
      • 3.3.3 Mô hình kiến trúc (25)
    • IV. GIỚI THIỆU CHƯƠNG TRÌNH (26)
      • 3.4.1 Giao diện chính (26)
      • 3.4.2 Khu vực Menu (Main) gồm (26)
      • 3.4.3 Khu vực hiển thị dữ liệu (30)
      • 3.4.4 Khu vực Footer (30)
  • CHƯƠNG 4. KẾT LUẬN – ĐÁNH GIÁ (31)
    • I. KẾT QUẢ ĐẠT ĐƯỢC (31)
      • 4.1.1 Về mặt chuyên môn (31)
      • 4.1.2 Về mặt kinh nghiệm (31)
    • II. HẠN CHẾ VÀ NGUYÊN NHÂN (31)
    • III. HƯỚNG PHÁT TRIỂN (32)
  • PHỤ LỤC (2)
    • CHƯƠNG 1. HƯỚNG DẪN SỬ DỤNG PHẦN MỀM (33)
    • CHƯƠNG 2: TÀI LIỆU THAM KHẢO (39)

Nội dung

TỔNG QUAN

MÔ TẢ BÀI TOÁN

Trong các hệ thống lưu trữ và quản lý dữ liệu hiện nay, việc tìm kiếm thông tin nhanh chóng là rất quan trọng, như trong tra cứu từ điển hay tìm sản phẩm trong kho Để đảm bảo quá trình tìm kiếm diễn ra nhanh chóng và chính xác, dữ liệu cần được sắp xếp ngăn nắp và theo một trật tự nhất định Việc này không chỉ giúp dễ dàng trong việc truy xuất dữ liệu mà còn có ý nghĩa lớn trong quản lý và lưu trữ thông tin.

Dữ liệu được sắp xếp ngăn nắp giúp dễ dàng sử dụng, nhưng thực tế có quá nhiều phương pháp sắp xếp với ưu, nhược điểm riêng Vậy làm thế nào để chọn thuật toán sắp xếp phù hợp nhất và nhanh nhất cho nhu cầu của người sử dụng?

Thuật toán Quick Sort được biết đến là một trong những thuật toán sắp xếp nhanh nhất Việc áp dụng lập trình song song vào thuật toán này không chỉ nâng cao hiệu quả mà còn cải thiện đáng kể tốc độ sắp xếp, giúp khai thác dữ liệu nhanh hơn Do đó, nghiên cứu về “Ứng dụng lập trình song song để cài đặt thuật toán sắp xếp Quick Sort” sẽ là một hướng đi tốt cho đề tài niên luận cơ sở của tôi.

MỤC TIÊU CẦN ĐẠT ĐƯỢC

- Nắm vững kiến thức cấu trúc dữ liệu, phân tích và thiết kế thuật toán và thuật toán Quick Sort.

- Ứng dụng song song vào thuật toán Quicksort.

- Thể hiện được thời gian sau khi sắp xếp xong.

- Học cách sử dụng Thread, Parallel và cách tạo chuyển động trên form.

- Biểu diễn thuật toán Quick Sort một luồng và Quick Sort song song.

HƯỚNG GIẢI QUYẾT

Để triển khai thuật toán Quick Sort hiệu quả, trước tiên cần nắm vững cách hoạt động của nó từ các môn học trước Sau đó, áp dụng lập trình song song với Net Framework để tối ưu hóa quá trình thực hiện thuật toán Quick Sort, giúp tăng tốc độ xử lý và hiệu suất.

Xây dựng hàm để biễu diễn các con số trong mảng thể hiện vị trí đang sắp xếp, vị

Cho phép người dùng lựa chọn thuật toán Quick Sort một luồng hoặc Quick Sort song song.

Thuật toán cung cấp khả năng chọn lựa giữa việc hiển thị đồ họa hoặc không, đồng thời cho phép người dùng điều chỉnh tốc độ hoạt động, bao gồm cả tùy chọn tốc độ chậm hoặc tốc độ mặc định.

Nhập dữ liệu gồm hai phần, tự động tạo số ngẫu nhiên bởi phần mềm hoặc người dùng nhập danh sách số bằng tệp tin text vào phần mềm.

Dữ liệu và kết quả sẽ hiển thị trên form để có thể xem, có nút kiểm tra kết quả có sắp xếp đúng thứ tự hay không.

KẾ HOẠCH THỰC HIỆN

Tuần 1 – Tuần 2 Tìm hiểu cách hoạt động của thuật toán Quick Sort.

Tuần 3 – Tuần 4 Cài đặt thuật toán và thử nghiệm chạy song song Quick Sort. Tuần 5 – Tuần 6 Thiết kế giao diện và code các chức năng hỗ trợ nhập dữ liệu. Tuần 7 – Tuần 8 Code chức năng biểu diễn số khi sắp xếp bằng đồ họa.

Tuần 9 – Tuần 10 Đánh giá và sửa đổi giao diện cho thân thiện với người dùng. Tuần 11 – Tuần 12 Kiểm thử và tạo tài liệu hướng dẫn sử dụng phần mềm.

Tuần 12 – Tuần 14 Đóng gói phần mềm và báo cáo.

LÝ THUYẾT

CÁC KHÁI NIỆM

2.1 Khái niệm sắp xếp và thuật toán sắp xếp

Sắp xếp là quá trình tổ chức lại các phần tử trong một tập hợp theo một trình tự nhất định, nhằm mục đích nâng cao khả năng quản lý và tìm kiếm các phần tử một cách dễ dàng và nhanh chóng hơn.

Thuật toán sắp xếp là một thuật toán sắp xếp các phần tử của một danh sách

Để thuận tiện cho việc nghiên cứu và học tập, các phần tử trong một mảng thường được sắp xếp theo thứ tự tăng hoặc giảm và được gán các chữ số tương ứng.

2.2 Khái niệm thuật toán sắp xếp Quick Sort

Thuật toán sắp xếp Quick Sort là một thuật toán chia để trị (Divide and

Thuật toán phân hoạch (Quicksort) chọn một phần tử trong mảng làm điểm đánh dấu (pivot) để chia mảng thành các mảng con Việc lựa chọn pivot có ảnh hưởng lớn đến tốc độ sắp xếp, nhưng máy tính không thể tự động xác định cách chọn pivot tối ưu Dưới đây là một số phương pháp phổ biến để chọn pivot trong thuật toán này.

- Luôn chọn phần tử đầu tiên của mảng (Được sử dụng trong nghiên cứu này).

- Luôn chọn phần tử cuối cùng của mảng.

- Chọn một phần tử ngẫu nhiên.

- Chọn một phần tử có giá trị nằm giữa mảng.

2.3 Khái niệm luồng và song song

Một luồng (thread) là một đường thực thi của chương trình, với mỗi luồng xác định một dòng điều khiển riêng biệt Đa luồng (multi-thread) là kỹ thuật cho phép xử lý nhiều tác vụ đồng thời.

Song song (Parallel) là cơ chế xử lý song song trong C#, cho phép thực hiện nhiều tác vụ đồng thời, cải thiện hiệu suất so với đa luồng (multi-thread) Điểm khác biệt chính giữa hai phương pháp này nằm ở việc đồng bộ dữ liệu, quản lý luồng và giải quyết các vấn đề như deadlock Nghiên cứu này sẽ tập trung vào việc sử dụng cơ chế Parallel để tối ưu hóa quy trình xử lý.

KẾT QUẢ VẬN DỤNG LÝ THUYẾT VÀO ĐỀ TÀI

Áp dụng thuật toán sắp xếp Quick Sort kết hợp với xử lý song song giúp tối ưu hóa quá trình sắp xếp Chúng tôi đã xây dựng hàm để biểu diễn các phần tử trong quá trình sắp xếp, cho phép người dùng theo dõi sự thay đổi vị trí của các phần tử Ngoài ra, chúng tôi cũng phát triển hàm kiểm tra thứ tự sau khi sắp xếp để đảm bảo rằng kết quả sắp xếp là chính xác.

KẾT QUẢ ỨNG DỤNG

PHÂN TÍCH YÊU CẦU BÀI TOÁN

Phần mềm “Ứng dụng lập trình song song vào thuật toán Quick Sort” tập trung vào việc áp dụng kỹ thuật lập trình song song cho thuật toán QuickSort, đồng thời cung cấp giao diện đồ họa trực quan để minh họa sự thay đổi của các phần tử trong quá trình sắp xếp.

Phần mềm nhận dữ liệu đầu vào dưới dạng một mảng số ngẫu nhiên, cho phép người dùng nhập từ tệp tin txt hoặc sử dụng tính năng tự động tạo số ngẫu nhiên.

Nhập dữ liệu bằng tệp tin txt giúp người dùng tiết kiệm thời gian và thao tác chuột, cho phép nhập nhanh chóng các con số ngẫu nhiên từ một tệp tin, mỗi dòng chứa một số Để thực hiện phương pháp này, người dùng cần thiết kế một hàm phù hợp.

ImportFileData() Hàm này sẽ đọc dữ liệu từ tệp tin và ghi vào mảng.

Để tạo ra một mảng số ngẫu nhiên, người dùng chỉ cần nhập độ dài mong muốn Phần mềm sẽ tự động sinh ra các số ngẫu nhiên từ 1 đến số đã nhập Để thực hiện chức năng này, chúng ta cần thiết kế một hàm có tên AutoGenerateNumber(), có nhiệm vụ tạo danh sách số ngẫu nhiên dựa trên giá trị mà người dùng cung cấp.

Phần mềm cung cấp cho người dùng tùy chọn thuật toán Quick Sort để thực hiện việc sắp xếp, bao gồm hai lựa chọn: Quick Sort một luồng và Quick Sort song song Hai thuật toán này có tốc độ sắp xếp khác nhau, trong đó sắp xếp song song được coi là phần quan trọng nhất trong chủ đề này.

Người dùng có tùy chọn hiển thị đồ họa hoặc không, đồng thời có thể bật chế độ sắp xếp chậm để theo dõi quá trình thay đổi của các phần tử Do tốc độ chạy của thuật toán rất nhanh, lựa chọn tốc độ chậm giúp người dùng dễ dàng quan sát quá trình hoạt động của thuật toán.

Dữ liệu đầu ra sẽ được hiển thị trong một TextBox, giúp người dùng dễ dàng xem và kiểm tra Phần mềm cũng cung cấp hàm kiểm tra thứ tự, cho phép người dùng xác minh độ chính xác của dãy số sau khi đã sắp xếp.

Sau khi hoàn thành quá trình sắp xếp, thời gian sẽ được hiển thị dưới form để người dùng có thể so sánh tốc độ giữa Quick Sort một luồng và Quick Sort song song Đối với dữ liệu nhỏ, tốc độ sắp xếp phụ thuộc vào vị trí của pivot, dẫn đến sự khác biệt giữa hai thuật toán Tuy nhiên, khi sắp xếp dữ liệu lên đến vài triệu phần tử, sự khác biệt giữa Quick Sort một luồng và song song sẽ trở nên rõ rệt Để chuyển đổi thuật toán từ QuickSort một luồng sang song song, chúng ta cần thay đổi cách gọi đệ quy.

Hình 1 Thuật toán Quicksort trước khi thay đổi

Trong đoạn code này, thuật toán QuickSort thực hiện gọi đệ quy một cách tuần tự, nghĩa là sau khi hoàn thành hàm QuickSort đầu tiên, nó mới tiếp tục thực hiện hàm QuickSort thứ hai.

Chúng ta sẽ sửa đổi để hàm QuickSort để có thể thực hiện cả hai hàm cùng lúc từ đó chuyển thành QuickSort song song như ảnh bên dưới:

Hình 2 Quicksort sau khi thay đổi (Quicksort song song)

Trong phần gọi hàm, việc sử dụng Parallel (song song) cho phép tạo ra các luồng (multi-thread) để tối ưu hóa hiệu suất Khi hàm Parallel được thực thi, nó sẽ khởi động hai hàm QuickSort, mỗi hàm sẽ chạy trên một luồng riêng biệt Nhờ đó, cả hai hàm QuickSort sẽ hoạt động đồng thời, mang lại hiệu quả xử lý nhanh hơn.

Trong quá trình chạy song song, dữ liệu sẽ không gặp lỗi vì hai hàm QuickSort xử lý hai phần dữ liệu riêng biệt QuickSort đầu tiên sẽ thực hiện từ điểm bắt đầu đến điểm phân hoạch.

1, QuickSort thứ hai sẽ chạy từ điểm phân hoạch + 1 cho đến điểm cuối (chiều dài của mảng).

QuickSort sẽ tiếp tục thực hiện trên các mảng nhỏ hơn mà hàm đã gọi trước đó, đảm bảo rằng dữ liệu không bị ảnh hưởng trong quá trình chạy song song.

II XÂY DỰNG CÁC CẤU TRÚC DỮ LIỆU CẦN THIẾT Để thử hiện được việc sắp xếp của thuật toán quick sort một luồng và song song cùng các hàm hỗ trợ khác ta cần xây dựng cấu trúc dữ liệu và thuật toán Sau đây là các hàm chính khi chạy sắp xếp:

3.2.1 Hàm nhập dữ liệu từ tệp tin

Hình 3 Nhập dữ liệu từ tệp tin text

3.2.2 Hàm tạo ngẫu nhiên số

Hình 4 Hàm tạo ngẫu nhiên số

3.2.3 Hàm kiểm tra mảng đã sắp xếp đúng thứ tự hay chưa

Hình 5 Hàm kiểm tra thứ tự của mảng

3.2.4 Thuật toán QuickSort một luồng

Hình 6 Thuật toán Quicksort một luồng

3.2.5 Hàm khởi tạo sắp xếp QuickSort một luồng và biểu diễn

Hình 7 Hàm khởi tạo sắp xếp Quicksort một luồng và biểu diễn

3.2.6 Thuật toán QuickSort song song

Hình 8 Thuật toán Quicksort song song

3.2.7 Hàm khởi tạo sắp xếp QuickSort song song và biểu diễn

Hình 9 Hàm khởi tạo sắp xếp Quicksort song song và biểu diễn

3.2.8 Hàm biểu diễn đồ họa

3.2.9 Hàm chuyển từ số sang chuỗi (để hiển thị ra form)

Hình 11 Hàm chuyển từ số sang chuỗi

3.2.10 Hàm đọc và chuyển dữ liệu từ chuỗi sang số

Hình 12 Hàm đọc và chuyển dữ liệu từ chuỗi sang số

3.2.11 Hàm hiển thị thông báo lỗi

Hình 13 Hàm hiển thị thông báo lỗi

3.2.12 Hàm đổi vị trí giữa hai phần tử và highlight phần tử

Hình 14 Hàm đổi vị trí giữa hai phần tử và highlight phần tử

3.2.13 Hàm lưu dưới dạng ảnh (Sau khi tạo ra từ vị trí của các phần tử)

Hình 15 Hàm lưu dưới dạng ảnh (Sau khi tạo ra từ vị trí của các phần tử)

3.2.14 Hàm làm mới control (Picturebox thay đổi ảnh mỗi lần đổi vị trí của phần tử)

Hình 16 Hàm làm mới control (Picturebox thay đổi ảnh mỗi lần đổi vị trí của phần tử)

3.2.15 Hàm kiểm tra ảnh và thay đổi ảnh (tắt và bật highlight của phần tử)

Hình 17 Hàm kiểm tra ảnh và thay đổi ảnh (tắt và bật highlight của phần tử).

THIẾT KẾ GIẢI THUẬT (LƯU ĐỒ)

Hình 18 Lưu đồ thuật toán Quicksort song song

Hình 19 Sơ đồ usecase của phần mềm Quicksort song song

Hình 20 Mô hình kiến trúc.

GIỚI THIỆU CHƯƠNG TRÌNH

Giao diện chính được chia thành 3 khu vực:

- Hiển thị dữ liệu và biểu diễn đồ họa.

- Hiển thị chức năng thực hiện và thời gian hoàn thành.

3.4.2 Khu vực Menu (Main) gồm:

Nhập dữ liệu có thể được thực hiện theo hai cách: Thứ nhất, người dùng có thể nhập dữ liệu từ một file văn bản, trong đó mỗi dòng chứa một số nguyên Thứ hai, phần mềm cho phép tự động tạo ra một mảng ngẫu nhiên bằng cách nhập độ dài, với các phần tử là các số nguyên từ 1 đến độ dài đã nhập.

Hình 24 Tạo danh sách ngẫu nhiên

Thuật toán sắp xếp là một phần quan trọng trong lập trình, với hai phương pháp chính là sắp xếp Quicksort song song và sắp xếp Quicksort một luồng Khi sử dụng sắp xếp Quicksort song song, người dùng chỉ có thể chọn một thuật toán duy nhất để thực hiện sắp xếp, trong khi sắp xếp Quicksort một luồng cũng yêu cầu lựa chọn một thuật toán duy nhất Để hỗ trợ người dùng trong việc hiểu rõ hơn về quá trình sắp xếp, tính năng đồ họa có thể được bật lên, cho phép xem biểu diễn trực quan của thuật toán sắp xếp.

Sau khi hoàn tất việc sắp xếp, bạn có thể bật chức năng hiển thị tốc độ sắp xếp chậm hơn Điều này giúp bạn dễ dàng theo dõi quá trình hoạt động của thuật toán sắp xếp, mặc dù thuật toán này thường hoạt động rất nhanh.

Các nút chức năng bao gồm: a Bắt đầu sắp xếp, cho phép thực hiện quá trình sắp xếp dữ liệu b Kiểm tra dữ liệu đã sắp xếp, giúp xác nhận thứ tự dữ liệu trong Textbox kết quả và thông báo kết quả ra màn hình.

Trong bài viết này, chúng tôi sẽ giới thiệu các thông tin quan trọng liên quan đến phần mềm, bao gồm trường, khoa, đồ án, học kỳ, cùng với thông tin về cán bộ hướng dẫn và sinh viên thực hiện phần mềm.

Hình 29 Giao diện thông tin d Hướng dẫn: hướng dẫn chi tiết cách sử dụng phần mềm, bao gồm các bước và cách để chạy phần mềm.

Hình 30 Giao diện hướng dẫn

3.4.3 Khu vực hiển thị dữ liệu

Hình 31 Khu vực hiển thị dữ liệu

Hiển thị dữ liệu trong Textbox chứa các phần tử chưa sắp xếp, trong khi Textbox khác hiển thị kết quả sau khi các phần tử đã được sắp xếp Đồng thời, biểu diễn thuật toán bằng đồ họa cho phép người dùng thấy rõ các vị trí đang thay đổi và kết quả cuối cùng của các phần tử sau khi sắp xếp.

Hình 32 Khu vực Footer (Phần bên dưới góc trái)

Phần mềm hiển thị trạng thái rõ ràng trong quá trình sắp xếp dữ liệu Đầu tiên, nó sẽ thông báo "Đang chờ thực hiện" khi đang trong trạng thái chờ sắp xếp Khi bắt đầu, phần mềm chuyển sang "Đang sắp xếp", hiển thị thuật toán đang được sử dụng và quá trình sắp xếp đang diễn ra Sau khi hoàn tất, trạng thái sẽ chuyển sang "Sắp xếp xong, đang chờ hiển thị kết quả", lúc này dữ liệu sẽ được chuyển đổi từ dạng số sang chuỗi để hiển thị trên Textbox Cuối cùng, phần mềm thông báo "Hoàn thành" và cung cấp thời gian sắp xếp đã thực hiện.

Ngày đăng: 02/06/2022, 13:38

HÌNH ẢNH LIÊN QUAN

I. HÌNH THỨC (Tối đa 0,5 điểm) - THUẬT TOÁN sắp xếp QUICK SORT
i đa 0,5 điểm) (Trang 2)
Hình 1. Thuật toán Quicksort trước khi thay đổi. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 1. Thuật toán Quicksort trước khi thay đổi (Trang 11)
Hình 2. Quicksort sau khi thay đổi (Quicksort song song). - THUẬT TOÁN sắp xếp QUICK SORT
Hình 2. Quicksort sau khi thay đổi (Quicksort song song) (Trang 11)
Hình 3. Nhập dữ liệu từ tệp tin text. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 3. Nhập dữ liệu từ tệp tin text (Trang 12)
Hình 5. Hàm kiểm tra thứ tự của mảng. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 5. Hàm kiểm tra thứ tự của mảng (Trang 13)
Hình 4. Hàm tạo ngẫu nhiên số. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 4. Hàm tạo ngẫu nhiên số (Trang 13)
Hình 6. Thuật toán Quicksort một luồng. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 6. Thuật toán Quicksort một luồng (Trang 14)
Hình 7. Hàm khởi tạo sắp xếp Quicksort một luồng và biểu diễn. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 7. Hàm khởi tạo sắp xếp Quicksort một luồng và biểu diễn (Trang 15)
Hình 11. Hàm chuyển từ số sang chuỗi. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 11. Hàm chuyển từ số sang chuỗi (Trang 19)
Hình 12. Hàm đọc và chuyển dữ liệu từ chuỗi sang số. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 12. Hàm đọc và chuyển dữ liệu từ chuỗi sang số (Trang 20)
Hình 14. Hàm đổi vị trí giữa hai phần tử và highlight phần tử. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 14. Hàm đổi vị trí giữa hai phần tử và highlight phần tử (Trang 21)
Hình 18. Lưu đồ thuật toán Quicksort song song. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 18. Lưu đồ thuật toán Quicksort song song (Trang 23)
Hình 19. Sơ đồ usecase của phần mềm Quicksort song song. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 19. Sơ đồ usecase của phần mềm Quicksort song song (Trang 24)
3.3.3Mô hình kiến trúc - THUẬT TOÁN sắp xếp QUICK SORT
3.3.3 Mô hình kiến trúc (Trang 25)
Hình 21. Giao diện chính. - THUẬT TOÁN sắp xếp QUICK SORT
Hình 21. Giao diện chính (Trang 26)

TỪ KHÓA LIÊN QUAN

w