Skip to content

Commit feb3a73

Browse files
committed
chore: scaffold data structures crate
1 parent bc91805 commit feb3a73

16 files changed

Lines changed: 121 additions & 0 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/target/
2+

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[package]
2+
name = "rust-data-structures"
3+
version = "0.1.0"
4+
edition = "2021"
5+
license = "MIT OR Apache-2.0"
6+
repository = "https://github.com/jeresoftx/rust-data-structures"
7+
description = "Estructuras de datos en Rust para Jeresoft Academy."
8+
readme = "README.md"
9+
10+
[lib]
11+
name = "rust_data_structures"
12+
path = "src/lib.rs"
13+
14+
[dependencies]

src/bloom_filter.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//! Filtro de Bloom.
2+
//!
3+
//! Este modulo enseñara pertenencia probabilistica, falsos positivos, funciones
4+
//! hash multiples y dimensionamiento.

src/btree.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//! B-tree.
2+
//!
3+
//! Este modulo enseñara arboles multiway, busqueda ordenada, division de nodos
4+
//! y localidad de memoria para indices.

src/deque.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//! Deque.
2+
//!
3+
//! Este modulo enseñara colas de doble extremo, operaciones en ambos lados y
4+
//! la representacion tipica con buffer circular.

src/graph.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
//! Grafo.
2+
//!
3+
//! Este modulo enseñara representaciones de grafos: lista de adyacencia, matriz
4+
//! de adyacencia y lista de aristas. Los algoritmos profundos viven en
5+
//! `rust-algorithms`.

src/hashmap.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//! HashMap.
2+
//!
3+
//! Este modulo enseñara hashing, buckets, colisiones, factor de carga,
4+
//! redimensionamiento y las compensaciones frente a estructuras ordenadas.

src/heap.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//! Heap.
2+
//!
3+
//! Este modulo enseñara monticulos binarios, propiedad de heap, `sift up`,
4+
//! `sift down`, `heapify` y colas de prioridad.

src/lib.rs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
//! Estructuras de datos en Rust para Jeresoft Academy.
2+
//!
3+
//! Este crate acompaña el curso `rust-data-structures`, parte del Semestre 1
4+
//! del camino troncal de Jeresoft Academy. Cada modulo representa una
5+
//! estructura de datos canonica: su representacion, invariantes, operaciones,
6+
//! pruebas, benchmarks y capitulo educativo.
7+
//!
8+
//! El objetivo del crate no es reemplazar las colecciones de la biblioteca
9+
//! estandar. Es explicar como se diseñan y verifican las estructuras que luego
10+
//! aparecen en algoritmos, bases de datos, sistemas distribuidos y arquitectura
11+
//! de software.
12+
13+
#![forbid(unsafe_code)]
14+
15+
/// Arreglo dinamico contiguo con crecimiento de capacidad.
16+
pub mod vector;
17+
18+
/// Lista enlazada como introduccion a nodos, ownership y punteros.
19+
pub mod linked_list;
20+
21+
/// Pila LIFO construida como abstraccion sobre almacenamiento interno.
22+
pub mod stack;
23+
24+
/// Cola FIFO para procesar elementos en orden de llegada.
25+
pub mod queue;
26+
27+
/// Cola de doble extremo para insertar y remover por ambos lados.
28+
pub mod deque;
29+
30+
/// Monticulo binario para prioridades y seleccion eficiente de extremos.
31+
pub mod heap;
32+
33+
/// Arbol de prefijos para busqueda por cadenas y autocompletado.
34+
pub mod trie;
35+
36+
/// Representaciones de grafos y operaciones basicas sobre vertices y aristas.
37+
pub mod graph;
38+
39+
/// Arbol B para mapas ordenados con buena localidad de memoria.
40+
pub mod btree;
41+
42+
/// Tabla hash para busqueda promedio constante por clave.
43+
pub mod hashmap;
44+
45+
/// Filtro de Bloom para pertenencia probabilistica.
46+
pub mod bloom_filter;
47+
48+
/// Skip list para conjuntos o mapas ordenados con balance probabilistico.
49+
pub mod skip_list;

0 commit comments

Comments
 (0)