Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books
54.3K subscribers
880 photos
1 video
4 files
333 links
Everything about programming for beginners
* Python programming
* Java programming
* App development
* Machine Learning
* Data Science

Managed by: @love_data
Download Telegram
30-days learning plan to master Data Structures and Algorithms (DSA) and prepare for coding interviews.

### Week 1: Foundations and Basic Data Structures

Day 1-3: Arrays and Strings
- Topics to Cover:
- Array basics, operations (insertion, deletion, searching)
- String manipulation
- Two-pointer technique, sliding window technique
- Practice Problems:
- Two Sum
- Maximum Subarray
- Reverse a String
- Longest Substring Without Repeating Characters

Day 4-5: Linked Lists
- Topics to Cover:
- Singly linked list, doubly linked list, circular linked list
- Common operations (insertion, deletion, reversal)
- Practice Problems:
- Reverse a Linked List
- Merge Two Sorted Lists
- Remove Nth Node From End of List

Day 6-7: Stacks and Queues
- Topics to Cover:
- Stack operations (push, pop, top)
- Queue operations (enqueue, dequeue)
- Applications (expression evaluation, backtracking, breadth-first search)
- Practice Problems:
- Valid Parentheses
- Implement Stack using Queues
- Implement Queue using Stacks

### Week 2: Advanced Data Structures

Day 8-10: Trees
- Topics to Cover:
- Binary Trees, Binary Search Trees (BST)
- Tree traversal (preorder, inorder, postorder, level order)
- Practice Problems:
- Invert Binary Tree
- Validate Binary Search Tree
- Serialize and Deserialize Binary Tree

Day 11-13: Heaps and Priority Queues
- Topics to Cover:
- Binary heap (min-heap, max-heap)
- Heap operations (insert, delete, extract-min/max)
- Applications (heap sort, priority queues)
- Practice Problems:
- Kth Largest Element in an Array
- Top K Frequent Elements
- Find Median from Data Stream

Day 14: Hash Tables
- Topics to Cover:
- Hashing concept, hash functions, collision resolution (chaining, open addressing)
- Applications (caching, counting frequencies)
- Practice Problems:
- Two Sum (using hash map)
- Group Anagrams
- Subarray Sum Equals K

### Week 3: Algorithms

Day 15-17: Sorting and Searching Algorithms
- Topics to Cover:
- Sorting algorithms (quick sort, merge sort, bubble sort, insertion sort)
- Searching algorithms (binary search, linear search)
- Practice Problems:
- Merge Intervals
- Search in Rotated Sorted Array
- Sort Colors
- Find Peak Element

Day 18-20: Recursion and Backtracking
- Topics to Cover:
- Basic recursion, tail recursion
- Backtracking (N-Queens, Sudoku solver)
- Practice Problems:
- Permutations
- Combination Sum
- Subsets
- Word Search

Day 21: Divide and Conquer
- Topics to Cover:
- Basic concept, merge sort, quick sort, binary search
- Practice Problems:
- Median of Two Sorted Arrays
- Pow(x, n)
- Kth Largest Element in an Array (using divide and conquer)
- Maximum Subarray (using divide and conquer)

### Week 4: Graphs and Dynamic Programming

Day 22-24: Graphs
- Topics to Cover:
- Graph representations (adjacency list, adjacency matrix)
- Traversal algorithms (DFS, BFS)
- Shortest path algorithms (Dijkstra's, Bellman-Ford)
- Practice Problems:
- Number of Islands

Day 25-27: Dynamic Programming
- Topics to Cover:
- Basic concept, memoization, tabulation
- Common problems (knapsack, longest common subsequence)
- Practice Problems:
- Longest Increasing Subsequence
- Maximum Product Subarray

Day 28: Advanced Topics and Miscellaneous
- Topics to Cover:
- Bit manipulation
- Greedy algorithms
- Miscellaneous problems (trie, segment tree, disjoint set)
- Practice Problems:
- Single Number
- Decode Ways
- Minimum Spanning Tree

### Week 5: Review and Mock Interviews

Day 29: Review and Weakness Analysis
- Activities:
  - Review topics you found difficult
  - Revisit problems you struggled with

Day 30: Mock Interviews and Practice
- Activities:
  - Conduct mock interviews with a friend or use online platforms
  - Focus on communication and explaining your thought process

Top DSA resources to crack coding interview

👉 GeekforGeeks

👉 Leetcode

👉 DSA Steps

👉 FreeCodeCamp

👉 Coding Interviews

👉 Best DSA Resources

Join for more: https://t.iss.one/free4unow_backup

ENJOY LEARNING 👍👍
2👍2
𝐃𝐚𝐭𝐚 𝐒𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞𝐬 : 𝐄𝐱𝐩𝐥𝐨𝐫𝐞 𝐥𝐢𝐬𝐭𝐬, 𝐭𝐮𝐩𝐥𝐞𝐬, 𝐚𝐧𝐝 𝐝𝐢𝐜𝐭𝐢𝐨𝐧𝐚𝐫𝐢𝐞𝐬
𝐋𝐢𝐬𝐭𝐬:
- Lists are ordered collections of items.
- They are mutable, meaning you can change their content after creation.
- You can have duplicate values in a list.
- Lists are defined using square brackets [ ].

Example:
my_list = [1, 2, 3, 'apple', 'banana', 'cherry']

𝐓𝐮𝐩𝐥𝐞𝐬:
- Tuples are ordered collections of items, similar to lists.
- However, they are immutable, meaning once created, their content cannot be changed.
- Tuples are defined using parentheses ( ).
- You can have duplicate values in a tuple.

Example:
my_tuple = (1, 2, 3, 'apple', 'banana', 'cherry')

𝐃𝐢𝐜𝐭𝐢𝐨𝐧𝐚𝐫𝐢𝐞𝐬:
- Dictionaries are unordered collections of items that are stored as key-value pairs.
- They are mutable.
- Dictionaries are defined using curly braces { }.
- Each key in a dictionary must be unique, but the values can be duplicated.

Example:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

I have curated the best interview resources to crack Python Interviews 👇👇
https://topmate.io/coding/898340

Hope you'll like it

Like this post if you need more resources like this 👍❤️
5👍5👏1