Домой Интервью Вопросы Ответы Как реализовать алгоритм сортировки выбора в Java — подробное объяснение

Как реализовать алгоритм сортировки выбора в Java — подробное объяснение

405
0

Содержание

Вы выпускник информатики? Вы готовитесь к интервью ? Хотите стать мастером в структуре данных ?

Что ж, алгоритмы сортировки — это наиболее часто задаваемые вопросы в вопросах интервью на Java. Некоторое время назад мы написали статью о сортировке Bubble по возрастанию и убыванию. Я помню, как изучал сортировку структур данных и алгоритмов выбора в моем курсе по компьютерным наукам BE. Давайте реализуем то же самое сегодня здесь.

Если у вас есть какие-либо из нижеперечисленных вопросов, то вы попали по адресу:

  • Реализация сортировки выбора в Java
  • Что такое сортировка выбора в Java? — Простой поиск и сортировка
  • Java-программа для реализации сортировки выбора
  • программа выбора сортировки в Java с выводом

В этом уроке мы рассмотрим лучший способ реализации Selection Sort Algorithm in Java , После каждой итерации мы будем печатать результат, чтобы вы могли лучше понять.

Давайте начнем

Вот шаги, которые мы собираемся выполнить:

  1. Создать массив crunchifyArray с size 11
  2. Добавьте всего 11 элементов в массив в случайном порядке
  3. Вывести исходный массив с помощью цикла for
  4. Сортировать массив, используя crunchifySelectionSort()
  5. После каждой итерации выведите половину отсортированного массива
  6. Как только все элементы в массиве будут отсортированы, выйдите из цикла
  7. Напечатать окончательный массив, используя для цикла

Логика:

Логика выбора сортировки очень проста. Sort the shortest element with the element with the 0th position , Продолжайте делать то же самое, пока не дойдете до конца.

Вот простая Java-программа для реализации сортировки выбора — реализация алгоритма / сортировка / сортировка выбора.

CrunchifySelectionSortAlgorithm.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
пакет crunchify. ком . учебник ;
/ **
* @author Crunchify.com Алгоритм сортировки выбора в Java
*
* /
общественности учебный класс CrunchifySelectionSortAlgorithm {
общественности статический недействительным main ( Строка [ ] аргументы ) {
// Начнем с arraySize 11
ИНТ ARRAYSIZE знак равно 11 ;
SortCrunchifyArray crunchifyArray ;
crunchifyArray знак равно новый SortCrunchifyArray ( arraySize ) ;
crunchifyArray . вставить ( 10 ) ;
crunchifyArray . вставить ( 17 ) ;
crunchifyArray . вставить ( 9 ) ;
crunchifyArray . вставить ( 1 ) ;
crunchifyArray . вставить ( 8 ) ;
crunchifyArray . вставить ( 3 ) ;
crunchifyArray . вставить ( 7 ) ;
crunchifyArray . вставить ( 5 ) ;
crunchifyArray . вставить ( 15 ) ;
crunchifyArray . вставить ( 2 ) ;
crunchifyArray . вставить ( 4 ) ;
Система. вне. print ( «Вот наш начальный массив:» ) ;
crunchifyArray . log ( ) ;
crunchifyArray . crunchifySelectionSort ( ) ;
Система. вне. print ( «Вот наш окончательный массив после выбора sort:» ) ;
crunchifyArray . log ( ) ;
}
}
/ **
* Алгоритм выбора сортировки
* /
учебный класс SortCrunchifyArray {
частный int [ ] crunchifyObject ;
частный ИНТ crunchifyIndex ; // Индекс по умолчанию равен 0
/ **
* Простой конструктор
* /
общественности SortCrunchifyArray ( int arraySize ) {
crunchifyObject знак равно новый int [ arraySize ] ;
crunchifyIndex знак равно 0 ;
}
/ **
* Вставьте массив
* /
общественности недействительным вставить ( int crunchifyValue ) {
crunchifyObject [ crunchifyIndex ++ ] знак равно crunchifyValue ;
}
/ **
* Простой способ поменять массив в Java
* /
частный недействительным crunchifySwap ( int позиция1 , ИНТ позиция2 ) {
ИНТ TMP знак равно crunchifyObject [ position1 ] ;
crunchifyObject [ position1 ] знак равно crunchifyObject [ position2 ] ;
crunchifyObject [ position2 ] знак равно tmp ;
}
/ **
* Acutal Selection Sort Logic идет здесь …
* /
общественности недействительным crunchifySelectionSort ( ) {
ИНТ externalObj , innerObj , minObj ;
// Счетчик для печати итерации
ИНТ счетчик знак равно 1 ;
за ( outerObj знак равно 0 ; outerObj < crunchifyIndex 1 ; outerObj ++ ) {
minObj знак равно externalObj ;
за ( innerObj знак равно outerObj + 1 ; innerObj < crunchifyIndex ; innerObj ++ )
если ( crunchifyObject [ innerObj ] < crunchifyObject [ minObj ] ) {
minObj знак равно innerObj ;
}
crunchifySwap ( outerObj , minObj ) ; // поменять объект
// напечатаем массив после каждой итерации
журнал ( «Итерация» + счетчик ) ;
counter ++ ;
}
}
частный недействительным log ( Строка строка ) {
Система. вне. println ( ========= + строка + ========= ) ;
log ( ) ;
}
/ **
* Давайте отображать массив
* /
общественности недействительным журнал ( ) {
за ( int я знак равно 0 ; я < crunchifyIndex ; я ++ )
Система. вне. print ( crunchifyObject [ i ] + ) ;
Система. вне. println ( / n ) ;
}
}

Дайте мне знать, если у вас есть какие-либо вопросы по реализации сортировки выбора в Java.

ЧИТАТЬ ТАКЖЕ:  Присоединяйтесь к команде: Crunchify ищет новых участников

Выход Eclipse Console:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Вот наш начальный массив : 10 17 9 1 8 3 7 5 15 2 4
========= итерация 1 =========
1 17 9 10 8 3 7 5 15 2 4
========= итерация 2 =========
1 2 9 10 8 3 7 5 15 17 4
========= итерация 3 =========
1 2 3 10 8 9 7 5 15 17 4
========= итерация 4 =========
1 2 3 4 8 9 7 5 15 17 10
========= итерация 5 =========
1 2 3 4 5 9 7 8 15 17 10
========= итерация 6 =========
1 2 3 4 5 7 9 8 15 17 10
========= итерация 7 =========
1 2 3 4 5 7 8 9 15 17 10
========= итерация 8 =========
1 2 3 4 5 7 8 9 15 17 10
========= итерация 9 =========
1 2 3 4 5 7 8 9 10 17 15
========= итерация 10 =========
1 2 3 4 5 7 8 9 10 15 17
Вот наш финал массив после выбора сортировки : 1 2 3 4 5 7 8 9 10 15 17

Теперь следующие вопросы: какова сложность времени для вышеуказанной программы?

Ну, сложность времени O(n2) ,

Как реализовать алгоритм сортировки выбора в Java — подробное объяснение

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь