damla / ds-and-algorithms-ts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures and Algorithms

Fundamental Data Structures

  • Arrays:

    • Understand how arrays work, how to access, insert, and delete elements.
    • TypeScript allows you to work with arrays easily, e.g., let arr: number[] = [1, 2, 3];
  • Linked Lists:

    • Learn about singly and doubly linked lists, how to insert, delete, and traverse them.
    • Implementing a linked list class in TypeScript can be a good exercise.
  • Stacks:

    • Understand the LIFO (Last In First Out) principle.
    • Create a Stack class in TypeScript with methods like push, pop, peek.
  • Queues:

    • Understand the FIFO (First In First Out) principle.
    • Implement a Queue class in TypeScript with methods like enqueue, dequeue.

Advanced Data Structures

  • Trees:

    • Learn about binary trees, traversal methods, AVL trees, and Red-Black trees.
    • Implement these trees and their balancing algorithms in TypeScript.
  • Heaps:

    • Understand min-heaps and max-heaps, and how to insert and delete elements.
    • Implement a Heap class in TypeScript.
  • Hash Tables:

    • Learn about hashing, collision resolution strategies.
    • Create a Hash Table class in TypeScript.
  • Graphs:

    • Understand different representations of graphs (adjacency matrix, adjacency list) and basic graph algorithms.
    • Implement graph representation and traversal algorithms in TypeScript.

Algorithms

  • Sorting and Searching Algorithms:

    • Study and implement common algorithms like QuickSort, MergeSort, Binary Search in TypeScript.
  • Dynamic Programming and Divide-and-Conquer Algorithms:

    • Understand the principles behind these algorithmic paradigms and solve problems using them.
  • Graph Algorithms:

    • Implement Breadth-first Search, Depth-first Search, and Dijkstra’s algorithm in TypeScript.

About


Languages

Language:TypeScript 100.0%