Báo cáo tài liệu vi phạm
Giới thiệu
Kinh doanh - Marketing
Kinh tế quản lý
Biểu mẫu - Văn bản
Tài chính - Ngân hàng
Công nghệ thông tin
Tiếng anh ngoại ngữ
Kĩ thuật công nghệ
Khoa học tự nhiên
Khoa học xã hội
Văn hóa nghệ thuật
Sức khỏe - Y tế
Văn bản luật
Nông Lâm Ngư
Kỹ năng mềm
Luận văn - Báo cáo
Giải trí - Thư giãn
Tài liệu phổ thông
Văn mẫu
THỊ TRƯỜNG NGÀNH HÀNG
NÔNG NGHIỆP, THỰC PHẨM
Gạo
Rau hoa quả
Nông sản khác
Sữa và sản phẩm
Thịt và sản phẩm
Dầu thực vật
Thủy sản
Thức ăn chăn nuôi, vật tư nông nghiệp
CÔNG NGHIỆP
Dệt may
Dược phẩm, Thiết bị y tế
Máy móc, thiết bị, phụ tùng
Nhựa - Hóa chất
Phân bón
Sản phẩm gỗ, Hàng thủ công mỹ nghệ
Sắt, thép
Ô tô và linh kiện
Xăng dầu
DỊCH VỤ
Logistics
Tài chính-Ngân hàng
NGHIÊN CỨU THỊ TRƯỜNG
Hoa Kỳ
Nhật Bản
Trung Quốc
Hàn Quốc
Châu Âu
ASEAN
BẢN TIN
Bản tin Thị trường hàng ngày
Bản tin Thị trường và dự báo tháng
Bản tin Thị trường giá cả vật tư
Tìm
Danh mục
Kinh doanh - Marketing
Kinh tế quản lý
Biểu mẫu - Văn bản
Tài chính - Ngân hàng
Công nghệ thông tin
Tiếng anh ngoại ngữ
Kĩ thuật công nghệ
Khoa học tự nhiên
Khoa học xã hội
Văn hóa nghệ thuật
Y tế sức khỏe
Văn bản luật
Nông lâm ngư
Kĩ năng mềm
Luận văn - Báo cáo
Giải trí - Thư giãn
Tài liệu phổ thông
Văn mẫu
NGÀNH HÀNG
NÔNG NGHIỆP, THỰC PHẨM
Gạo
Rau hoa quả
Nông sản khác
Sữa và sản phẩm
Thịt và sản phẩm
Dầu thực vật
Thủy sản
Thức ăn chăn nuôi, vật tư nông nghiệp
CÔNG NGHIỆP
Dệt may
Dược phẩm, Thiết bị y tế
Máy móc, thiết bị, phụ tùng
Nhựa - Hóa chất
Phân bón
Sản phẩm gỗ, Hàng thủ công mỹ nghệ
Sắt, thép
Ô tô và linh kiện
Xăng dầu
DỊCH VỤ
Logistics
Tài chính-Ngân hàng
NGHIÊN CỨU THỊ TRƯỜNG
Hoa Kỳ
Nhật Bản
Trung Quốc
Hàn Quốc
Châu Âu
ASEAN
BẢN TIN
Bản tin Thị trường hàng ngày
Bản tin Thị trường và dự báo tháng
Bản tin Thị trường giá cả vật tư
Thông tin
Tài liệu Xanh là gì
Điều khoản sử dụng
Chính sách bảo mật
0
Trang chủ
Công Nghệ Thông Tin
Cơ sở dữ liệu
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 12: Các thuật toán sắp xếp nhanh O(nlogn)
Đang chuẩn bị liên kết để tải về tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 12: Các thuật toán sắp xếp nhanh O(nlogn)
Vân Quyên
188
56
.pdf
Không đóng trình duyệt đến khi xuất hiện nút TẢI XUỐNG
Tải xuống
Bài giảng "Cấu trúc dữ liệu và giải thuật trong C++ - Bài 12: Các thuật toán sắp xếp nhanh O(nlogn)" cung cấp cho người học các kiến thức: Sắp xếp nhanh – Quick sort; sắp xếp trộn - Merge sort; vun đống – Heap sort. . | Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 12: Các thuật toán sắp xếp nhanh O(nlogn) Bài 12. Các thuật toán sắp xếp nhanh O(nlogn) Sắp xếp nhanh – Quick sort Sắp xếp trộn - Merge sort Vun đống – Heap sort Sorting 1 Chia và trị - Divide and conquer Chia và trị là phương pháp thiết kế thuật toán theo kiểu: Phân chia: Chia dữ liệu đầu vào S của bài toán thành 2 tập con rời nhau S1 và S2 Đệ qui: Giải bài toán với dữ liệu vào là các tập con S1 và S2 Trị: kết hợp các kết quả của S1 và S2 thành kết quả của S Trường hợp cơ sở cho thuật toán đệ qui ở đây là các bài toán có kích thước 0 hoặc 1 Sorting 2 Sắp xếp nhanh – Quick sort Ý tưởng (sử dụng phương pháp chia và trị): Thực hiện phân hoạch dãy S cần sắp thành 3 dãy S1, S2, S3. Trong đó: • S2 chỉ có một phần tử, tất cả các phần tử của dãy S3 đều > phần tử của dãy S2. • Tất cả các phần tử của dãy S1 đều ≤ phần tử của dãy S2 • Dãy S1, S3 có thể là rỗng Tiếp tục phân hoạch dãy S1 và S3 độc lập theo nguyên tắc trên đến khi dãy cần thực hiện phân hoạch chỉ có một phần tử thì dừng lại. Khi đó ta được dãy các phần tử được sắp. Sorting 3 Thuật toán sắp xếp Quick sort Từ ý tưởng của thuật toán, ta có thể dễ dàng xây dựng thuật toán sắp xếp dưới dạng đệ qui như sau: Algorithm QuickSort (array A, i, j ); Input: Dãy các phần tử A[i],,A[j] và hai số nguyên i, j Output: Dãy A[i],,A[j] được sắp. if i < j then Partition (A,i, j, k); //k lấy chỉ số của phần tử làm S2 Quicksort (A,i, k-1); Quicksort (A,k+1, j); Sorting 4 Ví dụ Sorting 5 Vấn đề đặt ra ở đây là phân hoạch dãy S như thế nào? Sorting 6 Thuật toán phân hoạch • Chọn một phần tử bất kỳ của dãy làm dãy S2 (phần 6 12 32 1 3 tử này được gọi là phần tử chốt - pivot). 6 3 32 1 12 • Thực hiện chuyển các phần tử có khóa ≤ phần 6 3 1 32 12 tử chốt về bên trái và các phần tử > phần tử chốt về bên phải, sau đó đặt phần tử chốt về đúng vị 1 3 6
TÀI LIỆU LIÊN QUAN
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 9: Cấu trúc dữ liệu hàng đợi
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 9: Cấu trúc dữ liệu hàng đợi
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 2: Ngôn ngữ lập trình C++
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 2: Ngôn ngữ lập trình C++
Bài giảng Cấu trúc dữ liệu và giải thuật: Con trỏ và mảng cấp phát động trong C++ - Hoàng Thị Điệp (2014)
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 3: Cơ bản về lớp trong C++
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 3: Cơ bản về lớp trong C++
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 10: Cây (Tree)
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.