In this tutorial, We are going to learn about **Data** **Structure** and **algorithm**. So by using **data** **structure** and **algorithm**, We can **collect** and **organise** **data** in such a way that we can perform operations on these data in an effective way.

An **algorithm** is a set of **instructions** or **logic**, written in order, to accomplish a certain specific task.

**Algorithms should satisfy the following given properties:**

- Input
- Output
- Definiteness
- Finiteness
- Correctness

**The performance of algorithm is measured by following given property:**

- Time Complexity
- Space Complexity

**Basic type of data structures:**

- Linked list
- Queue
- Stack
- Tree
- graph etc.

Graph

- BFS | Breadth first serarch algoritm
- Topological sort

Array

- Find the median of two sorted array
- Program to merge two sorted array in-place

Stack

**To learn more about golang, Please refer given below link:**

https://www.techieindoor.com/go-lang-tutorial/

**References:**

https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs