Практическая работа 3 по предмету : алгоритмы и структура данных



Yüklə 393,83 Kb.
səhifə1/2
tarix14.06.2022
ölçüsü393,83 Kb.
#61400
növüПрактическая работа
  1   2
algoritm 3


МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕ СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РЕСПУБЛИКИ УЗБЕКИСТАН
ДЖИЗАКСКИЙ ФИЛИАЛ НАЦИОНАЛЬНОГО УНИВЕРСИТЕТА УЗБЕКИСТАНА ИМЕНИ МИРЗО УЛУГБЕКА

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ

Практическая работа 3


ПО ПРЕДМЕТУ: АЛГОРИТМЫ И СТРУКТУРА ДАННЫХ




ВЫПОЛНИЛ СТУДЕНТ ГРУППЫ 102-20 Ташмуродов Д.


ПРИНЯЛ ПРЕПОДОВАТЕЛЬ: Ахатов А.

Задания 7. Рассчитать заданные задачи с помощью поисковых алгоритмов. Используйте SelectionSort,QuickSort, BubbleSort, MergeSort и объясните сложность программы! (Big O)


18. [-26, -25, -14, 30, -7, 10, 25, -5, 14, -8, -24, -9, -3, -10, 11, -30, 4, 15, -9, 7, 3, 20, -27, -17, -11]

using System;
class GFG {
static void bubbleSort(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++)
if (arr[j] > arr[j + 1]) {
// swap temp and arr[i]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
static void printArray(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n; ++i)
Console.Write(arr[i] + " ");
Console.WriteLine();
}
public static void Main()
{
int[] arr = { -26, -25, -14, 30, -7, 10, 25, -5, 14, -8, -24, -9, -3, -10, 11, -30, 4, 15, -9, 7, 3, 20, -27, -17, -11};
bubbleSort(arr);
Console.WriteLine("Sorted array");
printArray(arr);
}
}


Compiled Successfully. memory: 17476 time: 0.02 exit code: 0
MergeSort



using System;
class MergeSort {

void merge(int[] arr, int l, int m, int r)


{

int n1 = m - l + 1;


int n2 = r - m;

int[] L = new int[n1];


int[] R = new int[n2];
int i, j;
for (i = 0; i < n1; ++i)
L[i] = arr[l + i];
for (j = 0; j < n2; ++j)
R[j] = arr[m + 1 + j];

i = 0;
j = 0;


int k = l;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
}
else {
arr[k] = R[j];
j++;
}
k++;
}

while (i < n1) {


arr[k] = L[i];
i++;
k++;
}

while (j < n2) {


arr[k] = R[j];
j++;
k++;
}
}
void sort(int[] arr, int l, int r)
{
if (l < r) {

int m = l+ (r-l)/2;


sort(arr, l, m);
sort(arr, m + 1, r);
merge(arr, l, m, r);
}
}
static void printArray(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n; ++i)
Console.Write(arr[i] + " ");
Console.WriteLine();
}
public static void Main(String[] args)
{
int[] arr = {-26, -25, -14, 30, -7, 10, 25, -5, 14, -8, -24, -9, -3, -10, 11, -30, 4, 15, -9, 7, 3, 20, -27, -17, -11};
Console.WriteLine("Given Array");
printArray(arr);
MergeSort ob = new MergeSort();
ob.sort(arr, 0, arr.Length - 1);
Console.WriteLine("\nSorted array");
printArray(arr);
}
}



Yüklə 393,83 Kb.

Dostları ilə paylaş:
  1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin