Introduction to Data Structures & Algorithms
This course is primarily for placement preparation and will be using C and C++ for the
algorithms and data structures. The notes for the course will be provided in PDF format for
convenience. Data structures are essential for developing efficient algorithms that arrange
data in main memory for optimal usage. It's important to note that algorithms and data
structures are two different things. C is a bare-bones programming language that requires
you to do everything yourself, but Java can also be used to implement algorithms. This
course is ideal for those looking to switch jobs or prepare for interviews, and there is a 15-
hour video on C programming available on the channel with notes.
should be able to use it in your work or in your projects or in your courses or in your projects
that you are doing in the future or in your work that you are doing right now so if you want to
use something then you should be able to use it in your work or in your projects or in your
courses or in your future work or in your projects that you are doing right now . So data
structures and algorithms are things that help us in our work or in our projects or in our
courses or in our future projects or in our work or in our projects that we are doing right now
so if you want to use something then you should be able to use it in your work or in your
projects or in your courses or in your future work or in your projects that you are doing right
nowwater in a pot and you put the tea bag in the cup and you make the coffee Now what is
the difference between data structures and algorithms? Algorithms are specific steps that
need to be taken in order to solve a problem.I have been in the industry for a long time now
and I have seen a lot of people learning C , C++ and when they start to learn it they get very
lost & confused & they don't know what they are doing & they don't know how to use the
language properly & eventually they stop learning it & they end up becoming a beginner again
& that is not good for the industry & it is not good for the learners either so I would say learn
C , C++ & don't get lost in the language learning process
Data structure is the arrangement of data in main memory, and the concept of database,
data warehouse, and big data will be covered in the course. The fuel of big algorithms is
data, and keeping it properly in the hard disk is essential for efficient retrieval, updating, and
deletion. Although data warehousing is beyond the scope of this course, it's still important to
understand it. Data structures and algorithms are best learned from C and C++, which
provide a good picture of memory usage. The concepts of stack and heap are essential in
understanding how C programs work, and space and time complexity will be covered in
future videos. Overall, this course will cover many data structure concepts, such as linked
lists, arrays, binary search trees, and more.
Time Complexity and Big O Notation
So the input size didn't increase and the runtime of the algorithms didn't increase either .No ,
it doesn't depend on the size of the input . When we ask questions like as the input will
, increase, Then the runtime will change as per what? And after that Now you will go to aunty's
house You will be treated. Consider there are different routes to come and go.
I want to tell you guys one story. It happened like this , I was bored in my house. I was so
bored that I needed some entertainment. This guy has amazing games like Pubg and GTA5.
So he has a collection of games. He likes playing games a lot. And you can get every type of
game from him. But there is one problem , I also use jio. He also uses jio and we get just 1
Gb for one day. And with more internet , we ca n't sell files and all. So for me , what is the
fastest way to take the game from this friend. So what will I do ? I will take my bike As the
size of this input will get increased, the runtime of the algorithms will increase. This means
that as the input size is increasing like that The time required to send the file , That is also
increasing. There is a hard disk then there is your motorcycle. You will go on that bike. And
you will take it and in hard disk whether you bring 250kb or Tb. As the input size of algo2
increased like that what happened ? For that , there was no change in the runtime. Runtime
remained the same. So we say as the size of the input keeps on increasing , Similarly, what
is the effect of the algorithm on runtime. We are to trying to remove the time complexity of
them.
is the algorithm that runs in constant time . K1 n to the power 0+k2+k3+k4 This time is
required in algo 2 .The sentence is: Run time of it, there are some things that we will recite.
Because we won't constantly use our brains again and again, as we see Big O of 1 it is
constant. Now, come here and listen to another story. If we do an analysis of the first
algorithm, If I do T algo1 Then what will happen here? And along with consider that game is
of L3 kb. If the game is of N kb then how much time will you need? The sentence is: Run time
of it, there are some things that we will recite.There are polynomial algorithms and there are
exponential algorithms and there are logarithmic algorithms and there are exponential
functions and there are logarithmic functions. There are also algorithms that are not linear in
time.
Asymptotic Notations: Big O, Big Omega and Big Theta
Explained
We 'll talk a little bit about asymptotic notation. we talked about order. We talked about
ordering. We have primarily 3 types of asymptic notation big O, big Theta (Θ ) and big Omega
(Ω) big O is represented by capital (O), which is in our English. Big O is set to be O ( g ( n ) ) if
and only if there exist a constant ( c ) and a constant n -node such that 0 ≤ f ( n) ≤ cg (n) is O (g
(N) If you watch this video completely then I guarantee that you will understand these three
notations. Mathematically, mathematically this function can be anything. When we do analysis
of algorithms comparing any 2 algorithms then f ( n ) will be time and what is n , it 's input ok ,
size of input. G ( n) is your function which will come inside the big O. O ( n²) is Anything Can
Be Algorithm it is g (n) that will be here and which is your algorithm. If you guys can find any
such constant ( C ) and ( n ) -node , then f ( n) is O ( g ( n)" This is the mathematical definition
of big O. If you ca n't find it then its is not f (n ) is O. This question is its own truth , it has
validity , it will remain valid.
This course is primarily for placement preparation and will be using C and C++ for the
algorithms and data structures. The notes for the course will be provided in PDF format for
convenience. Data structures are essential for developing efficient algorithms that arrange
data in main memory for optimal usage. It's important to note that algorithms and data
structures are two different things. C is a bare-bones programming language that requires
you to do everything yourself, but Java can also be used to implement algorithms. This
course is ideal for those looking to switch jobs or prepare for interviews, and there is a 15-
hour video on C programming available on the channel with notes.
should be able to use it in your work or in your projects or in your courses or in your projects
that you are doing in the future or in your work that you are doing right now so if you want to
use something then you should be able to use it in your work or in your projects or in your
courses or in your future work or in your projects that you are doing right now . So data
structures and algorithms are things that help us in our work or in our projects or in our
courses or in our future projects or in our work or in our projects that we are doing right now
so if you want to use something then you should be able to use it in your work or in your
projects or in your courses or in your future work or in your projects that you are doing right
nowwater in a pot and you put the tea bag in the cup and you make the coffee Now what is
the difference between data structures and algorithms? Algorithms are specific steps that
need to be taken in order to solve a problem.I have been in the industry for a long time now
and I have seen a lot of people learning C , C++ and when they start to learn it they get very
lost & confused & they don't know what they are doing & they don't know how to use the
language properly & eventually they stop learning it & they end up becoming a beginner again
& that is not good for the industry & it is not good for the learners either so I would say learn
C , C++ & don't get lost in the language learning process
Data structure is the arrangement of data in main memory, and the concept of database,
data warehouse, and big data will be covered in the course. The fuel of big algorithms is
data, and keeping it properly in the hard disk is essential for efficient retrieval, updating, and
deletion. Although data warehousing is beyond the scope of this course, it's still important to
understand it. Data structures and algorithms are best learned from C and C++, which
provide a good picture of memory usage. The concepts of stack and heap are essential in
understanding how C programs work, and space and time complexity will be covered in
future videos. Overall, this course will cover many data structure concepts, such as linked
lists, arrays, binary search trees, and more.
Time Complexity and Big O Notation
So the input size didn't increase and the runtime of the algorithms didn't increase either .No ,
it doesn't depend on the size of the input . When we ask questions like as the input will
, increase, Then the runtime will change as per what? And after that Now you will go to aunty's
house You will be treated. Consider there are different routes to come and go.
I want to tell you guys one story. It happened like this , I was bored in my house. I was so
bored that I needed some entertainment. This guy has amazing games like Pubg and GTA5.
So he has a collection of games. He likes playing games a lot. And you can get every type of
game from him. But there is one problem , I also use jio. He also uses jio and we get just 1
Gb for one day. And with more internet , we ca n't sell files and all. So for me , what is the
fastest way to take the game from this friend. So what will I do ? I will take my bike As the
size of this input will get increased, the runtime of the algorithms will increase. This means
that as the input size is increasing like that The time required to send the file , That is also
increasing. There is a hard disk then there is your motorcycle. You will go on that bike. And
you will take it and in hard disk whether you bring 250kb or Tb. As the input size of algo2
increased like that what happened ? For that , there was no change in the runtime. Runtime
remained the same. So we say as the size of the input keeps on increasing , Similarly, what
is the effect of the algorithm on runtime. We are to trying to remove the time complexity of
them.
is the algorithm that runs in constant time . K1 n to the power 0+k2+k3+k4 This time is
required in algo 2 .The sentence is: Run time of it, there are some things that we will recite.
Because we won't constantly use our brains again and again, as we see Big O of 1 it is
constant. Now, come here and listen to another story. If we do an analysis of the first
algorithm, If I do T algo1 Then what will happen here? And along with consider that game is
of L3 kb. If the game is of N kb then how much time will you need? The sentence is: Run time
of it, there are some things that we will recite.There are polynomial algorithms and there are
exponential algorithms and there are logarithmic algorithms and there are exponential
functions and there are logarithmic functions. There are also algorithms that are not linear in
time.
Asymptotic Notations: Big O, Big Omega and Big Theta
Explained
We 'll talk a little bit about asymptotic notation. we talked about order. We talked about
ordering. We have primarily 3 types of asymptic notation big O, big Theta (Θ ) and big Omega
(Ω) big O is represented by capital (O), which is in our English. Big O is set to be O ( g ( n ) ) if
and only if there exist a constant ( c ) and a constant n -node such that 0 ≤ f ( n) ≤ cg (n) is O (g
(N) If you watch this video completely then I guarantee that you will understand these three
notations. Mathematically, mathematically this function can be anything. When we do analysis
of algorithms comparing any 2 algorithms then f ( n ) will be time and what is n , it 's input ok ,
size of input. G ( n) is your function which will come inside the big O. O ( n²) is Anything Can
Be Algorithm it is g (n) that will be here and which is your algorithm. If you guys can find any
such constant ( C ) and ( n ) -node , then f ( n) is O ( g ( n)" This is the mathematical definition
of big O. If you ca n't find it then its is not f (n ) is O. This question is its own truth , it has
validity , it will remain valid.