Data Structure and its Types in Computer Science

Hello dear reader, I am Shubham Mishra writing this post to illustrate Data Structure and Data Structure types. For writing this post I have taken the reference from the book 'Data Structure - by Dilip Kumar Sultania'.
What is Data: Data is a collection of numbers, alphabets and symbols which represent some information. A computer usually takes input as one form of data and returns output in another form of data.
Basically, the data primarily divided into two types,

  1. Atomic Data: This data are the non-decomposable entity. These are basically an integer, characters that cannot be further divided.
  2. Composite data: It is a sum-up of individual atomic data. It can further be divided into atomic data.
    Data Structure - Shubham Mishra
    Data Structure : Algorithm
As shown in the above diagram, 'Date of Birth' is a composite data which can further be divided into three atomic data.

Now, let's begin with the actual discussion of today's topic 'Data Types' or 'Data Structures'. A data type can be defined as the kind of data a variable stored. The way this data is represented is the term Data Structure means to us. In below discussion types of Data Structures has been mentioned.


  • Primitive and Non-Primitive
Primitive: The primitive data structures are nothing but the atomic data structures such as the Integer, Character, logical boolean, pointers.

Non-Primitive: These data structures are derived from the many primitive data, as same as the composite data structure discussed above.
Examples of non-primitive data structures are, Array, structure, union, stack, queue, tree and graph.
The non-primitive data structures support many useful operations as shown below,

Data Structure Types - Shubham Mishra
Promotive & Non-primitive Data Types


  • Linear and Non-linear
Linear: Linear data structures are arranged in a linear fashion, that is one - one relationship can be handled. Array, Lists, stack, queue are the best examples for the linear data structure.
Representation of linear data structures in an array:

Non-Linear: All the other relationship among atomic data such as one-to-many, many-to-one and many-to-many are the non-linear data structure. Graph, Tree and tables are the best examples to suites this type of data structure. The tree representation is shown below,

As shown above, circle-0 have relation with two atomic data circle-1 and circle-2, and the same behaviour can be seen for circle-1 with circle-3 and circle-4.


  • Static and Dynamic:
Static: Static data structure, are those were memory needed for the object is allocated at the time of loading the program. The total amount of memory required is calculated during the compilation by the compiler. There are some drawbacks for initializing the memory size before knowing the actual size required in the program.
For example, Float array[100]: Here we are locating a float array of size 100.

Dynamic: In this case, the memory size is calculated during the execution of the program. This is a good pratice for writing a program with low space complexity.
In C language we have 'malloc' methodology. For more reading see this stackoveflow's page, Dynamically allocating memory across different platforms

Thank you for reading this blog of Data Structure and Data structure types.

Are you intereseted to develope a desktop game with the PyGame module, then visit my this post PyGame module to develop game

Also visit Merge sorting algorithmRecursive FunctionAnalysis of Algorithm
See my all posts Shubham Mishra

Ok great, we are done with this post,  

Now if you like my way of talk, lets explore more blogs written by me and my inner knowledge,

Get to know answers for common search on Google : A blog for posts which can help you for daily life problems, such as where to get free images, Topic suggestion for the blog.

Computer Science algorithms and other knowledge share : A blog for posts such as best search algorithm, Top interview questions for diffrent technologies, knowledge share for some frameworks or programming languages for the interview or in general terms.

My ideas to solve real world problems : A blog where me shared and presented my ideas to solve a real world problems, this will be interesting for me.

Future of computer science technology discussed : A blog where me discussed about the future of computer science and new technologies which will change our way for looking to solve problems.

Ruby on Rails Web development Blog : As the name suggest, it is the blog for sharing few knowledge about RoR web development framework.


Liked my blogs, wanna to connect:

LinkedIn   GitHub  |  HackerEarth   ResearchGate  |  Twitter  |  Facebook  |  StackOverflow

Thanks for reading this post, Have a good day :)


Comments

Popular posts from this blog

Amazon Interview question from leetcode coding problem 1

Puzzles for the interview which every one should read once

Use ChatGPT for improve your coding quality