C#: realizar búsquedas con funciones predefinidas

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:

  1. Lea el tamaño de la array del usuario.
  2. Lea los elementos en una array del usuario.
  3. Ordene la array usando la función Sort().
  4. Lea el elemento que se buscará en la array dada del usuario.
  5. Obtenga el elemento en una array usando la función de búsqueda binaria.
  6. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *