Aлгоритми за сортиране

by mitko

This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Aлгоритми за сортиране

by

  • Joined Jan 2021
  • Published Books 2

Selection Sort

Този алгоритъм за сортиране е известен на български още като сортиране чрез пряка селекция.

Принципът му на действие се състои в :

1.Намиране на най-малкият елемент от масива

2.Размяна на стойностите на този елемент с първия елемент от масива

3.Тези действия се повтарят докато се изчерпят всички елементи и масивът бъде подреден в нарастващ редSelect-sort with Gypsy folk dance

2

Merge Sort

Merge Sort e “разделяй и владей алгоритъм, базиран на сравнение.”

1.Първоначално неподредения масив се разделя на две части.

2.След това всяка от получените части се разделя още на два подмасива, докато останат само единични елементи.

3.Всеки два съседни елемента се сравняват и елементите в двойката се обединяват и пореждат във възходящ ред.(Merge)

4.След изчерпване на единичните елементи се преминава към сравняване с елементите от съседната двойка.Съседните подмасиви се сравняват, подреждат и обединяват докато не бъдат подредени всички подмасиви и остане само един масив – подреденият.Merge-sort with Transylvanian-saxon (German) folk dance

3

Quick Sort

Принципът на действие на бързото сортиране не състои в следното :

1.Избира се елемент спрямо който ще се сравняват останалите елементи в масива т. нар. “pivot”. За такъв елемент може да бъде избран – първия или последния елемент, медианата или произволен елемент от масива.

2.Всеки елемент се сранява с “pivot” елемента и се пренаредждат, така че елементите,по-малки от него се поставят вляво от него, а по-големите – вдясно от него.

3.Тези действия се повтарят рекурсивно – избира се нов “pivot” елемент за всяка подредица и отново се сравняват останалите елементи с него.

4.Получените подредици се сливат и получаваме подредения масив.Quick-sort with Hungarian (Küküllőmenti legényes) folk dance

4

Bubble Sort

Методът на мехурчето е един от най-известните алгоритмни за сортиране :

1.Той сравнява последователно всичка двойка съседни елементи една с друга.

2.Ако се окаже, че вторият елемент е по-голям местата им се разменят.

Въпреки, че методът на мехурчето е един от най-семплите методи за сортиране ефективността му бързо намалява при употреба в големи редици от данни. Не е ефективен и при редици, подредени в обратен ред. Bubble-sort with Hungarian (“Csángó”) folk dance

5
Метод на мехурчето

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Метод на мехурчето за сортиране на масив
            int[] arr = new int[] { 6, 9, 4, 3, 5, 1, 42, -2 };

            for (int i = 0; i < arr.Length - 1; i++)
            {
                for(int j=0; j<arr.Length - 1; j++)
                    if (arr[j] > arr[j + 1])
                    {
                        int t = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = t;
                    }
            }
            for(int i=0; i< arr.Length; i++)
                Console.Write(arr[i]+ " ");
            Console.WriteLine();

        }
    }
}
6
Пряка селекция

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {  //метод на пряката селекция за сортиране на масив
            int[] arr = new int[] { 6, 9, 4, 3, 5, 1, 42, -2 };
            int i, j, m, p;
            for (i = 0; i < arr.Length - 1; i++)
            {
                m = arr[i];
                p = i;
                for(j=i+1; j<arr.Length; j++)
                    if (m > arr[j])
                    {
                        m=arr[j];
                        p=j;
                    }
                arr[p] = arr[i];
                arr[i] = m;
            }
            for ( i = 0; i < arr.Length; i++)
                Console.Write(arr[i] + " ");
            Console.WriteLine();
        }
    }
}
7
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Ad Remove Ads [X]
Skip to content