-
Notifications
You must be signed in to change notification settings - Fork 0
Plan de Alcance Avanzado
Esta página resume la expansión del repo después de la semana 16. El objetivo es cubrir los temas que faltan sin perder el método del proyecto: resolver en Rust, escribir tests, documentar patrones y repetir errores.
- Problemas implementados: 69.
- Tests automatizados: 162.
- Simulacros documentados: 3.
- Patrones base cubiertos: hashing, two pointers, sliding window, stack, búsqueda binaria, backtracking, listas enlazadas, árboles, grafos básicos, montículos, intervalos, greedy y programación dinámica.
- Complejidad formal: Θ, Ω y amortizada.
- Matemáticas y manipulación de bits.
- Trie y algoritmos de cadenas.
- Grafos ponderados: Dijkstra, Bellman-Ford y Floyd-Warshall.
- Árboles de expansión mínima: Prim y Kruskal.
- Tarjan para puentes y componentes.
- Fenwick tree y segment tree.
- Suffix array, Aho-Corasick y nociones de suffix tree.
- Convex hull y geometría básica.
| Hito | Problemas acumulados | Enfoque |
|---|---|---|
| Base consolidada | 100 | Repetición, casos borde y problemas medios frecuentes |
| Avanzado inicial | 140 | Tries, bits, matemáticas y grafos ponderados básicos |
| Avanzado completo | 190 | Segment tree, Fenwick, strings avanzados y MST |
| Largo plazo | 260+ | Problemas difíciles selectivos y simulacros mixtos |
La meta práctica es llegar primero a 190 problemas bien probados y documentados. Un volumen mayor queda como horizonte de largo plazo, no como requisito inmediato.
Duración sugerida: semanas 17 y 18.
Estado: en progreso.
Entregables:
-
notes/complexity-cheatsheet.md: creado. -
src/patterns/math_bit.rs: creado. -
tests/math_bit_test.rs: creado. -
notes/week-17-18.md: creado.
Problemas iniciales:
- Single Number.
- Number of 1 Bits.
- Counting Bits.
- Missing Number.
- Reverse Bits.
- Pow(x, n).
- Sieve of Eratosthenes.
- Maximum Subarray.
Avance acumulado:
- Problemas implementados: 12.
- Tests agregados: 28.
- Funciones principales:
single_number,missing_number,count_ones,count_bits,reverse_bits,is_power_of_two,fast_pow,gcd,lcm,sieve,maximum_subarrayymajority_element.
Duración sugerida: semanas 19 y 20.
Estado: completada.
Entregables:
-
src/patterns/tries.rs: creado. -
src/patterns/string_algorithms.rs: creado. -
tests/tries_test.rs: creado. -
tests/string_algorithms_test.rs: creado. -
notes/week-19-20.md: creado.
Problemas iniciales:
- Implement Trie.
- Design Add and Search Words Data Structure.
- Word Search II.
- Find All Anagrams in a String.
- Repeated Substring Pattern.
- Longest Duplicate Substring.
Avance acumulado:
- Problemas implementados: 7.
- Tests agregados: 23.
- Funciones y estructuras principales:
Trie,WordDictionary,replace_words,find_pattern_positions,find_anagram_starts,repeated_substring_patternylongest_duplicate_substring.
Duración sugerida: semanas 21 a 23.
Estado: iniciada.
Entregables:
-
src/patterns/weighted_graphs.rs: creado. -
tests/weighted_graphs_test.rs: creado. -
notes/week-21-23.md: creado.
Problemas iniciales:
- Network Delay Time.
- Cheapest Flights Within K Stops.
- Path With Minimum Effort.
- Min Cost to Connect All Points.
- Critical Connections in a Network.
Avance acumulado:
- Problemas implementados: 11.
- Tests agregados: 24.
- Funciones principales:
dijkstra_shortest_paths,network_delay_time,bellman_ford_shortest_paths,floyd_warshall_all_pairs,prim_minimum_spanning_tree_weight,kruskal_minimum_spanning_tree_weight,cheapest_flight_within_k_stops,minimum_effort_path,critical_connections,min_cost_connect_pointsyfind_critical_and_pseudo_critical_edges.
Duración sugerida: semanas 24 y 25.
Estado: iniciada.
Entregables:
-
src/patterns/range_queries.rs: creado. -
tests/range_queries_test.rs: creado. -
notes/week-24-25.md: creado.
Problemas iniciales:
- Range Sum Query Immutable.
- Range Sum Query Mutable.
- Count of Smaller Numbers After Self.
- Reverse Pairs.
- Corporate Flight Bookings.
- My Calendar I.
Avance acumulado:
- Problemas implementados: 10.
- Tests agregados: 28.
- Funciones y estructuras principales:
FenwickTree,RangeSumQuery,SegmentTree,DifferenceArray,corporate_flight_bookings,car_pooling,count_smaller_numbers_after_self,reverse_pairs,MyCalendaryMyCalendarTwo.
Duración sugerida: semana 26.
Estado: iniciada.
Entregables:
src/patterns/geometry.rstests/geometry_test.rsnotes/week-26.md
Problemas iniciales:
- Erect the Fence.
- K Closest Points to Origin.
- Max Points on a Line.
- The Skyline Problem como reto opcional.
Avance acumulado:
- Problemas implementados: 5.
- Tests agregados: 12.
- Funciones y estructuras principales:
Point,Orientation,cross_product,orientation,convex_hull,k_closest_pointsymax_points_on_a_line.
Duración sugerida: semanas 27 y 28.
Estado: iniciada.
Entregables:
notes/week-27-28.mdnotes/simulations/simulacro-04-grafos-ponderados.mdnotes/simulations/simulacro-05-strings-avanzados.mdnotes/simulations/simulacro-06-range-queries.md
Avance acumulado:
- Simulacros avanzados creados: 3.
- Enfoque: práctica cronometrada, explicación verbal y repetición dirigida.
Criterio de cierre:
- Completar 6 simulacros acumulados.
- Tener al menos 20 problemas repetidos.
- Llegar a 140 problemas implementados como mínimo.
- Mantener
cargo testpasando.
- Crear la guía de complejidad.
- Agregar
math_bitcon problemas pequeños. - Agregar
tries. - Agregar KMP en
string_algorithms. - Agregar Dijkstra y Bellman-Ford.
- Agregar Prim y Kruskal.
- Agregar Tarjan.
- Agregar Fenwick tree.
- Agregar segment tree.
- Agregar convex hull.
- Crear 3 simulacros avanzados.
- Actualizar README y wiki después de cada bloque.
Cada bloque queda terminado cuando:
- Tiene código en
src/patterns. - Tiene tests en
tests. - Tiene nota semanal en
notes. - Actualiza la cola de repaso si hubo errores.
- Actualiza README o wiki cuando cambia el mapa de estudio.
-
cargo fmtycargo testpasan. - El avance queda en commit pequeño y push.