Skip to content

Nyandwi/algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

52 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Algorithms and Data Structures

I want to learn algorithms and data structures to improve my engineering and program design thinking skills. I will use this repository to track my progress, take notes, and to practice.

Algorithms and data structures are two of the most important pieces of computer science. They are not only important for getting around coding interviews but also for solving computational problems efficiently. To day, there are massive datasets that are being generated instantly. Developing efficient algorithms that work on those massive datasets is one of the important and biggest problems. Choosing a right algorithm and data structure that suit a particular computation problem is also a critical thing that can influence the efficiency of the program. Chip Huyen puts it nice when she said in her book that "if our world is run by data, then data structures are what keep us from descending into chaos." Algorithms then represents different sets of operations that can be performed on data stored by data structures.


Revised Algorithms

Revised Data Structures

Revised Concepts:

  • Measuring Algorithm Efficiency with Big-O: notes
  • Recursion: notes
  • Dynamic Programming: notes
  • Bit Manipulation: notes

Other Related Things


Primary Resources

Algorithms

Interview Resources

Other Resources

  • Book: Data Structures and Algorithms in Python by Michael T. Goodrich
  • Course: Princeton Algorithms and Data Structures by Robert Sedgewick and Kevin Wayne. There is also a Coursera course on this.
  • Course: Data Structures and Algorithms in Python on Free Code Camp, Youtube, Website

Other Similar Algorithms GitHub Repositories


Acknowledgements

The notes about algorithms and data structures in this repo were compiled for learning purpose. They are are the most important takeaways from the mentioned resources. I tried to take simplified notes and added extra ideas wherever necessary, but some lines/ideas may be completely similar or closely connected to those resources. This repo was done for learning purpose and to act as a reference.

For any error or any suggestion, fill an issue or let me know here or here.

Thanks to my friend Gedeon Muhawenayo for supporting me and suggesting good algorithm's resources!


Twitter Follow