91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

二分查找在C#中的應用場景有哪些

c#
小樊
83
2024-09-16 09:11:30
欄目: 編程語言

二分查找(Binary Search)是一種高效的查找算法,它適用于已排序的數據集合。在C#中,二分查找可以應用于多種場景,以下是一些常見的應用場景:

  1. 在有序數組中查找指定元素:當你需要在一個已排序的數組中查找某個特定元素時,可以使用二分查找來實現。
int[] sortedArray = new int[] { 1, 3, 5, 7, 9, 11, 13, 15 };
int target = 11;
int index = Array.BinarySearch(sortedArray, target);
if (index >= 0)
{
    Console.WriteLine($"Target found at index: {index}");
}
else
{
    Console.WriteLine("Target not found");
}
  1. 在有序列表中查找指定元素:類似于數組,你也可以在已排序的列表(List)中使用二分查找。
List<int> sortedList = new List<int> { 1, 3, 5, 7, 9, 11, 13, 15 };
int target = 11;
int index = sortedList.BinarySearch(target);
if (index >= 0)
{
    Console.WriteLine($"Target found at index: {index}");
}
else
{
    Console.WriteLine("Target not found");
}
  1. 在排序字典中查找鍵值對:當你需要在已排序的字典(SortedDictionary)中查找某個鍵值對時,可以使用二分查找。
SortedDictionary<int, string> sortedDictionary = new SortedDictionary<int, string>
{
    { 1, "one" },
    { 3, "three" },
    { 5, "five" },
    { 7, "seven" },
    { 9, "nine" },
};

int targetKey = 5;
if (sortedDictionary.ContainsKey(targetKey))
{
    Console.WriteLine($"Target key found with value: {sortedDictionary[targetKey]}");
}
else
{
    Console.WriteLine("Target key not found");
}
  1. 在排序集合中查找元素:當你需要在已排序的集合(SortedSet)中查找某個元素時,可以使用二分查找。
SortedSet<int> sortedSet = new SortedSet<int> { 1, 3, 5, 7, 9, 11, 13, 15 };
int target = 11;
if (sortedSet.Contains(target))
{
    Console.WriteLine("Target found in the sorted set");
}
else
{
    Console.WriteLine("Target not found");
}

總之,二分查找在C#中的應用場景非常廣泛,只要是在已排序的數據結構中查找元素,都可以考慮使用二分查找來提高查找效率。

0
云梦县| 电白县| 璧山县| 田阳县| 石城县| 深水埗区| 德江县| 三门县| 贡觉县| 七台河市| 崇州市| 酉阳| 神池县| 桃源县| 麻栗坡县| 灵丘县| 屏山县| 清远市| 东至县| 宁蒗| 泗洪县| 大足县| 井陉县| 潞西市| 河北省| 奉节县| 金寨县| 曲靖市| 营口市| 茶陵县| 太原市| 廊坊市| 沁阳市| 富宁县| 南华县| 德州市| 灌云县| 莎车县| 锦屏县| 亳州市| 达州市|