PD w Giáo trình hướng dẫn sử dụng thuật toán hiệu chỉnh trong phân phối cácTruùc Döõ đườngi Thuaät lập trình Giaùo trình: Caáu cặp Lieäu vaø Giaû chạy } else { Temp[J2] = M[I1] J2--; } Head = 0-Head; K1 = K2 = 0; break; } } } return; } //======================================================== void StraightMergeSortModify(T M[], int N) { int L = 1 ; T * Temp = new T[N]; if (Temp == NULL) return; while (L = N) { for (int I = 0; I | Giáo trình hướng dẫn sử dụng thuật toán hiệu chỉnh trong phân phối các cặp đường chạy lập trình Temp J2 M I1 J2-- Head 0-Head K1 K2 0 break return void StraightMergeSortModify T M int N int L 1 T Temp new T N if Temp NULL return while L N MergeDistribute M N Temp L L 2 L if L N for int I 0 I N I M I Temp I break MergeDistribute Temp N M L L 2 L delete Temp return - Phân tích thuật toán hiệu chỉnh Trong thuật giải nay chúng ta luon thực hiện log2 N lần trộn - phan phoi cac run. Moi lẩn trọn-phân phoi chung ta phai thực hiên N phep gán va N N 2 N 2 2N phep so sanh. Trong moi trựỢng hợp So phep gan G NxLog2 N So phep so sanh S 2NxLog2 N So phep hoan vị Hmin 0 Nhự vạy thuạt giai trôn thẳng hiẹu chỉnh vừa tiết kiẹm bo nhô vựa thực hiẹn nhanh hôn thuat giai trọn thang ban đau. Tuy nhien trong thuat giai trọn thang chung ta đa thực hien viec phan phoi va trọn cac cặp đu Ợ ng chay co chieu dai co định ma trong thực te tren day cac đựông Trang 53 chạy có thế có chiều dài lớn hơn. Điều này sẽ giảm bớt số lần phân phối và trôn các cặp đương chạy chó chung ta. Thuật giải trốn tù nhiên được trình bày sau đây sẽ lóặi bó được nhược điêm này cua thuặt giải trốn tháng. b. Thuật toán sắp xếp trộn tự nhiên Natural Merge Sort - Tư tưởng Tàn dụng các đương chạy tư nhiên có sàn trên dày tiên hành trộn tương ú ng các cáp đương chày tự nhiên nàm hài đàu dày M thành mót đương chày mơi và phàn phói luàn phiên các đương chày mơi này vê hài đàu dày phu Têmp. Sáu đó lài tiêp tuc trón tương ưng tưng cáp run ơ hài đàu dày phu Têmp thành mót run mơi và phàn phói luàn phiên run mơi này vê hài đàu dày M. Cứ tiêp tuc như váy chó đến khi trên M hoác trên Têmp chỉ cón lài 01 run thì kêt thuc. - Thuật toán Trôn - Phân phối các cặp đưởng chay tự nhiên B1 I1 1 Chỉ só từ đàu dày M B2 I2 N Chỉ só từ cuối dày M B3 J1 1 Chỉ só từ đàu dày Têmp B4 J2 N Chỉ só từ cuci dày Têmp B5 Hêàd Truê Cơ bàó phíà đát run mơi tróng quà trình trón - phàn phói B6 IF I1 I2 Đà trón và phàn phổi hêt các run Thực hiên Bkt B7 IF M