|
3 | 3 | [](https://leet.readthedocs.io/en/latest/?badge=latest)
|
4 | 4 |
|
5 | 5 | # leet
|
6 |
| -This repo contains a well documented and tested header library for data structures and algorithms, along with my solutions to leetcode problems. The solutions use the header library through icanc[^5]. |
| 6 | +This repo contains a well documented and tested header library for data structures and algorithms, assorted standalone programs, and solutions to leetcode problems. The solutions use the header library through icanc[^5]. |
7 | 7 |
|
8 | 8 | ## Getting started
|
9 |
| -1. Check out the [documentation for the header library](https://leet.readthedocs.io/en/latest/lib/index.html); |
| 9 | +1. Check out the [documentation](https://leet.readthedocs.io/en/latest/lib/index.html); |
10 | 10 | 2. Browse the library code at [`include/`](https://github.com/voxelstack/leet/tree/main/include);
|
11 |
| -3. See the library being used at [`tests/`](https://github.com/voxelstack/leet/tree/main/tests); |
12 |
| -4. *If you have solved a problem* and would like to compare your solution to mine or look for alternate solutions, see [my commentary for the solutions](https://leet.readthedocs.io/en/latest/problems/index.html#) (which includes links to the source code), or browse the source code at [`problems/`](https://github.com/voxelstack/leet/tree/main/problems/). |
| 11 | +3. Browse the programs at [`programs/`](https://github.com/voxelstack/leet/tree/main/programs); |
| 12 | +3. See the tests at [`tests/`](https://github.com/voxelstack/leet/tree/main/tests); |
| 13 | +4. See the benchmarks at [`benchmarks/`](https://github.com/voxelstack/leet/tree/main/benchmarks); |
| 14 | +5. *If you have solved a problem* and would like to compare your solution to mine or look for alternate solutions, see [my commentary for the solutions](https://leet.readthedocs.io/en/latest/problems/index.html#) (which includes links to the source code), or browse the source code at [`problems/`](https://github.com/voxelstack/leet/tree/main/problems/). |
13 | 15 |
|
14 | 16 | ## Features
|
15 | 17 | ### Header library
|
16 | 18 | On the `include/` directory you will find a header library with my implementations of data structures and algorithms.
|
17 | 19 |
|
| 20 | +### Solutions |
| 21 | +The `problems/` directory has my solutions to leetcode problems, organized by judge and problem, along with testcases. On the documentation website, you can also see [my commentary on each solution](https://leet.readthedocs.io/en/latest/problems/index.html). |
| 22 | + |
| 23 | +All solutions are tested with icanc[^5] using the testcases from the repo. When you see passing tests, it means that all solutions were accepted for the given testcases. I use the same [definition of accepted](https://www.udebug.com/faq#accepted-section) as udebug[^6]. I also test my solutions with udebug inputs using the icanc udebug integration. Those tests are not committed to the repo. |
| 24 | + |
| 25 | +### Programs |
| 26 | +On the `programs/` directory you can find the sources for standalone programs. Whenever I want to study, showcase, or document something that is not a leetcode problem, it goes here. |
| 27 | +These are varied programs that don't need their own repo, built only for learning or showcasing skills. |
| 28 | + |
18 | 29 | ### Documentation
|
19 |
| -All library code is documented with Doxygen[^1], which is then turned into a [Read the Docs website](https://leet.readthedocs.io/en/latest/?badge=latest) using sphinx[^2] and breathe[^3]. |
| 30 | +All library code is documented with Doxygen[^1], which is then turned into a [Read the Docs website](https://leet.readthedocs.io/en/latest/?badge=latest) using sphinx[^2] and breathe[^3]. The programs are documented as well. |
20 | 31 |
|
21 |
| -The setup is based on this [excellent guide](https://devblogs.microsoft.com/cppblog/clear-functional-c-documentation-with-sphinx-breathe-doxygen-cmake/) and adapted it to my needs. |
| 32 | +The setup is based on this [excellent guide](https://devblogs.microsoft.com/cppblog/clear-functional-c-documentation-with-sphinx-breathe-doxygen-cmake/) and adapted it to my needs. If you want to browse the documentation sources, they can be found in the `docs/` directory. |
22 | 33 |
|
23 | 34 | ### Tests
|
24 |
| -All library code is tested with ctest[^4]. The tests are a good way to see the library in use, and you can find them in the `tests/` directory. |
| 35 | +All library code is tested with ctest[^4]. Non-trivial programs may be tested as well. You can find the test code in the `tests/` directory. |
25 | 36 |
|
26 |
| -### Solutions |
27 |
| -The `problems/` directory has my solutions to leetcode problems, organized by judge and problem, along with testcases. On the documentation website, you can also see [my commentary on each solution](https://leet.readthedocs.io/en/latest/problems/index.html). |
28 |
| - |
29 |
| -All solutions are tested with icanc[^5] using the testcases from the repo. When you see passing tests, it means that all solutions were accepted for the given testcases. I use the same [definition of accepted](https://www.udebug.com/faq#accepted-section) as udebug[^6]. I also test my solutions with udebug inputs using the icanc udebug integration. Those tests are not committed to the repo. |
| 37 | +### Benchmarks |
| 38 | +The performance charts on the documentation come from benchmarks on the `benchmarks/` directory. |
30 | 39 |
|
31 | 40 | ## License
|
32 | 41 | The header library is released under the MIT license and meant to be used as a learning resource. You are free to use it on your own leetcode solutions but I'd be happier (and you'd learn more) if you made your own.
|
|
0 commit comments