¿Dónde puedo encontrar una comprensión realmente fácil y rápida de todas las estructuras de datos y algoritmos?

A2A …!

La Estructura de datos es una forma de recopilar y organizar datos de tal manera que podamos realizar operaciones sobre estos datos de manera efectiva. Data Structures se trata de representar elementos de datos en términos de alguna relación, para una mejor organización y almacenamiento. Por ejemplo, tenemos el nombre del jugador de datos “Virat” y 26 años. Aquí “Virat” es del tipo de datos de cadena y 26 es del tipo de datos enteros .

Podemos organizar estos datos como un registro como el registro del jugador . Ahora podemos recopilar y almacenar los registros de los jugadores en un archivo o base de datos como estructura de datos. Por ejemplo: “Dhoni” 30, “Gambhir” 31, “Sehwag” 33

En un lenguaje simple, las estructuras de datos son estructuras programadas para almacenar datos ordenados, de modo que varias operaciones se pueden realizar fácilmente.

Tipos básicos de estructuras de datos

Como discutimos anteriormente, cualquier cosa que pueda almacenar datos puede llamarse como una estructura de datos, por lo tanto, Integer, Float, Boolean, Char, etc., son estructuras de datos. Se les conoce como estructuras de datos primitivas .

Luego también tenemos algunas estructuras de datos complejas, que se utilizan para almacenar datos grandes y conectados. Algunos ejemplos de estructura de datos abstractos son:

  • Lista enlazada
  • Árbol
  • Grafico
  • Pila, cola, etc.

Todas estas estructuras de datos nos permiten realizar diferentes operaciones en los datos. Seleccionamos estas estructuras de datos en función del tipo de operación que se requiere. Analizaremos estas estructuras de datos con más detalles en nuestras lecciones posteriores.

¿Qué es el algoritmo?

Un algoritmo es un conjunto finito de instrucciones o lógica, escritas en orden, para realizar una determinada tarea predefinida. El algoritmo no es el código o programa completo, es solo la lógica central (solución) de un problema, que puede expresarse como una descripción informal de alto nivel como pseudocódigo o mediante un diagrama de flujo .

Se dice que un algoritmo es eficiente y rápido, si lleva menos tiempo ejecutarlo y consume menos espacio de memoria. El rendimiento de un algoritmo se mide sobre la base de las siguientes propiedades:

  1. Complejidad de tiempo
  2. Complejidad espacial

Complejidad espacial

Es la cantidad de espacio de memoria requerida por el algoritmo, durante el curso de su ejecución. La complejidad del espacio debe tomarse en serio para los sistemas multiusuario y en situaciones donde hay memoria limitada disponible.

Un algoritmo generalmente requiere espacio para los siguientes componentes:

  • Espacio de instrucciones: es el espacio requerido para almacenar la versión ejecutable del programa. Este espacio es fijo, pero varía según el número de líneas de código en el programa.
  • Espacio de datos: es el espacio requerido para almacenar todas las constantes y el valor de las variables.
  • Espacio del entorno: es el espacio requerido para almacenar la información del entorno necesaria para reanudar la función suspendida.

Complejidad de tiempo

Time Complexity es una forma de representar la cantidad de tiempo que necesita el programa para ejecutarse hasta su finalización. Estudiaremos esto en detalle en nuestra sección.

Los siguientes enlaces pueden ayudarlo a saber más sobre la estructura de datos …

La respuesta de Akshata Nayak a ¿Cómo encuentro la estructura de datos y algoritmos MADE EASY en formato PDF para descargar gratis?

La respuesta de Akshata Nayak a ¿Cuáles son los mejores lugares para aprender estructuras de datos y algoritmos?

La respuesta de Akshata Nayak a ¿Cuáles son los mejores libros sobre algoritmos y estructuras de datos?

La respuesta de Akshata Nayak a ¿Qué es exactamente una estructura de datos?

Tabla de contenido

No hay un lugar en el que pueda encontrar FÁCIL, RÁPIDO, SENCILLO, MENOS TIEMPO CONSUMIDOR Y LO QUE NO PARA LAS ESTRUCTURAS DE DATOS Y LOS ALGORITOS.

Hay tantos recursos en línea TopCoder, HackerRank, HackerEarth, GeeksForGeeks, Introducción a Algos por Cormen. Puedes comenzar en cualquier parte. Encontrarás toneladas de respuestas en Quora sobre esto. Una solución para algún problema / algoritmo si no entiende en decir TopCoder obtendrá una solución que entendería fácilmente en HackerRank. Algo en HackerRank que no entenderá, lo comprenderá simplemente en TopCoder.

El truco para el aprendizaje rápido es la implementación. Leer una solución desde múltiples lugares no solo se adhiere a un recurso. Así es como aprendo.

Busque implementaciones de la vida real de una estructura de datos, Google al respecto. Eso te motivará a aprender.

Digamos que mientras aprendes Algoritmo codicioso debes resolver el problema de Selección de actividad / Programación de eventos. Intenta implementarlo sin un algoritmo codicioso. Prueba tu código con cientos de entradas. Luego acércate con el algoritmo codicioso. Ver la diferencia. Comprenderás mejor por qué demonios existe el Enfoque codicioso.

Y lo más importante no trate de aprender todo al mismo tiempo. Lo que aprendas, aprende mejor.

Sugeriría las conferencias de MyCodeSchool para aprender estructuras de datos. Incluso un novato puede programarlos si los mira correctamente. Se pueden encontrar en el canal de youtube de MyCodeSchool.

Para algoritmos, puede ver las conferencias de Stanford.

Hay muchas fuentes disponibles. Puede consultar MIT 6.006 Introducción a los algoritmos, otoño de 2011. Cubre casi todos los temas, como la clasificación, dp, codiciosos, caminos más cortos, etc.

Si está buscando un libro, refiérase a cormen.

También puede ir a Algoritmos – GeeksforGeeks, encontrará una explicación fácil con códigos.

Sololearn y stackoverflow funcionan para mí … si estás dispuesta a gastar algo de dinero, Lynda es maravillosa.

More Interesting

Cómo resolver este problema con un árbol de segmentos o BIT

¿Qué idioma debo aprender para el comercio de algoritmos?

¿Es así como se elimina de un árbol de búsqueda binario cuando un padre tiene dos subárboles?

Cómo resolver un problema de coincidencia de patrones de cadena sin usar funciones de expresión regular incorporadas

¿Es necesario un montón de páginas de CV para conseguir un trabajo?

¿Cómo se implementan las estructuras matemáticas básicas como +, -, *, / en los lenguajes de programación?

¿Cuál es el mejor algoritmo de extracción en primer plano de escenas dinámicas, donde el fondo también puede cambiar (debido a las vibraciones de la cámara o los detalles en movimiento)?

¿Qué es un algoritmo eficiente para encontrar una isla de 1s conectados en una matriz de 0s y 1s?

Visión por computadora: las aplicaciones de Richard Szeliski ofrecen una buena (amorosa) montaña rusa a través de la historia de los algoritmos. ¿Cómo puedo usarlo mejor?

Cómo imprimir un elemento emergente en la pila

¿Cómo se puede comenzar a resolver problemas de programación dinámica?

¿Podemos contar una tarea como una instrucción al calcular un algoritmo?

¿Por qué no se acepta mi solución para SPOJ.com - JUEGOS de problemas?

¿Necesito aprender algún lenguaje de programación antes de intentar estructuras de datos?

Matemáticas generales que uno debe saber antes de tomar la clase de algoritmo? Especialmente para estudiantes con antecedentes no informáticos.