Documenting Style
I will describe each algorithm in the following format: first, some nonsense that you can skip
Codes
This should be the section that should be filled first; it follows my naming convention and some standard coding. It should have at least runnable Python code so that I can copy and paste efficiently.
- Java
- Python
- C++
public void main(String[] args) {
System.out.println("Hello, World!");
}
def main():
print("Hello, World!")
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
Description (Header 1)
This section describes the core idea of the algorithm with some illustrations that help me understand.
It should have at least the following elements:
-
Run time analysis in big O notation
-
Memory analysis in big O notation
Some guidelines must be followed:
-
It should not be the pseudocode
-
It should be accompanied by examples outside of computer science so that they create a connection with your life. You can use Leetcode problem settings for this
-
It should have at least one example
Extensions
Additional resource to consider and other possible algorithms that can be combined with it, with examples
Applications
This should be a list of problems that use the algorithm.
Topic 1
A general description of the topic, or specified definitions used.
Problem 1 [Expected difficulty: A rank from 1 to 15]
Intuition
What?
Solution
print("Hello, World!")
References
This should be a list of references that I used to write the algorithm.
Some examples: