Search for notes by fellow students, in your own course and all over the country.

Browse our notes for titles which look like what you need, you can preview any of the notes via a sample of the contents. After you're happy these are the notes you're after simply pop them into your shopping cart.

My Basket

You have nothing in your shopping cart yet.

Title: data structures and algorithms
Description: A data structure is a method of organizing data in a virtual system. Think of sequences of numbers, or tables of data: these are both well-defined data structures. An algorithm is a sequence of steps executed by a computer that takes an input and transforms it into a target output

Document Preview

Extracts from the notes are below, to see the PDF you'll receive please use the links above


Data Structures & Algorithms #1 - What Are Data
Structures?
CS Dojo
YK was formerly a software developer at Google and now he works on this
YouTube channel full time
...
YK says there are a few different options for this
one of those options will be to store all possible paths in a list like format
...
The second
method is the hash table or hash map data structure so what are
algorithms one way to define what they are would be that there are the
operations we can perform on different data structures
...
Depending on what data structure
you're using to store the data that you're performing the algorithm on
your algorithm might look slightly differently you might even have in some
cases completely different algorithms for solving the same problem
...
David will have a ball with David written on the ball and
Kevin will have another ball with Kevin written on them
...
To find in 98th person
or finding the 98th box here would be much harder than the linked list
data structure
...
Each partition is ten
centimeters wide so you just need to find ten centimeters times ninety
seven times nine hundred seventy centimeters
...
Throughout this
video I 'm going to introduce you to even more data structures and this
time I'll explain them in a much more technical way
...


An Overview of Arrays and Memory (Data Structures &
Algorithms #2)
CS Dojo
An array an array is basically a collection of items of a single type, so an
example would be this one which is an array of integers or strings
...
In c
...
The first one is memory or
it's sometimes called ram
...
For example, a flash drive hard disk hard disk or a solidstate drive
...
data on memory just disappears as soon as you switch off your
laptop
...
Originally, but when you launch one of them let 's say Google
Chrome it's gon na be loaded onto memory so that it's faster to use and
you know faster to access there
...

Each integer stored on a computer can be expressed as 32 ones or 32 ones
and zeros
...
So a bit is either 1
or 0, so we say each integer can be
...
If you know about it yet
...
Sometimes depending on
the environment
...
So if you have 4 bytes you can store 4 times 8 bits, which

is 32 bits
...
integers instead of single
integers to see how that can be done
...
After allocating 12
bytes
...
if you wanted to still add 2 more numbers to this array,
What you would need to do is you will need to create an entirely new
array
...

YK from Cs Dojo explains how resizable arrays work in different
programming languages
...
can initialize it as a small array
...
You can
make a new array that can accommodate you know twenty items instead
and then copy over old items to that new one
...
I think the best way
to explain what they are would be to give you a concrete example
...
In whatever language you 're using
...
with that collection of information an object
can represent some '' thing ''
...
if you
decide to represent a person with an object
...
a class
...
a class does n't
refer to any particular object
...
when you create a specific object using this class,
then you can specify what the name should be, what the color should be
and what the weight should be
...
in the next video I 'm also going to talk about how you
know multiple classes and objects can interact with each other
...
brilliant
...
they even have advanced courses
like this '' artificial neural networks '' course on top of their standard
computer science fundamentals and algorithms course
...
We defined three
attributes, string name, string color, and integer weight
...
The constructor
took three arguments: string and string c into w
...
Each person owns a particular robot, and the value of this
attribute will be a robot object
...

Once you have that in place you'll be able to do stuff like this too
...
So this line is the
same as saying r to that engine yourself
...
You'll
be able to use the same idea to implement more realistic things too
...
In my
next video in this series, I'm planning to cover the topic of linked lists but
actually, once you understand the concepts you learn in this video, you'll
be able to start learning more advanced data structures like graphs and
trees
...
It does this
in a different way than the way an array does it
...


Introduction to Recursion (Data Structures &
Algorithms #6)
CS Dojo
In computer science, recursion is a way of solving a problem by having a
function calling itself
...
You might say why is that
...
This definition works only for n that is
greater than or equal to one, but it does n't work for zero
...
This is actually a complete definition of all factorial's for all
positive integers and zero
...
free tool that Xx id superaction

Erode fiera el momento de texto action tde not patent Db onto sl too soon
be so so be ridin solo le storie not superaction
...
small talk front section Ma
ingjeou chicken 1007 comparison annotation not time compax Rig sre use
perl to come out of the show Us source Raw K1 book cancer need to go of
data
...


Introduction to Trees (Data Structures & Algorithms
#8)
CS Dojo
A tree is a data structure that is similar to a linked list, but the only
difference is that in a tree each node can link to multiple other nodes
...
The
problem is writing a function which takes the root of a tree as input
...
This function will only take of n time to execute where n is the
number of nodes in the given tree
...
They are a part of Earth's ecosystem and play a
big role in keeping our planet healthy
...
If you need more practice using trees, there is
another interesting problem that I talked about a while ago as a coding
interview question that you can check out
...


Introduction to Binary Search (Data Structures &
Algorithms #9)
CS Dojo

Binary search is a medium difficulty problem which you can solve with
binary search
...
linear search has the
time complexity of of and where n is the number of elements in the array
and that 's
...
You know a certain number of
...
Binary search
starts with a search region of n elements, which is the number of elements
in the given array and then we get the we get half of that and half of it
and so on until we get one and I can write it slightly differently just like
that
...
Whatever this x is and n happens to be 8 that's 2 to 8
...

In this problem you 're given a sorted array as well as a target and you
need to find the position of the target with a little bit of twist
...
IN
...
Is writing a function that takes these two arguments
...
If it
exists and minus one
...
IF you
want to practice implementing it on an interactive environment
...


A Complete Overview of Quicksort (Data Structures &
Algorithms #10)
CS Dojo
Partition function partition is called partition and it 's gon na take three
arguments the given array L and R and this function is going to apply

partition to the section of the array
...

So we 'll need to do the same thing Uh increment i by one or move i over
here and then swap the values at i and j
...
So let's start with worst
case that 's when the given array is already sorted like this one or when we
have a lot of duplicates
...
What 's going to happen is the pivot will stay here
...
In the
Qs function starts at
...
of r and zero and four
...
The pattern is
that each of these numbers, but it 's also number of iterations that we
must go through in our main for loop to be precise
...
The
time complexity for the average case is also of n log n
...
Quick
sort is a way to deal with duplicates in the given array, one of which is
called median of three
...
The second group is equal to the pivot and the third group
is the numbers greater than that pivot
...


Introduction to Stacks and Queues (Data Structures &
Algorithms #11)
CS Dojo
A stack is a data structure in which you can only add a piece of data at the
top of the structure
...
Another way to
describe the same thing is that whatever data you put in last will need to
come out first
...

We can keep going like this if you want to put in 2 here, you can move the
pointer back here and then update this number right here with two
...
The idea of the queue data structure is that whatever
number or whatever person that came in first will go out first too, out of
this data structure
...

In this particular implementation, we saw two key operations: removing an
element or a person or a piece of data from the cube and adding a d ata to
the queue
...
" If you want to store more
elements, you will need to create a new array that's longer than the
original array and then transfer all the elements to the new array
...
In this data structure, you're able to put
data and remove data from either end of this queue, so you can remove
this person right here or you can add a person at the front of the
...
You would basically have functions that are
called something like "add lift remove left add right and remove right
...
Then
you get the number 29 right away
...
The first thing you'll need is an array of eight
elements, just as an example
...
Jane would be over
here at index one
...
And this function is usually
called a hash function
...
The
approach you might want to use is called open addressing, and there are a

few different flavors for it I'm going to explain that search only takes 1
plus alpha in time
...
It's called double hashing
because it produces a slightly different sequence every time the sequence
of the elements that we're going to check are different
...
Then, double
hashing produces a slightly different sequence every time the sequence of
the elements that we're going to check are different
...
Going to pick for the particular key mod 8, and the next one after
that is going to be i plus 2c mod 8 and so on
...
You need to check
almost this number of elements on average that's 1 over 1 minus alpha
where alpha is n over m where alpha shows how full your hash table is
...
What I would
suggest if you're implementing double hashing by yourself is to try
different values for c
Title: data structures and algorithms
Description: A data structure is a method of organizing data in a virtual system. Think of sequences of numbers, or tables of data: these are both well-defined data structures. An algorithm is a sequence of steps executed by a computer that takes an input and transforms it into a target output