El sueño de todo programador es convertirse no solo en un buen, sino también en un gran programador. Todos queremos lograr nuestras metas y para lograr nuestras metas, debemos tener un gran plan con nosotros. En este contexto, hemos decidido proporcionar una guía completa para la preparación de entrevistas de Arrays, que lo ayudará a abordar los problemas que se plantean principalmente en la entrevista, como ¿Qué es un Array?, ¿Qué es un Array en lenguaje C?, ¿Cómo lo hace? inicializar una array en C, cómo ordenar una array, etc. También hemos cubierto temas como las preguntas de entrevista teóricas principales y las preguntas de codificación de entrevistas principales en esta guía completa para la preparación de entrevistas de array.
¿Qué es una array?
Una array es una colección de elementos del mismo tipo de variable almacenados que se almacenan en ubicaciones de memoria contiguas. Es una de las estructuras de datos más populares y simples y, a menudo, se usa para implementar otras estructuras de datos. Cada elemento de una array se indexa a partir de 0.
Podemos acceder directamente a un elemento de array utilizando su valor de índice.
Terminologías básicas de array
- Índice de array: en una array, los elementos se identifican por sus índices. El índice de array comienza desde 0.
- Elemento de array: los elementos son elementos almacenados en una array y se puede acceder a ellos por su índice.
- Longitud de la array: la longitud de una array está determinada por la cantidad de elementos que puede contener.
Representación de array
La representación de una array se puede definir mediante su declaración. Una declaración significa asignar memoria para una array de un tamaño determinado. Las arrays se pueden declarar de varias maneras en diferentes idiomas. Para una mejor ilustración, a continuación se muestran algunas declaraciones de array específicas del idioma.
C++
int arr[5]; // This array will store integer type element char arr[10]; // This array will store char type element float arr[20]; // This array will store float type element
C
int arr[5]; // This array will store integer type element char arr[10]; // This array will store char type element float arr[20]; // This array will store float type element
Java
/* Static Arrays are arrays that are declared before runtime and are assigned values while writing the code. */ // The syntax of declaring a static array is: <data type><variable name>[] = {<data1>, <data2>,…..<dataN> }; // Example: int arr[] = { 2, 5, 6, 9, 7, 4, 3 };
C#
int[] arr = new int[5]; // This array will store integer type element
Sin embargo, la declaración anterior es una asignación de memoria estática o en tiempo de compilación , lo que significa que la memoria del elemento de la array se asigna cuando se compila un programa. Aquí solo se asignará un tamaño fijo (es decir, el tamaño que se menciona entre corchetes [] ) de memoria para el almacenamiento, pero no crea que no será la misma situación que conocemos el tamaño de la array cada vez, puede haber un caso en el que no sepamos el tamaño de la array. Si declaramos un tamaño más grande y almacenamos una menor cantidad de elementos, se desperdiciará memoria o si declaramos un tamaño menor, no obtendremos suficiente memoria para almacenar el resto de los elementos. En tales casos, no se prefiere la asignación de memoria estática.
¿Es posible crear una array dinámica ?
La respuesta es sí . Es posible asignar memoria dinámicamente. Entonces, la asignación de memoria dinámica es el proceso de asignar el espacio de memoria durante el tiempo de ejecución o el tiempo de ejecución.
A continuación se muestran los idiomas que admiten la asignación de memoria dinámica:
C++
int *array = new int[5];
Java
// The syntax of declaring a dynamic array is: // <data type> <variable name> [ <Total Number of elements to be stored in array>]; // Example: int arr[10]; // Store integer elements String arr[5]; // Store String type of elements
Python3
# list of integers my_list = [1, 2, 3, 4] # Empty list my_list = [] # list of mixed data types my_list = ["Hello", 1, 5.5]
C#
int[] numArray = new int[] {};
Javascript
// JavaScript has dynamic arrays: their size is not predetermined, nor the type of data. // Create array using literal var x = ["a", "b", "c"]; // Create array using constructor var x = new Array(); // Create array using constructor with items var y = new Array("a", "b", "c");
PHP
$arr = array("a","b","c");
¿Por qué se necesitan estructuras de datos de array?
Supongamos que hay una clase de cinco estudiantes y si tenemos que mantener registros de sus calificaciones en el examen, podemos hacerlo declarando cinco variables individuales y haciendo un seguimiento de los registros, pero ¿y si el número de estudiantes se vuelve muy grande? difícil manipular y mantener los datos.
Lo que significa es que podemos usar variables normales (v1, v2, v3, ..) cuando tenemos una pequeña cantidad de objetos. Pero si queremos almacenar una gran cantidad de instancias, se vuelve difícil administrarlas con variables normales. La idea de una array es representar muchas instancias en una variable ..
Tipos de arreglos:
Hay principalmente dos tipos de arreglos:
- Array unidimensional (arrays 1-D) : puede imaginar una array 1d como una fila, donde los elementos se almacenan uno tras otro.
- Arreglos bidimensionales: 2-D Los arreglos multidimensionales se pueden considerar como un arreglo de arreglos o como una array que consta de filas y columnas.
- Array tridimensional: una array multidimensional tridimensional contiene tres dimensiones, por lo que puede considerarse una array de arrays bidimensionales.
Tipos de operaciones de array:
- Recorrido: recorrer los elementos de una array.
- Inserción: Insertar un nuevo elemento en una array.
- Deletion: Eliminación de un elemento de la array.
- Buscando: busca un elemento en la array.
- Clasificación: mantener el orden de los elementos en la array.
Ventajas de usar arreglos :
- Las arrays permiten el acceso aleatorio a los elementos. Esto hace que el acceso a los elementos por posición sea más rápido.
- Las arrays tienen una mejor localidad de caché, lo que hace una gran diferencia en el rendimiento.
- Las arrays representan múltiples elementos de datos del mismo tipo usando un solo nombre.
- Las arrays almacenan múltiples datos de tipos similares con el mismo nombre.
- Las estructuras de datos de array se utilizan para implementar otras estructuras de datos como listas vinculadas, pilas, colas, árboles, gráficos, etc.
Desventajas de la array :
- Como las arrays tienen un tamaño fijo, una vez que se les asigna la memoria, no se puede aumentar ni disminuir, lo que hace imposible almacenar datos adicionales si es necesario. Una array de tamaño fijo se denomina array estática.
- Asignar menos memoria de la requerida a una array conduce a la pérdida de datos.
Una array es de naturaleza homogénea, por lo que una sola array no puede almacenar valores de diferentes tipos de datos. - Los arreglos almacenan datos en ubicaciones de memoria contiguas, lo que hace que la eliminación y la inserción sean muy difíciles de implementar. Este problema se soluciona implementando listas enlazadas, que permiten acceder a los elementos aleatoriamente.
Aplicación de array :
- Se utilizan en la implementación de otras estructuras de datos, como listas de arreglos, montones, tablas hash, vectores y arrays.
- Los registros de la base de datos generalmente se implementan como arrays.
- Se utiliza en tablas de consulta por computadora.
- Se utiliza para diferentes algoritmos de clasificación, como la clasificación por inserción de burbujas, la clasificación por fusión y la clasificación rápida.
Principales preguntas teóricas de la entrevista
S.no |
Pregunta |
Responder |
---|---|---|
1 | ¿Qué sucederá si no inicializa un Array? | Vista |
2 | ¿Por qué la complejidad de obtener un valor de una array es O (1)? | Vista |
3 | ¿Cuándo debería usar una array sobre una lista? | Vista |
4 | ¿Qué es una array ordenada circularmente? | Vista |
5 | ¿Comparando dos arrays usando hashmap? | Vista |
6 | “¿Cuáles son las ventajas de una lista enlazada sobre una array? ¿En qué escenarios usamos LinkedList y cuándo Array? |
Vista |
7 | ¿Cómo itero filas y columnas de una array multidimensional? | Vista |
8 | ¿Qué se entiende por array dispersa? | Vista |
9 | ¿Cuáles son los beneficios de Heap sobre las arrays ordenadas? | Vista |
10 | ¿Hay alguna diferencia entre int[] a e int a[]? | Vista |
11 | ¿Podemos declarar el tamaño de la array como un número negativo? | Vista |
12 | Sabemos que los arreglos son objetos, entonces, ¿por qué no podemos escribir strArray.length()? | Vista |
13 | ¿Cuáles son las ventajas de las arrays ordenadas? | Vista |
14 | ¿Qué define la dimensionalidad de un Array? | Vista |
15 | ¿Cómo comprobar que la array contiene un valor o no? | Vista |
dieciséis | ¿Cómo crear una array/lista dentro de otra array/lista? | Vista |
17 | ¿Cómo obtener el número más grande y más pequeño en una array? | Vista |
18 | ¿Cómo puedo devolver coordenadas/índices de una string en una array multidimensional? | Vista |
19 | ¿Cómo elimino objetos de una array en Java? | Vista |
20 | ¿Cómo asigna C elementos de datos en una array multidimensional? | Vista |
21 | ¿Obtener elementos adyacentes en una array bidimensional? | Vista |
22 | C++ ¿Cómo usar y pasar una array de caracteres tridimensional? | Vista |
23 | Array anónima en Java | Vista |
24 | ¿Cuál es el valor predeterminado de Array en Java? | Vista |
25 | ¿Cómo copiar una array en otra array? | Vista |
26 | ¿Cómo iterar una array en Java? | Vista |
27 | ¿Cómo fusionar dos arrays ordenadas en una array ordenada? | Vista |
28 | ¿Podemos hacer que la array sea volátil en Java? | Vista |
29 | ¿Cuál es la lógica para invertir la array? | Vista |
30 | ¿Cómo obtener el índice de un elemento de array? | Vista |
31 | ¿Podemos extender una array después de la inicialización? | Vista |
32 | ¿Cómo llenar elementos (inicializar a la vez) en una array? | Vista |
33 | Diferencia entre array y string en Java | Vista |
34 | Imprimir todos los subarreglos con suma 0 | Vista |
35 | Índice de equilibrio de una array | Vista |
36 | ¿Cómo comprobar que la array contiene un valor o no? | Vista |
37 | ¿Cómo obtener los dos primeros números de una array? | Vista |
38 | ¿Cómo implementar 3 pilas con una array? | Vista |
Las 50 mejores preguntas de codificación de entrevistas
Problemas fáciles en arreglos
S.no |
Pregunta |
Artículo |
Práctica |
---|---|---|---|
1 | elemento pico | Vista | Resolver |
2 | Encuentre el elemento mínimo y máximo en una array | Vista | Resolver |
3 | Escriba un programa para invertir la array | Vista | Resolver |
4 | Escriba un programa para ordenar la array dada | Vista | Resolver |
5 | Encuentre el número K-ésimo más grande y el K-ésimo más pequeño en una array | Vista | Resolver |
6 | Encuentre la aparición de un número entero en la array | Vista | Resolver |
7 | Ordenar la array de 0s, 1s y 2s | Vista | Resolver |
8 | Subarreglo con Suma dada | Vista | Resolver |
9 | Mueva todos los elementos negativos a un lado de la array | Vista | Resolver |
10 | Encuentre la Unión y la Intersección de las dos arrays ordenadas | Vista | Resolver |
Problemas medianos en arreglos
S.no |
Pregunta |
Artículo |
Práctica |
---|---|---|---|
1 | Escriba un programa para rotar cíclicamente una array en uno | Vista | Resolver |
2 | Encuentra el entero que falta | Vista | Resolver |
3 | Contar pares con suma dada | Vista | Resolver |
4 | Encuentra duplicados en una array | Vista | Resolver |
5 | Ordenar una array usando el algoritmo Quicksort | Vista | Resolver |
6 | Encuentra elementos comunes en tres arrays ordenadas | Vista | Resolver |
7 | Encuentre el primer elemento repetido en una array de enteros | Vista | Resolver |
8 | Encuentre el primer elemento que no se repite en una array dada de enteros | Vista | Resolver |
9 | Subarreglos con 1s y 0s iguales | Vista | Resolver |
10 | Reorganizar la array alternando elementos positivos y negativos | Vista | Resolver |
11 | Encuentra si hay algún subarreglo con una suma igual a cero | Vista | Resolver |
12 | Encuentre el subarreglo contiguo de suma más grande | Vista | Resolver |
13 | Encuentra el factorial de un gran número | Vista | Resolver |
14 | Buscar subarreglo de producto máximo | Vista | Resolver |
15 | Encuentra la subsecuencia consecutiva más larga | Vista | Resolver |
dieciséis | Encuentre el elemento mínimo en una array rotada y ordenada | Vista | Resolver |
17 | Suma máxima en la configuración | Vista | Resolver |
18 | Plataformas Mínimas | Vista | Resolver |
19 | Minimizar la diferencia máxima entre las alturas | Vista | Resolver |
20 | Número mínimo de saltos para llegar al final | Vista | Resolver |
21 | Problema de stock span | Vista | Resolver |
23 | Encuentre un triplete que sume un valor dado | Vista | Resolver |
23 | Número faltante positivo más pequeño | Vista | Resolver |
24 | Encuentre la fila con un número máximo de 1 | Vista | Resolver |
25 | Imprime la array en forma de Espiral | Vista | Resolver |
26 | Encuentra si una array es un subconjunto de otra array | Vista | Resolver |
27 | Implementar dos pilas en una array | Vista | Resolver |
28 | Elemento mayoritario | Vista | Resolver |
29 | array de onda | Vista | Resolver |
30 | atrapar el agua de lluvia | Vista | Resolver |
Problemas Difíciles
S.no |
Pregunta |
Artículo |
Práctica |
---|---|---|---|
1 | Índice máximo | Vista | Resolver |
2 | Ruta de suma máxima en dos arrays | Vista | Resolver |
3 | Encuentra faltantes y repeticiones | Vista | Resolver |
4 | Problema de compra y venta de acciones | Vista | Resolver |
5 | Emparejar con la suma dada en una array ordenada | Vista | Resolver |
6 | Problema de distribución de chocolate | Vista | Resolver |
7 | Partición Igual Subconjunto Suma | Vista | Resolver |
8 | Entero positivo más pequeño que no se puede representar como una suma | Vista | Resolver |
9 | Problema de cambio de moneda | Vista | Resolver |
10 | Subsecuencia alterna más larga | Vista | Resolver |
Preguntas frecuentes (FAQ) sobre Memoización
1. ¿Qué es una array en la estructura de datos con ejemplo?
Una array es una colección de elementos del mismo tipo de datos almacenados en ubicaciones de memoria contiguas. Ex. int arr[5] = {1,2,3,4,5};
2. ¿Por qué la array es una estructura de datos?
Los arreglos almacenan elementos del mismo tipo, se clasifican como estructuras de datos homogéneas. Pueden almacenar números, strings, caracteres, valores booleanos (verdadero y falso), objetos, etc.
3. ¿Qué estructura de datos es una array?
Una array es una estructura de datos lineal que almacena elementos similares en ubicaciones de memoria contiguas.
4. ¿Cuáles son los tipos de arreglos?
Hay principalmente dos tipos de arreglos:
- Array unidimensional
- array multidimensional
5. ¿Cómo se almacenan los datos en una array?
Una array es una colección de elementos del mismo tipo de datos almacenados en ubicaciones de memoria contiguas o dice que los elementos se almacenan uno tras otro en la memoria. Una array usa un sistema de índice que comienza en 0 y va a (n-1) , donde n es su tamaño.
6. ¿Diferencia entre array y estructura?
La estructura puede contener variables de diferentes tipos, pero una array solo contiene variables del mismo tipo.
7. ¿Cuáles son las limitaciones de una array?
Una array es una colección de elementos del mismo tipo de datos. Eso significa que, en una array de enteros, solo se pueden almacenar valores enteros, mientras que en una array flotante, solo los valores flotantes y la array de caracteres solo pueden tener caracteres. Por lo tanto, ninguna array puede tener valores de dos tipos de datos.
8. ¿Cuáles son las ventajas de una array?
Hay múltiples ventajas de la estructura de datos de array y algunas de ellas son:
- Las arrays permiten el acceso aleatorio a los elementos. Esto hace que el acceso a los elementos por posición sea más rápido.
- Las arrays almacenan múltiples datos de tipos similares con el mismo nombre.
- Las estructuras de datos de array se utilizan para implementar otras estructuras de datos como listas vinculadas, pilas, colas, árboles, gráficos, etc.
9. ¿Cuál es el propósito de usar arreglos?
Una array se usa cuando se necesita usar varias variables del mismo tipo, y se puede definir como una secuencia de objetos del mismo tipo.
10. ¿Qué es un arreglo multidimensional?
Una array multidimensional se puede denominar como una array de arrays que almacena datos homogéneos en forma tabular. Los datos en arrays multidimensionales se almacenan en orden de fila principal.
Conclusión
Después de la discusión, llegamos a la conclusión de que las arrays son un método simple para acceder a elementos del mismo tipo agrupándolos y podemos encontrar los elementos de manera eficiente por sus índices y podemos realizar diferentes operaciones usándolos. Por lo tanto, son más eficientes en lo que respecta a la asignación de memoria y deben usarse en todos los lenguajes de programación modernos. Entonces, este se convierte en un tema favorito para la perspectiva de la entrevista y la mayoría de las empresas generalmente preguntaron sobre los problemas en la array. Por todas estas razones, debemos tener un buen conocimiento de la misma.
Artículos relacionados:
- ¿Cómo comenzar a aprender datos DSA?
- Programación competitiva: una guía completa
- ¿Cómo puede uno volverse bueno en estructuras de datos y algoritmos fácilmente?
- ¿Por qué es importante aprender las estructuras de datos y los algoritmos?
- Los 15 mejores sitios web para desafíos y competencias de codificación
- HOJA SDE: una guía completa para la preparación de SDE
- Hoja de Amazon SDE: una guía para la preparación de entrevistas de Amazon SDE
- Preparación de entrevistas de Google para ingenieros de software: una guía completa
- 100 días de código: una guía completa para principiantes y experimentados
Publicación traducida automáticamente
Artículo escrito por harendrakumar123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA