ntnirajthakur21 / DSA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures and Algorithms (DSA)

Data Structures and Algorithms (DSA) is a fundamental part of Computer Science that teaches you how to think and solve complex problems systematically.

  • Data Structures is about how data can be stored in different structures.

  • Algorithms is about how to solve different problems, often by searching through and manipulating data structures.

Data structures give us the possibility to manage large amounts of data efficiently for uses such as large databases and internet indexing services.

Data structures are essential ingredients in creating fast and powerful algorithms. They help in managing and organizing data, reduce complexity, and increase efficiency.

In Computer Science there are two different kinds of data structures.

  • Primitive Data Structures are basic data structures provided by programming languages to represent single values, such as integers, floating-point numbers, characters, and booleans.

  • Abstract Data Structures are higher-level data structures that are built using primitive data types and provide more complex and specialized operations. Some common examples of abstract data structures include arrays, linked lists, stacks, queues, trees, and graphs.

Algorithm examples:

  • Finding the fastest route in a GPS navigation system
  • Navigating an airplane or a car (cruise control)
  • Finding what users search for (search engine)
  • Sorting, for example sorting movies by rating

DSA is about finding efficient ways to store and retrieve data, to perform operations on data, and to solve specific problems.

Data Structure Advantages Disadvantages
Array Quick insertion, very fast access if you know the index Slow search, slow deletion, fixed size
Ordered Array Quicker search than unsorted array Slow insertion, slow deletion, fixed size
Stack Provides last-in, first-out access Slow access to other items
Queue Provides first-in, first-out access Slow access to other items
Linked List Quick insertion, quick deletion Slow search
Binary Tree Quick search, insertion, deletion (if balanced) Deletion is complex
Hash Table Very quick search, insertion, deletion Slow deletion, accessw slow if key not known, inefficient memory usage
Heap Quick insertion, deletion, access to max/min Slow access to other items
Graph Models real-world situations Can be complex to implement

About


Languages

Language:C++ 42.5%Language:TypeScript 27.3%Language:C 19.2%Language:JavaScript 11.0%