- Tags: Software core, Tech
- Last update: July 25, 2022
Hi there 👋 . This is a place where I share my thoughts and notes about data structures and algorithms in JS. The drive of this project is to help Javascript / Typescript developers to understand core software principles and hopefully to help them write better code. NOTE: I'm still actively working on this repository, so I'm sorry if you find some unfinished pages. I am doing my best to get this done as soon as possible. Any feedback would be much appreciated. Have a good read! 📚.
- Big O notation
- Arrays
- Hash tables
- Linked lists
- Stacks & Queues
- Trees
- Graphs
- DS comparison
- Recursion
- Sorting
- Searching + BFS + DFS
- Dynamic Programming
- Algorithms comparison
- Readable, refer to the code’s simplicity and clarity.
- Scalable, refer to the code’s ability to scale up without increasing time and space complexity.
- Programs store
variables
inRAM
. RAM
or Random Access Memory offers random access to data addresses without climbing up or down the memory list.RAM
is a data structure that stores data inaddresses
.- Each address in RAM holds
8 bits
of numbers that make up oneByte
. - A bit is like an electrical switch that turns on
1
and off0
. - The CPU is connected to what is known as a
memory controller
that does reading and writing to memory. - A
Cache
is a CPU's tiny memory that stores recent data. - An integer is represented in
32 bits
, an average of 4 addresses. - Computers can have 8, 16, 32, and 64 bits per address.
- An
integer overflow
occurs when anarithmetic operation
attempts to create a numeric value that is outside of the range that can be represented with a given number of digits – either higher than the maximum or lower than the minimum representable value. - An example of integer overflow happens when using
Math.pow()
. If the result is bigger than a certain threshold, it’ll be evaluated toinfinity
instead.