Въпроси от колеги

Общност за взаимопомощ - попитайте и помогнете на колегите от Вашата област.

Информатика и компютърни науки Синтез и анализ на алгоритми
ДД
Даяна Димитрова
Технически Университет към ТУ София · 27.10.2020 · 1178 прегледа

Паралелно сортиране чрез сливане

Здравейте, имам нужда от насоки относно какво точно е разликата между паралелното сортиране чрез сливане и просто сортиране чрез сливане. Трябва да изготвя програма, визуализираща това сортиране за курсова работа.

1 отговор

Най-добър отговор · с най-много благодарности
3
РН
Рангел Николов
Пловдивски университет "Паисий Хилендарски" · 28.10.2020
Просто сортиране чрез сливане - това е Merge Sort. Работи на принципът "разделяй и владей". Взима се масива за сортиране , разцепва се на пакети и всеки пакет се соритра по отделно ,след това се сливат пакетите и пак се разелят на пакети , сортират се и се слепват, докато редицата не се сортира по дадения критеий.
Ако разцепим този сорт на 2 метода. 1 който разцепва масива на подмасиви и 2 който после слива вече сортираните масиви, то тогава можем да използваме нишки (threads), чрез който сортировката ще стане паралелна. Просто пускаме метода, който ще разцепва данните, да върви през нишки и когато е готов сливането ще става в отделен метод, който няма да върви през нишка. Благодарени на паралелната обработка, метотът ще свърши работата си n пъти по-бърко, колкото n на брой са стратираниете нишки . Ако имаш 8 ядрен процесор и всяко ядро поеме по една нишка, то паралелното сортиране ще се извърши 8 пъти по-бъзро от нормалния си вариант.
3

За да отговорите, трябва да сте влезли в профила си.

Влезте