Puedo dar algunos consejos que me funcionaron. Espero que esto le ayude también.
- Intente observar qué almacenamiento de datos lo ayuda a dónde. Si está operando con poca memoria, ¿usaría un tipo de fusión?
- Elija escenarios para los que pueda aplicar los algoritmos particulares. ¿Puedes hacer un BFS para encontrar el valor más pequeño en un B-Tree?
- Medida del tiempo que tarda tu algo.
- Medición de la memoria consumida por su DSA.
- Observe escenarios en los que no puede aplicar algunos DSA. Antipatrones .
- Familiarícese con las bibliotecas de su idioma favorito. Algunos lenguajes como Java tienen funciones integradas para realizar búsquedas binarias u ordenar rápidamente. También le permiten personalizar su búsqueda / clasificación según su conjunto de datos.
3 y 4 lo ayudan mucho mientras aborda un escenario de entrada de múltiples subprocesos / gran escala. Puede pensar claramente sobre ” dividir y conquistar ” sus datos o refinar su procesamiento. Principalmente optimizando !
Prefiero hacer pseudocódigo antes de escribir el código. Sin embargo, nunca estoy convencido hasta que lo pongo en el editor y veo el primer corte trabajando con el mínimo conjunto de datos posible. Eso me lleva a este tema ” probar sus DSA “. Debe realizar comprobaciones básicas de pruebas de unidad funcional en cada paso para convencerse de que sus instrucciones están en línea con sus conceptos, especialmente si no está convencido de la documentación / API de la biblioteca con la que está trabajando. Necesitamos recordar que las computadoras no hacen matemáticas como nosotros.
- Cómo comparar dos algoritmos de recomendación en términos de problema de cola larga
- ¿Cuáles son las listas vinculadas en Java y qué las hace mejores que las matrices normales?
- ¿Crees que la programación no es para mí?
- ¿Necesito aprender algún lenguaje de programación antes de intentar estructuras de datos?
- ¿Cómo se almacenan los datos en un árbol binario?
Sin embargo, he visto personas que experimentan con DSA en sus editores de código. Funciona bien para algunos escenarios, especialmente durante la depuración y la resolución de problemas . También requiere un buen nivel de familiaridad con el lenguaje y los patrones de codificación.
Además, hacer que el código sea modular y legible ayuda mucho a usted y a otros programadores a trabajar con eficacia. Entonces, conocer formas de documentar / comentar / compartir / revisar también lo ayuda a mejorar lo que hace. Creo que la mayoría de las veces no eres el único que trabaja con el código que escribes.