Dada una array, ahora nuestra tarea es realizar la búsqueda de un elemento en una array utilizando funciones predefinidas en C#. Entonces, la mejor técnica de búsqueda es la búsqueda binaria y buscará el elemento dado en una array usando funciones predefinidas. La búsqueda binaria es un algoritmo eficiente que funcionará solo en conjuntos ordenados de elementos. Entonces, si queremos usar la búsqueda binaria, entonces la array debe ordenarse; de lo contrario, dará resultados incorrectos. Entonces, para ordenar la array, usamos Sort()función. La búsqueda binaria buscará en una array ordenada dividiendo repetidamente el intervalo de búsqueda por la mitad. Comenzará con un intervalo que cubre todo el arreglo. Si el elemento de la búsqueda es menor que el elemento en el medio del intervalo, reduzca el intervalo a la mitad inferior. De lo contrario, redúcelo a la mitad superior. Comprobará repetidamente hasta que se encuentre el elemento o el intervalo esté vacío. Podemos realizar una búsqueda binaria utilizando la función BinarySearch() .
Sintaxis :
Array.BinarySearch(array_name, (Object)element)
donde array_name es la array de entrada y element es el elemento que se buscará con el tipo de datos Object.
Ejemplo:
Input: Array size: 5 Elements: {3, 4, 5, 2, 1} Element to Search: 4 Output: Present in 3rd position Input: Array size: 1 Elements: {1} Element to Search: 1 Output: Present in 0 th position
Acercarse:
- Lea el tamaño de la array del usuario.
- Lea los elementos en una array del usuario.
- Ordene la array usando la función Sort().
- Lea el elemento que se buscará en la array dada del usuario.
- Obtenga el elemento en una array usando la función de búsqueda binaria.
- Muestra el elemento especificado junto con su posición en la array.
Ejemplo :
C#
// C# program to search elements in the // array using predefined functions using System; class GFG{ public static void Main() { Console.WriteLine("Enter the size of array "); // Read the array size string n = Console.ReadLine(); int data = Int32.Parse(n); // Declare an array int[] array1 = new int[data]; Console.WriteLine("Enter data :"); for(int i = 0; i < data; i++) { string s = Console.ReadLine(); array1[i] = Int32.Parse(s); } // Sort an array by using Sort() function Array.Sort(array1); // Read a number to search an array Console.WriteLine("Search a number : "); string search = Console.ReadLine(); int data2 = Int32.Parse(search); // Apply BinarySearch() function to // search the specified element int data3 = Array.BinarySearch(array1, (Object)data2); // Display the position of the slement Console.WriteLine("Element {1} is present in {0} position", data3, array1[data3]); } }
Producción:
Enter the size of array 5 Enter data : 1 4 2 7 8 Search a number : 2 Element 2 is present in 1 position
Complejidad de tiempo: O(N logN), donde N representa el tamaño de la array dada.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA