Las estructuras de datos y los algoritmos son los componentes básicos de la carrera de un graduado de informática.
Para el nivel de principiante, las estructuras de datos que debe conocer son:
- Arreglos La estructura de datos más simple y le ayudará a resolver el 90% de las preguntas a menos que la complejidad del tiempo sea una limitación importante.
- Lista enlazada. Las operaciones son más rápidas que las de las matrices.
- Pilas
- Colas
- Árboles binarios Recorrido más rápido.
- Montón.
- Mapa hash
Para los algoritmos, le sugeriré que cubra todas las áreas y no se concentre en sus productos relacionados con la competencia. Los algoritmos son esenciales para un buen programador y el conocimiento nunca se desperdicia.
- ¿La lista vinculada es una estructura de datos estática o una estructura de datos dinámica?
- Cómo implementar una cola de doble finalización sin una lista vinculada
- ¿Aprender las estructuras de datos y las matemáticas será una "reinvención de la rueda"?
- ¿Qué partes de c ++ se deben conocer para aprender algoritmos para ioi?
- ¿Hay números irracionales de distribución uniforme no repetitivos para los cuales el dígito n puede calcularse en O (1) tiempo?
Clasificación:
- Ordenamiento de burbuja
- Selección Ordenar. Si bien estos dos algoritmos de clasificación son tradicionales y requieren más tiempo, también son fáciles de implementar.
- Ordenación rápida. Si la complejidad del espacio es una restricción.
- Ordenar por fusión. Si la complejidad del espacio no es un problema.
Buscando:
- Búsqueda lineal La más fácil, pero no lo hagas durante la codificación competitiva.
- Búsqueda binaria. Ve por este en su lugar.
- Búsqueda de interpolación. Mejora adicional en el algoritmo de búsqueda binaria.
Árboles de expansión:
- Algoritmo de Djikstra.
- Algoritmo de Prim.
- El algoritmo de Kruskal.
- Bellman Ford.
- Floyd Warshall.
- Problema de vendedor ambulante.
- Max Flow Min Cut.
En cuanto a cómo practicar, la mejor manera de practicar es escribir en un trozo de papel con un bolígrafo. Comprende la lógica primero. Geeks for Geeks y Tutorials Point son dos sitios web muy buenos tanto para DS como para Algoritmos. También puedes practicar desde IndiaBix . Tiene MCQ que puedes practicar. Fortalece tu base. También puedes encontrar video conferencias útiles en YouTube. Aprende el mecanismo de trabajo. Pruebe primero con lápiz y papel. Luego escríbelo en una computadora. De esta manera lo recordarás mejor.