Тема: Алгоритмы
Показать сообщение отдельно

Алгоритмы
  #1  
Старый 04.03.2009, 17:10
Great_man
Новичок
Регистрация: 02.03.2009
Сообщений: 11
С нами: 9048939

Репутация: 12
Smile Алгоритмы

Посмотрел раздел, но не нашел ничего по алгоритмам. Давайте выкладывать различные алгоритмы по маске:
задача:алгортим:описание
или просто алгоритм:описание.
Так же приветсвются ссылки на тематические ресурсы.

Код:
        /// <summary>
        /// Бинарный поиск - ищет в СОРТИРОВАННОМ массиве нужное значение
        /// при этом сложность поиска составляет - Q(log(n)) 
        /// </summary>
        /// <param name="array">сортированный массив</param>
        /// <param name="value">значение для поиска</param>
        /// <returns>Если -1, то значение не найдено.
        /// При успешном результате, вовращает номер найденого элемента.</returns>
        public static int BinarySearch(int[] array, int value)
        {
            int start = 0;
            int end = array.Length;
            
            while (true)
            {
                int middle = (start + end) / 2;
                if (value < array[middle])
                    end = middle - 1;
                else if (value > array[middle])
                    start = middle + 1;
                else
                    return middle;
                if (start > end)
                    return -1;
            }
        }
 
Ответить с цитированием