0% found this document useful (0 votes)
2 views2 pages

Key Data Structures and Algorithms Guide

The document outlines important programming concepts and techniques, including arrays, strings, recursion, hashmaps, binary search, and sorting algorithms. It provides a list of basic and medium-level problems to solve using these concepts, along with specific tasks related to hashmaps, binary search, queues, stacks, and linked lists. Additionally, it includes links to resources for further learning on each topic.

Uploaded by

Hs Ipsita
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views2 pages

Key Data Structures and Algorithms Guide

The document outlines important programming concepts and techniques, including arrays, strings, recursion, hashmaps, binary search, and sorting algorithms. It provides a list of basic and medium-level problems to solve using these concepts, along with specific tasks related to hashmaps, binary search, queues, stacks, and linked lists. Additionally, it includes links to resources for further learning on each topic.

Uploaded by

Hs Ipsita
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Few Important Concepts/Techniques

● Learn about array/string/recursion


● Hashmap (Dictionary in Python / KeyValue pair in C#)
○ Hashmap/Hashtable is implemented in JAVA. Learn equivalent
concepts in your favourite language.
○ [Link]
■ Know internal working of it.
■ Time complexity for get() and put() in Hashmap - O(1)
■ Collision
● Binary Search
○ [Link]
● Hashmap vs Hashtable
○ [Link]
le-in-java/
● Hashmap vs Treemap
○ [Link]
● Concurrent Hashmap
○ [Link]
● Sorting Algorithms
○ Time complexities of all sorting algorithms
○ Bubble sort
○ Selection Sort
○ Insertion sort
○ Merge Sort
○ Quick Sort
○ Heap Sort

(Learn all the solutions given in below links - Both bruteforce approach and optimal
approach)
Basic problems.
1. Find the smallest and second smallest elements in an array
2. Write a program to reverse an array or string
3. Find n’th fibonacci number
4. Factorial of a number
5. Check string is palindrome or not
Hashmap Related problems
6. Count the occurrence of each character in a string
7. Find the pair with given sum
8. Check whether two Strings are Anagram of each other

Binary Search Problems


9. Write code for binary search in array. (both recursive/iterative approach)
10. Search an element in sorted and rotated array
11. Find the row with maximum number of 1s in boolean 2D array
12. Find the maximum element in an array which is first increasing and then decreasing.
13. Search in a row wise and column wise sorted matrix

Medium Level problems


14. Find one missing element in array which have elements from 1 to n​ (​Learn all
approaches​)
15. Find the maximum repeating number in array.
16. Merge Two sorted arrays
17. Sort an array of 0s, 1s and 2s
18. Largest Sum Contiguous Subarray
19. Maximum sum such that no two elements are adjacent
20. Longest Increasing Subarray
21. Find the element before which all the elements are smaller than it, and after which
all are greater
22. Union and Intersection of two unsorted arrays
23. Find next greater number with same set of digits

Queue/Stack
24. Check for balanced parentheses in an expression
25. Implement two Stacks in array
26. Reverse individual words in String
27. Reverse Queue using Stack

Linked List
(Basic understanding of linked list - required) -- Read about Linked List
28. ​Reverse linked list
29. ​Middle element in Linked List
30. Delete all nodes in Linked list

You might also like