Алгоритмы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Great_man, 4 Mar 2009.

  1. Great_man

    Great_man New Member

    Joined:
    2 Mar 2009
    Messages:
    10
    Likes Received:
    4
    Reputations:
    0
    Посмотрел раздел, но не нашел ничего по алгоритмам. Давайте выкладывать различные алгоритмы по маске:
    задача:алгортим:описание
    или просто алгоритм:описание.
    Так же приветсвются ссылки на тематические ресурсы.

    Code:
    [COLOR=White][B]        /// <summary>
            /// Бинарный поиск - ищет в СОРТИРОВАННОМ массиве нужное значение
            /// при этом сложность поиска составляет - Q(log(n)) 
            /// </summary>
            /// <param name="array">сортированный массив</param>
            /// <param name="value">значение для поиска</param>
            /// <returns>Если -1, то значение не найдено.
            /// При успешном результате, вовращает номер найденого элемента.</returns>[/B][/COLOR]
            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;
                }
            }
     
    1 person likes this.
  2. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    /thread66484.html
     
  3. Great_man

    Great_man New Member

    Joined:
    2 Mar 2009
    Messages:
    10
    Likes Received:
    4
    Reputations:
    0
    ок.