Introduction to Data Structures & Algorithms
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.
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.
know these three terms because big data is what we are talking about here .memory
location where the C program stores the data that is to be processed next and the
heap is a memory location where the C program stores the data that is to be
processed next but the data that is to be processed next is not always stored in
the same location as the data that is to be processed next because the C program
can keep data in different memory locations depending on the situation and this is
why it is important for you to understand the stack and heap because you will be
able to understand the C program better and be able to ask more questions on the C
program. Alright ... I 'm talking about C program that 's why I say
that you get a good picture of memory with the help of C programming therefore ,
data structures and algorithms is best learned from C and C++ Now here I am
dividing it into segments so there is thing called code segment let 's say this is
my code let 's say there is a code with the name `` harry.c '' now this code will
be first loaded into my main memory I told you what is the first thing that happens
?then it will come to this line it will come to fun1 ( ) , it will execute fun1 ( )
. fun2 ( ) is calling inside fun1 ( ) now the variables that I had created inside
it will be created here let 's say I have created `` k '' & `` l '' let me write
here : initialize k and l and after that I 'm calling fun2 ( ) so as soon as fun2 (
) will be called it will say to fun1 ( ) that you wait for a while , I call fun2
( ) and be back by fetching the value whatever it will return fun1 ( ) replied that
you go and get it call fun2 ( ) and get its value .
me where do I give the milk to the milkman because the pointer will store the
address of the malloced memory so the milkman will get the milk from the pointer
and the pointer will stay there until you return the function or until you delete
it.it will say to fun1 ( ) that you 're coming back and now you can start your
execution again . If anyone asks you this question, that why heap is used, it can
also be done from stack. So that thing is done here with the help of dynamic memory
because when does the stack of a function end it ends when the function is
returned. I just come back with the value you just wait here. You go and get it and
then what will happen, fun function will be called.
this video we will focus on linked list & binary search tree so if you want to know
more about these then you should go ahead and watch the video and learn more about