Memory representation
data is to be represented in memory or you can see the memory representation
of an array. you will see what is the need of ferry what does any types of ferry
how areas can be declared how arrays can be. be. declared and how data can be
stored in memory. you will see how the state has to be stored first of all this
decimal number 5 has to. be converted into binary it 's binary number sorry that
is in 32 bits. faerie explains what is need of faerie and how to deal with it. faerie:
we have to process large amount of return that is why the concept of array came
now you will modify this declaration such that under one variable name we can
store roll numbers of all 60 students that is what array now how you can do this.
declaration of arrays languagespecific i am considering the syntax in c language
in python maybe it 's different in pascal in you can say that foreign language the
declaration syntax would be a little bit different so it is language specific fine now
this is what the array declaration is.
The data is stored in consecutive locations or continuous locations one after
another. The index starts from zero, but can also start from one. The data is
stored in binary form and the address of the data is calculated in hexadecimal
form.
At runtime, you can initialize the array using loops, maybe for loop while you do
loup and some predefined function standard functions that is scanner. In next
video, I'm going to discuss it how the data is to be taken from the user how the
data is to be stored in the array. In next video, we are going to discuss how the
data is to be inserted how the arrays are to be traversed different types of
operations on 1d array first of all with their time taken. After that, we will discuss
what is 2d array as well as how 2d arrays are to be accessed from the air fine.
1.2 Array Operations - Traversal, Insertion | Explanation with C Program | DSA
Course
I am going to talk about various operations performed on arrays in data structure
on 1d arrays specifically. I have already discussed the fundamentals of arrays what
is need of Faerie array declaration in acid ization of array memory representation
of air in the previous video so if you check out that video then I 'll provide you
the link in the description box you can check out there. We are going to write
down the code for this. something like this I have already discussed in the
previous video this concept and detail fine. I 'm going to ask from the user what
,elements the user wants in the area how to populate the area at runtime. We will
just write header files and all I think you can write that thing. Ask from the user
that how many data the user want to insert in this area what is the actual size of
the array this is the maximum size fine. If user will give something some input
that is some integer value then obviously that value should be stored in memory
and how values to be stored using variable so you have to declare one another
variable.
We will discuss how data is to be inserted in the air at specific position. If you get
how data can be inserted at a specific position then you can easily modify the
code for inserting the data at the beginning and at the end of theory fine so now
we will see how to. We are using one more variable that is i so you have to
declare this variable. There is no upper bound checking concept of areas in areas
in C like this if you take hair in a is equal to 50 fine. Memory man is it has has
allocated to how many bytes two hundred bytes for storing 50 elements. If you
enter the size 51 or you can say 60 then user can insert 60 values also but that is
not actually correct. We all we want all the previous element as well as we want
some extra element that you want to insert so you can not do directly this so
another approach is what you can shift these elements to the right side. From
variable to start the loop we are going to start from here from the last element of
there you can say from size minus 1.
of bounds checking of arrays in c so programmer has to write down the code
itself for the checking of the boundaries in c. programmer must write down a for
loop for the swapping of arrays. Programmer writes down code that checks the
boundaries of an array in c code. Just write down a for loop in for loop you will
start from 0 to the size fine and you simply write printf percentage D and a of I
and these all values would be printed this is how we are going to insert the data
at specific position fine. After inserting this number array size becomes what 6 so
now size becomes size plus plus plus right now finally you will print this area how
you can print it. How you will insert simply you just enter the data you want to
insert simply. No need to ask the position no need to do this swapping and all
fine simply will write a off here here means you can say that size a of size size size
is 5 5 so here also you can insert at 6th position that is also fine but after size plus
1 you can not insert.
1.3 Array Operations | Deletion from Array | Explanation with Code | Data
Structure
I will discuss the deletion operation using the example I used in a previous video.
Understanding how to delete data from a specific position will also make it easier
,to delete data from the beginning or end of the array. I declared an array of size
50 in the previous code, and the memory manager allocated 200 bytes of
memory for this array. One variable, size, is used to determine the maximum size
of the array. If the user wants to insert only 10 or 5 elements, for example, I will
ask them how much size they want for the array, and this will allocate an
additional 4 bytes of memory. The user will then enter the elements of the array,
which will be initialized at runtime. To delete data from the array, I will ask the
user from which position they want to delete the data. For example, if they want
to delete data from position 2, I will shift the values from position 3 to 4 and
reduce the size of the array by 1. I will start a loop from the position to be deleted
to the end of the array and shift the values to the left. To print the updated array
after deletion, I will use a for loop to print each element of the array. It's
important to check the validity of the position entered by the user before deleting
data from the array. If the position is invalid, such as -1 or greater than the size of
the array, I will print "invalid position". If there is no data in the array, it's also an
underflow condition and the data cannot be deleted. When deleting data from
the end of the array, I will simply decrement the size of the array. When deleting
data from the beginning of the array, I will shift all the elements to the left and
decrement the size of the array. The time complexity of the deletion operation
depends on the position from which the data is to be deleted. If the data is to be
deleted from a specific position, all the elements to the right of that position must
be shifted to the left, which takes O(n) time. However, if the array is unsorted, a
quicker algorithm is to pick the last element of the array and put it in the position
to be deleted. The best algorithm for this case takes constant time, which is O(1).
1.4 Pointers and 2-D Arrays | Two dimensional Array | Data Structures &
Algorithm Tutorials
we 'll discuss how to da Rays are related with pointers how you can access the
elements of a 2d array with the help of pointer rather than using the array name.
If you have discussed the relationship between arrays and pointers I mean that 1d
array and pointers you can check out that video also in that I button. A of 0
contains these three integer values and this is the base address of these arrays. P
can contain address of an integer variable only so this is invalid right so here can
we write P is equal to CP contains address of some another integer variable
address off integer readable so can I write here a the name of theory. If you want
to print in hexadecimal form you can write down percentage P. you fine it will
, print in unsigned integer some integer value so you can print if you print in printf
I guess you can. write printf % is you and you. can write what a simply the name
of the area or it will give what the address of the first element first element is
what a of 0 0 is what 100 only fine you can say that base address of this is 100.
1d array value doesn't mean does n't mean that it is returning either six two or
five because at a over zero at this address it will return at this element. If you
write this 1s trick a plus 1 then what should be the value C this a name of the 2d
array. A means same name of this 2d array it is going to points to the first
element but you can say it's going to return the address of first element. If you do
s trick a of 1 it means when you act this pointer value at this address when you is
this complete 1d array value is not single integer value. Esther explains how to
print a of 1 plus 2 plus two and you just write a straight fine. Esther says the
output of this thing should be the output, just think about it see Esther it a here
step by step here in to solve this a a means it is going to return a snake of 2d
array. Esther: If you you are going to print this value then simply you can write say
this one this is same this is giving.
A straight a astray K means value at this address value is what value is this
complete 1d array fine or you can say address of its first element first element in
2d arrays this complete one dear so it is going to return pointer to this one da
find out. If you print history s trick a then what will be the output of AD Esther
that's tricky and Esther gets trick P. Address of a means it is going to give you the
address of the first element of the array. If you print a and address of a a a means
name of an array C name of there is address of a and a both will return 200 fine. If
a plus one arithmetic plus one in the pointer then it is pointing to the CUDA
obviously the next element. here 1 2 1 2 the next element it is going to switch this
complete array then it is. going to point this the next. element of or you can say
the next one the error that is 1 2 4 this is the difference between this and this see
I can now discuss everything in one video so it 's up to you you can try different
different different expressions like this.
Memory is very crucial data source in our system we do n't have unlimited
memory in a computer system fine so it is a responsibility of a memory manager
to manage this resource. Memory manager will allocate how many bytes 3 into 4
that is 2 any bytes fine so let us suppose one complete block of 12 bytes has
been allocated suppose from 102 from hundred to this one one one this is free.
In advance the programmer told that I want size for only three integers so he has
allocated 12 bytes now what a memory manager will say he 'll say I can not