-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
30 lines (30 loc) · 1.53 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- support dict lazy resize
- in case of collision in a hash table append a new element to beginning of the chain
- skip list (and dict on top of it)
- splay tree (and dict on top of it)
- improve print_trace() to show output similar to GDB (addr2line functionality)
- rename xxx_get_size to xxx_get_len, so len() applies to any container
- vector unique elements
- improve parse/serialize compatibilities with JSON spec
- different types of assert (input check, logic errors, internal sanity checks) with option to disable them
- verify all getters/setters naming, should be in form xxx_{action}[_noun]
- iterator for vector and queue (generic iterators over any container)
- all ranges should be half open, i.e. [)
- bst destroying should not use recursion (Day-Stout-Warren)
- for bst without balancing implement Day–Stout–Warren algorithm to make it balanced
- merge vector into vector
- hide RB tree color inside one of the links
- uqueue_is_full
- overwrite mode for queue
- add UTs for file writers (deal with fs garbage)
- _Generic c11 macros for putting scalars to containers
- comments: inside a function - imperative form (do something); outside - indicative form (does something)
- bloom filter
- file_reader read_line()
- graph: add void handlers/data ownership functionality
- Bellman-Ford
- check whether a graph is bipartite
- pre and post callbacks for BFS
- provide a way to expose path from root to current node in BFS/DFS callbacks
- reversed order for all sorters
- convert iterator to a vector (htbl/bst/dict _get_items) -> [[k, v], [k, v] ... ]