Сортирани низ је низ у којем је сваки елемент сортиран у бројевном, словном или неком другом реду, и позициониран у прорачунатој меморији на рачунару. Најчешће се користе у рачунарима да се импементирају статичне табеле са различитим вредностима које имају исти тип. Сортирање низа је корисно за организовање података у одређеној форми и да им се брзо приступа.

Сортирани низ
Типниз
Година изума1945
ИзумитељЏон фон Нојман
Временска комплексност у великој О нотацији
Алгоритам Просек Најгори случај
Простор О(н) О(н)
Претрага О(лог н) О(лог н)
Уметање О(н) О(н)
Брисање О(н) О(н)

Методе уреди

Постоји много познатих метода помоћу којих низ мозе бити сортиран селекцијом, мехуром, уметањем, спајањем, пребројавањем, квиксортом и хипсортом.[1] Ове технике сортирања имају различите алгоритме и такође постоје различите предности за коришћење неког од њих.

Преглед уреди

Сортирани низови су просторно најштедљивија структура података.

Елементи који су сортирани, бинарном претрагом се претражују комплексношћу  ; тако сортирани низову су погодни када елементи треба брзо да се нађу. Ова комплексност је иста као и код самобалансирајућих бинарних стабала претраге.

У неким структурама података користи се низ објеката. У таквим случајевима, исте методе сортирања могу да се користе за сортирање структура у односу на неки кључ, на пример, сортирање студената по бројевима, именима или оценама.

Ако је у питању динамичко сортирање, онда је могуће брисање и убацивање елемената. Брисање и убацивање елемената захтева   времена, зато што мора да се прође кроз све елементе, у поређењу са самобалансирајућим стаблом, где за брисање и убацивање елемената треба   времена. У случају када се брише или убацује на крај низа, у сортираном низу се то извршава за  , док код балансираног стабла треба  .

Елементи у сортираном низу могу да се претражују преко индекса у О(1) времену, за друге комплексније операције потребно је О(лог н) или О(н) времена.

Историја уреди

Џон фон Нојман је написао први програм за сортирање (сортирање спајањем) 1945. године, за време прављења ЕДВАЦ рачунара.[2]

Примена уреди

Комерцијално рачунаство[3] уреди

Владине организације, приватне компаније и апликације базиране на вебу имају много података. Подацима се често приступа више пута. Чување података као сориран низ омогућује лак приступ подацима.

Дискретна математика уреди

Соритани низови могу да се користе за имплементацију Дајкистриног алгоритма или Примовог алгоритма. Такође и за алгоритме као што је Крускалов за тражење минималних разапињућих стабала.

Приоритетна заказивања уреди

Код оперативних система, многи процеси чекају на извршавање, јер процесор може да обрађује само један процес у одређеном тренутку. Процеси се шаљу процесору по приоритету заснованом на сортираном низу.

Распоређивање по времену извршавања уреди

Ово је посебан случај приоритетног заказивања. Процеси се сортирају на основу времена трајања. Процес који захтева најмање времена ће се извршити први.

 
Процес Време извршавања
П1 3
П2 4
П3 1
П4 8
П5 6

Види још уреди

Референце уреди

  1. ^ „Сортинг Алгоритхмс”. ГеексфорГеекс (на језику: енглески). Приступљено 9. 4. 2020. 
  2. ^ Кнутх, Доналд Ервин (1997). Тхе арт оф цомпутер программинг. Аддисон-Wеслеy. ИСБН 0-201-89685-0. ОЦЛЦ 951274350. 
  3. ^ „Сортинг Апплицатионс”. алгс4.цс.принцетон.еду. Приступљено 9. 4. 2020.