Data Structures - For The Novice
Tags: programming, data, beginners, algorithms
Published: 2022-04-09 17:29:33

#Introduction
Data structures have been a feared subject by all, even experienced programmers sometimes cower at this and its brother **"ALGORITHMS"**.
There is this saying, "Good programmers worry about data structures..."
And other programmers will say, "immediately I understand data structures, booom, my worth increases!!".
As you will see, "DATA STRUCTURES" is not a trivial subject, it holds the key to fully understanding problems and solving such in Computer Programming. I dare say that, how this concept is presented in most classical write ups has scared many away. Needless to say, jargons, technical jargons which most times are unavaoidable liter these pieces. This, not-withstanding, I hail and sincerely appreciate any who has taken out time and written on this subject, it isn't for the fainthearted. And credit andrespect to the very good literature out there, that x-trays this subject in it's atomic details.
In this series, I will try my very best to bring it to the lowest of levels. I hope this serves you for all purposes.

#What Are Data Structures?
I am really tempted to give a wekipedia style defintion, but no!
Obvioulsy the term "DATA STRUCTURES" is a 'two worded' concept. Let's take this one at a time;
**1. DATA:** Just imagine you have an application in your device, and register for the first time, say with your name and password. To register, you must input an email and set a password, the email is datum(singular of data), the password is datum. So these pieces of information that are required are data. Now this is a very simplistic analysis, a real life application can have requirements that are very large and complex, say yourname. email. phone number, location, date of birth, age etc. For example Facebook processes  billions of information soemtimes every second and store these. Twitter does same, the list goes on.
So data refer to all the information collected, processed and stored by the computer. For this information to make sense they have to be structured in a way, stored properly. why? Let talk about structure.
**2. STRUCTUTRE:** Just imagine this, you are an avid reader, after reading a book, you store them in a reserved room in your apartment. Now, if, whenever you're done reading a book you just throw them into the room, what could be the consequence of this haphazard storage as shown below??

![books scattered in a room](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wwbx035ozi128wrqlevi.jpg)
 Imagine again, a friend comes and asks for a book you have read and say, wants to borrow it, you stepped into the room and thence you suffer the consequence of your lack of proper structure. 
What will be a better approach, shelves! Yes, like a library, what else can help? Labeling the shelves, by Author or so. This is structure. How easy it will be  to locate a book in a shelf like below

![Books well arranged in shelves](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uozu8hqbciy05y68m03t.jpg)
So in computer programming, as the term denotes humans feed the computer information and it's exactly what you feed in that gets out, maybe in a different form..But trust me computers remain grabage in garbage out. Ok we argue that another day, the garbage in garbage out thing. When the information fed into an applictaion is appropriately structured, it makes for easy, efficient access. Infact, the very reason while you load up some apps and it takes more time than others, could most likely, among other things be access of data. The implication of this is, **your choice of data structure, greatly affects the performanace of your application. How yo choose to savwe the datais important.
In summary, Data Structures is just information management for efficient and easy access which inturn leads to better app performance etc. 
#When Should I learn Data Structures?
Hmmmmmmmm. Say you want to build a house, when should you get ready financially? After the house is completed? Doesn't make sense, infact no one will work for you unless you pay them sometimes, partly in advance. SO I say that data structures should be the very first concept you learn before you write your first line of code. I will try to acheive this; explaining data structures and Algorithms without a particular leaning to a programming languauge. But I must warn I will make reference to programming languages but in a high level index.

We shall discuss 5 data structure types in programming. Yes I know advanced devlopers will say why will some names be here, varaible, and some.. These are not data structures.... Hmmm. well, you'd see whyI will unapolegietical;ly call every name on the list belwo data structure types, not just data structure. You get it? If not hang on as we explore this exciting concept.. 
 So Herew is the list I will talk about
1. Variable
2. Objects/Dictionaries
3. Arrays/Lists
4. Linked Lists
5. Dictionaries
7. Trees

# Keep your fingers crossed for part 2