The data structure is one of the essential parts that must be understood by programmers. This structure makes it easy for users to access the data they need quickly and precisely. This is because the data structure has a unique format that organises, processes, retrieves, and stores data.

Unfortunately, not few think that data structures are difficult to learn. In fact, you can learn it quickly, you know. Then, what is a data structure?

Well, this time, we will discuss in full about data structures. Starting from the understanding, types, and uses of learning. Check out the explanation below.

**Intro to Data Structure**

A data structure is a way of storing and organizing data in a structured manner on a computer system or database so that it is more easily accessible. Technically, data in numbers, letters, symbols, and others are placed in specific columns and arrangements.

In compiling data, there are several terms that you need to understand, namely nodes and indexes. The following is an explanation of the two words.

Nodes, namely elements contained in the data structure. Each node includes a pointer to the next node. An index is an object in the database system that can speed up the data search process.

Data structures can be used to manage databases, compress files, to process other data. Practically, this structure must be learned because it can help you combine various data elements effectively.

Moreover, the data structure will also affect the accuracy of a program’s algorithm.

**Types of Data Structure**

After knowing a data structure, you also need to know the seven types of data structures used to store data on a computer. Here is a full explanation.

**1. Array**

Array type has a collection of elements that are closely spaced. Arrays can help one look up data randomly using only its index.

The capacity of elements that can be allocated to an array type is static. If you want to insert a new element into an array, you must create a new variety with a larger size. Conversely, if you want to delete certain features, you must create a new type with a smaller size.

In addition, arrays also allow you to store multiple data of the same type under one name. The array type is commonly used to build data structures, such as vectors and matrices.

**Advantages of array types:**

- It can implement other types, such as queues and stacks.
- The data search process can be done more quickly.

**Disadvantages of array types:**

- Adding and subtracting data takes longer because the array type holds data sequentially.

**2. Linked List**

A linked list is a data structure consisting of linear data sequences linked to one another. You must access the data manually when using the attached list type. This is because you can’t search for data with a random system.

There are three linked list types: singly linked lists, doubly linked lists, and circular linked lists. These three can be distinguished from the traversal process or visiting each node simultaneously.

Advantages of the linked list type:

- More dynamic size.
- You can adjust the allocation of memory usage according to your needs.
- Faster addition or reduction of data.

Disadvantages of the linked list type:

- Take up more memory.
- Cannot return to the previous node (reverse traversal), except for doubly linked list types.
- The traversal process is longer because it does not directly access data with indexes.

**3. Stack**

Stack is a linear data structure type that follows a specific sequence. The sequence is LIFO (Last In, First Out) or FILO (First In, Last Out). Both terms mean the same.

The data that was last entered will be the data that comes out first. On the other hand, the first incoming data will be the last outgoing data.

**Advantages of the stack type:**

- Can manage data efficiently.
- Can clean objects automatically.
- Can control memory independently.

**Disadvantages of the stack type:**

- Minimal memory capacity.
- The possibility of an overflow occurs when the number of objects is too much.
- Need help accessing random data.

### 4. Queue

The queue is a type of linear data structure that follows a specific sequence, namely FIFO (First In, First Out). So, the data that enters first is the data that is first retrieved.

A simple analogy that describes this type is people standing in line. Whoever comes first is served first.

**Queue type advantages:**

- Incoming data will be served in the order.
- The data queue process is faster and optimal.
- Handle multiple data types at once.

**Disadvantages of the queue type:**

- If the service time runs out, the last entered data cannot be served.
- It is a complicated process when adding or removing elements from the centre.
- It took a long time to find the queue.

**5. Tree**

The tree is a data structure type that has a tree-like shape. The tree type is efficient for storing data hierarchically because it is arranged at various levels. This type is often considered a collection of interconnected nodes.

Each node can contain some data or links from other nodes. Some of the terms that exist in this type of tree include:

- Root: the node that is at the very top
- Child node: A child of each node.
- Parent node: the node that contains sub-nodes.
- Siblings: nodes that originate from the same parent node
- Leaf node: a node that has no more children.

**Advantages of the tree type:**

- The process of searching for data can be done quickly.

**Disadvantages of the tree type:**

- It takes longer to enter data because it has to adjust to the order of the values.

**6. Graph**

The graph is a type that contains several connected nodes. Nodes in a graph type are referred to as nodes. So, each line will connect two vertices. Usually, this type is used to indicate a particular network. An example is the telephone network.

Graph types are divided into two types, namely, directed graphs and undirected graphs. A directed graph means that every line will be connected to all vertices.

Meanwhile, an undirected graph implies that not all vertices will be joined by lines. If a node is not connected to other nodes, it is called an isolated vertex.

**Advantages of the graph type:**

- It can help check the relationship between nodes quickly.
- Suitable for graphs that contain few nodes.

**Disadvantages of graph types:**

- It takes a long time to modify data.

**7. Hash Table**

A hash table is a type used to store data associatively. This type will store data in array format. This allows you to access data quickly because it only uses the index.

The primary operations used in the hash table are search (to find elements), insert (to insert details), and delete (to delete parts). An example of using the hash table type is looking for a name and phone number data.

**Advantages of hash table type:**

- Compared to other types, a hash table is sometimes more efficient for searching data, so it is often used in software for database indexing.
- Easy to sync.

**Disadvantages of the hash table type:**

- The possibility of data collision (collision) is so significant that it becomes inefficient.