bubble sort java java sorting algorithms code examples
Овај водич ће објаснити сортирање облачића на Јави заједно са главним алгоритмом за сортирање Јава-а, применом сортирања облачића и примерима кода:
Алгоритам сортирања може се дефинисати као алгоритам или поступак за стављање елемената колекције у одређени редослед. На пример, ако имате нумеричку колекцију попут АрраиЛист целих бројева, тада ћете можда желети да распоредите елементе АрраиЛист у растућем или силазном редоследу.
Слично томе, можда ћете желети да аранжирате ни лексикографски редослед низова колекције низова. Ту се појављују алгоритми за сортирање у Јави.
како покренути .бин датотеке
Шта ћете научити:
Главни алгоритми за сортирање у Јави
Алгоритми за сортирање обично се процењују у зависности од сложености времена и простора. Јава подржава разне алгоритме за сортирање који се користе за сортирање или уређивање колекција или структура података.
Табела у наставку приказује главне алгоритме за сортирање подржане у Јави, заједно са њиховим најбољим / најгорим случајевима.
Сложеност времена | ||||
---|---|---|---|---|
Радик Сорт | Алгоритам линеарног сортирања. | О (нк) | О (нк) | О (нк) |
Алгоритам сортирања | Опис | Најбољи случај | Најгори случај | Просечан случај |
Буббле Сорт | Непрекидно упоређује тренутни елемент са суседним елементима. На крају сваке итерације, најтежи елемент нађе се на одговарајућем месту. | На) | О (н ^ 2) | О (н ^ 2) |
Сортирање уметања | Умеће сваки елемент колекције на одговарајуће место. | На) | О (н ^ 2) | О (н ^ 2) |
Сортирање спајањем | Слиједи приступ подијели и освоји. Колекцију дели на једноставније подзбирке, сортира их, а затим све спаја | О (нлогн) | О (нлогн) | О (нлогн) |
Брзо сортирање | Најефикаснија и оптимизована техника сортирања. Користи подели и освоји за сортирање колекције. | О (нлогн) | О (н ^ 2) | О (нлогн) |
Сортирање избора | Проналази најмањи елемент у колекцији и поставља га на његово место на крају сваке итерације | О (Н ^ 2) | О (Н ^ 2) | О (Н ^ 2) |
Хеап Сорт | Елементи се сортирају градећи минималну хрпу или максималну хрпу. | О (нлогн) | О (нлогн) | О (нлогн) |
Поред техника сортирања датих у горњој табели, Јава подржава и следеће технике сортирања:
- Сортирај кашику
- Бројање Сортирај
- Схелл Сорт
- Сортирај чешаљ
Али ове технике се ретко користе у практичној примени, тако да ове технике неће бити део ове серије.
Размотримо технику сортирања мехурића на Јави.
Мехурићи сортирани на Јави
Буббле сорт је најједноставнија од свих техника сортирања на Јави. Ова техника сортира колекцију тако што више пута упоређује два суседна елемента и замењује их ако нису у жељеном редоследу. Дакле, на крају итерације, најтежи елемент се издува да затражи свој прави положај.
Ако на листи А има н елемената задатих од А (0), А (1), А (2), А (3),… .А (н-1), тада се А (0) упоређује са А (1 ), А (1) се упоређује са А (2) и тако даље. Након упоређивања да ли је први елемент већи од другог, тада се два елемента замењују ако нису у реду.
Алгоритам сортирања мехурића
Општи алгоритам за технику сортирања мехурића дат је у наставку:
Корак 1: За и = 0 до Н-1 поновите 2. корак
Корак 2: За Ј = и + 1 до Н - понављам
Корак 3: ако је А (Ј)> А (и)
Замените А (Ј) и А (и)
(Крај унутрашње фор петље)
(Енд иф Оутер фор лооп)
Корак 4: Излаз
Сада ћемо демонстрирати технику сортирања мехурића на илустративном примеру.
Узимамо низ величине 5 и илуструјемо алгоритам сортирања мехурића.
Сортирање низа помоћу мехурићастог сортирања
Следећа листа се сортира.
по чему се јава разликује од ц ++
Као што видите горе, низ је у потпуности сортиран.
Горња илустрација може се резимирати у табеларном облику као што је приказано доле:
Пасс | Несортирана листа | поређење | Сортирана листа |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
1 | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11.6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11.15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15.4} | {3,6,11,4,15} | |
два | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | СОРТЕД |
Као што је приказано у горњем примеру, највећи елемент се мехури до свог правилног положаја при свакој итерацији / пролазу. Генерално, када дођемо до Н-1 (где је Н укупан број елемената на листи) пролази; целу листу ћемо сортирати.
Пример кода за сортирање мехурића
Програм у наставку приказује Јава имплементацију алгоритма мехурића сортирања. Овде одржавамо низ бројева и користимо два фор петље за пролазак кроз суседне елементе низа. Ако два суседна елемента нису у реду, тада се замењују.
import java.util.*; class Main{ // Driver method to test above public static void main(String args()) { //declare an array of integers int intArray() = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray(j+1)) { int temp = intArray(j); intArray(j) = intArray(j+1); intArray(j+1) = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
Излаз:
Оригинални низ: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Сортирани низ: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Често постављана питања
П # 1) Који су алгоритми за сортирање у Јави?
Одговор: Алгоритам сортирања може се дефинисати као алгоритам или поступак помоћу којег се елементи у колекцији могу наручити или распоредити на жељени начин.
Доље су дати неки од алгоритама за сортирање подржани у Јави:
- Буббле Сорт
- Сортирање уметања
- Сортирање избора
- Сортирање спајањем
- Куицксорт
- Радик сорт
- Хеапсорт
К # 2) Који је најбољи алгоритам сортирања у Јави?
Одговор: Мерге Сорт би требао бити најбржи алгоритам сортирања на Јави. У ствари, Јава 7 је интерно користила сортирање спајања за примену методе Цоллецтионс.сорт (). Брзо сортирање је такође још један најбољи алгоритам сортирања.
К # 3) Шта је Буббле сорт у Јави?
Одговор: Буббле сорт је најједноставнији алгоритам на Јави. Буббле сорт увек упоређује два суседна елемента на листи и замењује их ако нису у жељеном редоследу. Тако се на крају сваке итерације или проласка најтежи елемент мехури на своје место.
К # 4) Зашто је балон сорта Н.два?
Одговор: За примену сортирања облачића користимо две фор петље.
претварање цхар у инт ц ++
Укупан урађени посао мери се:
Количина посла обављеног унутрашњом петљом * укупан број покретања спољне петље.
За листу од н елемената, унутрашња петља ради за О (н) за сваку итерацију. Спољна петља ради за О (н) итерацију. Отуда је укупан урађени посао О (н) * О (н) = О (ндва)
К # 15) Које су предности сорте мехурића?
Одговор: Предности сортирања мехурића су следеће:
- Лако кодирање и разумевање.
- За примену алгоритма потребно је неколико редова кода.
- Сортирање се врши на месту, тј. Додатна меморија није потребна, а самим тим и нема додатних трошкова.
- Сортирани подаци су одмах доступни за обраду.
Закључак
До сада смо разговарали о алгоритму сортирања мехурића на Јави. Такође смо истражили алгоритам и детаљну илустрацију сортирања низа помоћу Буббле Сорт технике. Затим смо имплементирали Јава програм у Буббле Сорт.
У следећем упутству наставићемо са осталим техникама сортирања у Јави.
=> Овде проверите СВЕ Јава туторијале.
Препоручено читање
- Сортирање избора у Јави - Алгоритам сортирања избора и примери
- Сортирање уметања у Јави - Алгоритам сортирања уметања и примери
- Мехурићи сортирани на Ц ++ са примерима
- Како сортирати низ у Јави - Водич са примерима
- Водич за дужину Јава низа са примерима кода
- МонгоДБ метода сортирања () са примерима
- Уник наредба за сортирање са синтаксом, опцијама и примерима
- Јава 'тхис' кључна реч: Водич са примерима кода