Rosalind is a platform for learning bioinformatics through problem solving. This repository contains my solutions to some of the questions that I solved ✨
After learning String Data Structures (such as Suffix Arrays and Suffix Trees) and String Matching Algorithms in Competitive Programming, I found it to be one of the most satisfying yet cursed topic that I've learnt so far. Coincidentally, I stumbled upon a textbook 'Algorithms in Bioinformatics: A Practical Introduction' by a former Professor from the National University of Singapore and thus started a journey down this rabbit hole that I'm thoroughly enjoying.
- Exploration: I do not have any background in Biology so I'm using this opportunity to pick up the basics while sharpening my algorithmic skills
- Algorithmic Curiosity: Solving problems is one of the main reason why I love Computer Science, so Bioinformatics is a natural progression into solving real life problems.
Problem Name | Problem ID | Solution |
---|---|---|
2-Satisfiability | 2SAT | |
2SUM | 2SUM | |
3SUM | 3SUM | |
Bellman-Ford Algorithm | BF | |
Breadth-First Search | BFS | |
Binary Search | BINS | |
Testing Bipartiteness | BIP | |
Connected Components | CC | |
Shortest Cycle Through a Given Edge | CTE | |
Testing Acyclicity | DAG | |
Double-Degree Array | DDEG | |
Degree Array | DEG | |
Dijkstra's Algorithm | DIJ | |
Fibonacci Numbers | FIBO | |
General Sink | GS | |
Hamiltonian Path in DAG | HDAG | |
Building a Heap | HEA | |
Heap Sort | HS | |
Insertion Sort | INS | |
Counting Inversions | INV | |
Majority Element | MAJ | |
Median | MED | |
Merge Two Sorted Arrays | MER | |
Merge Sort | MS | |
Negative Weight Cycle | NWC | |
2-Way Partition | PAR | |
3-Way Partition | PAR3 | |
Partial Sort | PS | |
Quick Sort | QS | |
Semi-Connected Graph | SC | |
Strongly Connected Components | SCC | |
Shortest Paths in DAG | SDAG | |
Square in a Graph | SQ | |
Topological Sorting | TS |
Problem Name | Problem ID | Solution |
---|---|---|
Installing Python | INI1 | |
Variables and Some Arithmetic | INI2 | |
Strings and Lists | INI3 | |
Conditions and Loops | INI4 | |
Working with Files | INI5 | |
Dictionaries | INI6 |