算法学习笔记

1.二分法。 感觉二分法还是比较简单的,就是不停的切割数组,比较大小而已 代码如下 

/// <summary>
        /// 二分法实现
        /// </summary>
        /// <param name="arr">传入的数组(已排序过的数组)</param>
        /// <param name="serachNum">需要定位的数字</param>
        /// <returns></returns>
        public int Binary_Search(int[] arr,int serachNum)
        {
            var startIndex = 0;
            var endIndex = arr.Length - 1;
            while (startIndex < endIndex)
            {
                var seIndex = Convert.ToInt32((startIndex + endIndex) / 2);
                if (arr[seIndex] < serachNum)
                    startIndex = seIndex+1;
                else
                    endIndex = seIndex-1;
                if (arr[seIndex] == serachNum)
                    return seIndex;
            }
            return -1;
        }
原文地址:https://www.cnblogs.com/yuchenghao/p/9634086.html