Junior — Middle
Оё имкон дорад, ки алгоритми сортингро амалӣ кард, ки барои нигоҳдории маълумоти миёнаи истифодаи ёддоштии иловагӣ накунанд?
sobes.tech AI
Ҷавоб аз AI
Бале, мавҷуд алгоритмҳои сортинг, ки иловагӣ хотира барои нигоҳдории маълумоти миёна истифода намебаранд — онҳоро in-place алгоритмҳо меноманд.
Масаланҳои чунин алгоритмҳо:
- Bubble Sort (Бӯлакии сорти)
- Insertion Sort (Вурудии сорти)
- Selection Sort (Танзимоти интихобӣ)
- Quick Sort (Тез сорти) — бо иҷрои эҳтиётӣ
- Heap Sort (Сортинг бо кӯпрук)
Ин алгоритмҳо тартиби элементҳоро мустақиман дар массиви аслӣ тағир медиҳанд, бидуни таъин кардани хотираи иловагӣ барои нусхаҳо ё структураҳои ёрирасон.
Масалан, Quick Sort in-place дар Java:
public void quickSort(int[] arr, int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
private int partition(int[] arr, int low, int high) {
int pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] <= pivot) {
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i + 1];
arr[i + 1] = arr[high];
arr[high] = temp;
return i + 1;
}
Инчунин, ин-place сортинг хотираро сарфа мекунад, аммо баъзан метавонад сусттар ё камтар устувор бошад, нисбат ба онҳое, ки иловагӣ хотира истифода мебаранд.