Sorting and Searching



страница2/2
Дата23.09.2023
Размер1.67 Mb.
#118764
1   2
04.3.Други-алгоритми-за-сортиране
Свързани:
Albert-Camus - Chuzhdenetsyt - 14663

Сортиране чрез броене

  • Сортиране чрез броене (counting sort) е много ефективен алгоритъм за сортиране (онагледяване)
  • Най-добър, обичаен и най-лош случай: O(n + k)
    • k е диапазонът на сортираните числа
    • Например [-1000 ... 1000]  k = 2001
  • Памет: O(n + k) Място: O(k)
  • Стабилен: Да
  • Метод: Броене

Bucket сортиране

  • Bucket sort разделя масива на много „ведра“
  • Обичайните случаи: O(n + k)
    • k = броя на „ведрата“
  • Най-лошия случай: O(n * log n)
  • Стабилен: Да (зависи от алгоритъма)
  • Памет: O(n) – k „ведра“ съдържащи общо n елемента

Сравнение на сортиращи алгоритми


Име

Най-добре

Средно

Най-зле

Памет

Стабилен

Метод

SelectionSort

n2

n2

n2

1

Не

Селекция

BubbleSort

n

n2

n2

1

Да

Размяна

InsertionSort

n

n2

n2

1

Да

Вмъкване

QuickSort

n*log(n)

n*log(n)

n2

log(n)

Зависи

Разделяне

MergeSort

n*log(n)

n*log(n)

n*log(n)

1 (or n)

Да

Сливане

HeapSort

n*log(n)

n*log(n)

n*log(n)

1

Не

Селекция

BogoSort

n

n*n!

n*n!

1

Не

Късмет

онагледяване

Обобщение

  • Бавни алгоритми за сортиране:
  • Бързи алгоритми за сортиране:
    • Бързо сортиране, сортиране чрез сливане и т.н.
  • Как да изберем най-удачния метод за сортиране?
      • http://stackoverflow.com/a/1934004

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

https://it-kariera.mon.bg/e-learning/

Министерство на образованието и науката (МОН)

  • Настоящият курс (презентации, примери, задачи, упражнения и др.) е разработен за нуждите на Национална програма "Обучение за ИТ кариера" на МОН за подготовка по професия "Приложен програмист"
  • Курсът е базиран на учебно съдържание и методика, предоставени от фондация "Софтуерен университет" и се разпространява под свободен лиценз CC-BY-NC-SA


Сподели с приятели:
1   2




©obuch.info 2024
отнасят до администрацията

    Начална страница