Учебное пособие C#. Алгоритмы и структуры данных н. А. Тюкачев, В. Г. Хлебостроев издание третье, стереотипное 1 / 23


Download 1.85 Mb.
Pdf ko'rish
bet14/111
Sana19.11.2023
Hajmi1.85 Mb.
#1786905
TuriУчебное пособие
1   ...   10   11   12   13   14   15   16   17   ...   111
Bog'liq
C# Алгоритмы и структуры данных 2018 Тюкачев, Хлебостроев

Листинг 2.3. Бинарный поиск 
static int SearchBinary(int[] a, int x) 
17 / 23


18 

int m, left = 0, right = a.Length - 1; 
do 

m = (left + right) / 2; 
if (x > a[m])
left = m + 1;
else
right = m - 1; 

while ((a[m] != x) && (left <= right)); 
if (a[m] == x)
return m; 
else 
return -1; 

Данный алгоритм по сравнению с предыдущим обладает гораздо более 
высокой скоростью выполнения. Его временная эффективность характеризу-
ется скоростью роста O(log
2
N). 
2.2. А
ЛГОРИТМЫ СОРТИРОВКИ
 
Основным требованием к методам сортировки массивов является эко-
номное использование памяти. Это означает, что переупорядочение элемен-
тов необходимо выполнять in situ (на том же месте). Поэтому основным кри-
терием эффективности алгоритма сортировки является его быстродействие. 
При сортировке элементов в массиве выполняются две основных операции: 
сравнения элементов по ключу сортировки и пересылка элементов. И число 
сравнений, и число перестановок зависят от размера массива N.
Хорошие алгоритмы сортировки требуют порядка N*log
2

сравне-
ний, более простые – порядка N
2 
сравнений ключей. Как правило, усовершен-
ствованные алгоритмы сортировки содержат меньшее число операций, одна-
ко это достигается путем усложнения самих операций. Поэтому простые ме-
тоды являются предпочтительными при малых N, но их не рекомендуется 
использовать для сортировки массивов больших размеров. 
18 / 23


19 
При выборе того или иного алгоритма сортировки для конкретной за-
дачи необходимо учитывать ряд условий. Перечислим наиболее важные из 
них. 

Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   ...   111




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling