Hello There, My Gorgeous Friend On The Internet
So, After two and a half years of college and almost a year of serious coding, now I want to start competitive programming. And before starting with the challenges, I decided to brush-up my Data Structure and Algorithms skills.
So I've started learning data structures from today and I decided to start posting about it here to keep track of my progress and to share it with you, comrades.
Check out my GitHub repository for all the programs:
jamesshah / Data-Structures-And-Algorithms
Data Structures And Algorithms For Learning Purpose.
Introduction
Data Structure is basically a way to store and organize data for efficient use. Organized data is far more easy to use than unorganized data.For example, think about the words in a dictionary. They are organized in alphabetical order and thus, it is easy to find a word from it. The same way, when in a computer we need to organize data for efficient and easy use;
data structure is the answer.
Data Structures can be-
- Linear
- Non-Linear
Basic Types Of Data Structure:
- Array
- Linked List
- Stack
- Queue
- Tree
- Graph
Tree and Graph are two examples of non-linear Data Structure.
The rest of them are linear Data Structure.
Now, Let's start with the first Data Structure:
Arrays
Simply, an Array is a collection of elements of the same data type such as Integer or String. So, we can use an array to store data of the same data-type. For example, we can store the "name of people" in a String type Array, we can store "age of people" in an Integer type Array, etc.
- We access elements of an array using index. arr[i] = ith element.
- Array index starts from 0. i.e. arr[0] = first element, arr[1] = second element.
Here is a simple program implementing an Array in Java.
- We can also create Multi-Dimensional Arrays.
- Multi-Dimensional Arrays are useful to implement Matrices.
Here is a simple program implementing a Two Dimensional Array in Java.
Pros:
- An array is useful for fixed-size data and when we know the total number of elements already.
- We can do pretty much all the operations on an array such as inserting an element at a particular position, removing an element from a particular position, read the value of an element from a particular position.
Cons:
- It is costly to implement dynamic array. i.e, When we don't know the size of an array, we randomly create an array of some size and if we need to put more elements than the size of our array - we need to create a new array of double size, copy all the elements of old array to the new array, and then insert new elements. It is costly in terms of time complexity and thus, not practical.
Thanks For Scrolling, Stick Around✌🏻.
Happy Coding!💻🖤
Top comments (6)
For two dimensional arrays, you should fix your second piece of code - both seem to be the same example.
Ohhh thanks for that. There was a problem in embedding. Fixed it👍
The two pieces of code seem to have exchanged places now, the double dimensional array should actually come second according to what you wrote in the post, but currently it's at the top.
It seems perfectly fine to me. I guess there is some issue on the website. I've double checked my side.
Very Good 👏👏 Keep it up bro
Thanks Brother ✌️