Python is a powerful and versatile programming language, known for its simplicity and readability. This course will cover the fundamental concepts and techniques for organizing, storing, and manipulating data efficiently using Python.
The course will start with an introduction to basic data structures such as arrays, linked lists, stacks, and queues, and then move on to more complex data structures such as trees and graphs. We will explore how to implement these data structures in Python, as well as how to use them to solve real-world problems.
Python is a powerful and versatile programming language, known for its simplicity and readability. This course will cover the fundamental concepts and techniques for organizing, storing, and manipulating data efficiently using Python.
The course will start with an introduction to basic data structures such as arrays, linked lists, stacks, and queues, and then move on to more complex data structures such as trees and graphs. We will explore how to implement these data structures in Python, as well as how to use them to solve real-world problems.
The course will also cover various algorithms such as sorting, searching, and graph traversal, and we will analyze the time and space complexity of these algorithms to determine their efficiency. We will explore algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms, and we will apply these techniques to solve real-world problems.
In addition to the core data structures and algorithms, we will also cover topics such as data abstraction, complexity theory, and algorithmic paradigms such as brute force, backtracking, and heuristics. We will explore how to choose the appropriate paradigm for a given problem and how to use it to solve problems efficiently.
How data structure and algorithm course help to get placed in top tech companies?
A strong foundation in data structures and algorithms is essential for success in top tech companies, as they form the building blocks for software development. Here are some ways in which a data structure and algorithm course can help individuals get placed in top tech companies:
Problem-Solving Skills: Data structure and algorithm courses teach problem-solving skills that are essential for success in top tech companies. They provide a framework for approaching complex problems and breaking them down into smaller, more manageable tasks.
Efficiency: Top tech companies are always looking for ways to improve the efficiency of their software. Knowledge of data structures and algorithms helps individuals develop efficient programs that can handle large amounts of data quickly and reliably.
Competitive Edge: Many top tech companies look for candidates who have a strong foundation in computer science fundamentals. A data structure and algorithm course can provide individuals with a competitive edge when applying for jobs at these companies.
Technical Interviews: Technical interviews at top tech companies often focus on data structures and algorithms. A data structure and algorithm course can help individuals prepare for these interviews by giving them the necessary knowledge and practice to succeed.
Industry-Relevant Skills: A data structure and algorithm course can provide individuals with industry-relevant skills that are in high demand in top tech companies. These skills can be leveraged to stand out from other candidates and secure a position at a top tech company.
Overall, a data structure and algorithm course can help individuals develop the skills and knowledge necessary to succeed in top tech companies. It provides a strong foundation in computer science fundamentals and teaches problem-solving skills that are essential for success in the industry.
Merge Sort
We rotate an ascending order sorted array at some point unknown to user. So for instance, 3 4 5 6 7 might become 5 6 7 3 4. Modify binary search algorithm to find an element in the rotated array in O(log n) time and O(1) Space complexity.
Array consist of only 0's, 1's and 2's. Write an algorithm to sort this array in O(n) time complexity and O(1) Space complexity with only one traversal Asked in : : Amazon, Microsoft, Adobe, WalmartLabs
You are given a matrix of m x n elements (m rows, n columns), Print all elements of the matrix in spiral order in O(m*n) Time Complexity and O(1) Space Complexity Asked in: Microsoft, OLA, PayTm, Oracle
Array of length n having integers 1 to n with some elements being repeated. Count frequencies of all elements from 1 to n in Time Complexity O(n) and Space Complexity O(1) Asked in : : PayTm, VmWare, Amazon
String is given as input that contains only lowercase letters, remove duplicate letters so that every letter appears once In O(n) Time Complexity and O(1) Space Complexity
Traversal scheme is core Concept of BT. Almost all the problems of Binary tree involves the complete understanding of traversal process.
Convert BT to DLL such that the left pointer of the node should be pointing to the previous node in the doubly linked list, and the right pointer should be pointing to the next node in the doubly linked list in Time Complexity O(n) and Space O(Height) Asked in : Amazon, Microsoft, Flipkart, WalmartLabs
Print all the boundary nodes in the binary tree.Boundary includes left boundary, leaves, and right boundary in anti clockwise direction in O(n) Time Complexity Asked in : Flipkart, OLA, InMobi
The diameter of a binary tree is the length of the longest path between any two nodes in a tree. Find diameter of tree in Time Complexity O(n) Asked in : Flipkart, Amazon, Microsoft, Facebook, Intuit, Broadcom
Print all the nodes which are at k distance from the root. Root of the Binary tree and K is given as Input in Time Complexity O(n) Asked in : Uber, Flipkart, Samsung
This is a bit complex problem from previous problem. Now you need print all the nodes k distance from any random node in the tree in Time Complexity O(n) and Space Complexity O(n) Asked in : Google, Amazon, Facebook
Given a binary tree, print the values of nodes which would be present in bottom of view of binary tree Asked in : Paypal, Amazon, Paytm
Given a binary tree, print its nodes level by level in spiral order in Time and Space Complexity O(n) Asked in : Adobe, J P Morgan, Flipkart
Printing the left view of a binary tree involves printing the left-most node, at each level, in the binary tree In Time Complexity O(n) and Space Complexity O(n) Asked in : Amazon, EMC2, SAP-Labs
Algorithm to print Binary Tree nodes level by level in reverse order. It means all the nodes at the last level should be printed first followed by the nodes of second last level and so on in Time Complexity O(n) and Space Complexity O(n) and Asked in: Sap Labs, Cisco
Design an algorithm and write code to serialize and deserialize a binary tree. Writing the tree to a file is called 'serialization' and reading back from the file to reconstruct the exact same binary tree is 'deserialization' in Time and Space Complexity O(n) Asked in : Microsoft, Qualcomm, J P morgan, Sandisk
Add number linked list
Segregate even and odd nodes in a Linked List
Linked list is given also, in addition to the next reference, each node has a child pointer that can point to a separate list. With the head node, flatten the list to a single-level linked list in Time Complexity O(n) Asked in : Linkedin, Yahoo, Microsoft
Given the head of a singly linked list, return true if it is a palindrome or false otherwise.
Given Pointer/Reference to the head of the linked list, the task is to Sort the given linked list using Merge Sort.
Rearrange a Single Linked List in Time Complexity O(n) and Space Complexity O(1) such one node selected from start next node from end Asked in : Amazon, Google
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list in Time Complexity O(n) .Asked in : Cisco, Inmobi, Broadcom, OLA, Expedia
Min/Max Heap Implementation
Basic Introduction lecture of heap and heap operations
Given that integers are being read from a data stream. Find median of all the elements read so far starting from the first integer till the last integer. The data stream can be any source of data, example: a file, an array of integers etc Asked in : Google, Amazon, Flipkart, SapLabs, WalmartLabs
Given an array of strings, return all groups of strings that are anagrams Asked in : Snapdeal, MakeMyTrip
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get(key)and set(key,value) Asked in : Facebook, WalmartLabs, Yatra, Makemytrip
find an arrangement of N queens on a chess board, such that no queen can attack any other queens on the board. The chess queens can attack in any direction as horizontal, vertical, horizontal and diagonal way [Asked in : VISA, Intuit]
You are given a string and you are supposed to print all the distinct permutations of the string Asked in : Apple, Cisco, Samsung
Given a keypad as shown in the diagram, and an n digit number, list all words which are possible by pressing these numbers.
Given an integer x and a positive number n, write a efficient algorithm to computes x^n Asked in : Flipkart, WalmartLabs
Given a maze, NxN matrix.matrix[0][0] (left top corner)is the source and matrix[N-1][N-1](right bottom corner) is destination. There are few cells which are blocked, means rat cannot enter into those cells. Rat can move in direction ( forward,down). A rat has to find a path from source to destination Asked in : MakeMyTrip, Yatra, Expedia
[part-2] Given a sudoku puzzle, solve this sudoko puzzle by using backtracking algorithm
You receive a list of non-empty words from the dictionary, where words are sorted lexicographically by the rules of this new language. Derive the order of letters in this language.
There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given the total number of courses and a list of prerequisite pairs, is it possible for you to finish all courses? Desired Time Complexity : O(n) Asked in : Adobe, WalmartLabs, Google
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands in Time Complexity O(Vertices + Edges) . Asked in : Citrix, Informatica, Expedia
A matrix of m*n where each cell in the matrix have Fresh,Rotten and Empty Cell. Write algorithm to find minimum time required so that all the oranges become rotten in Time Complexity O(m*n) and Space Complexity O*m*n) i.e extra matrix space Asked in : Microsoft, Amazon, Expedia
Snake and ladder board is given as matrix, find the minimum number of dice throws required to reach the last cell from source cell in Space Complexity O(n) Asked in : Amazon, Flipkart
Given a directed acyclic graph (DAG) of n nodes labeled from 0 to n - 1, find all possible paths from node 0 to node n - 1 and return them in any order.
The topological sort algorithm takes a directed graph and returns an array of the nodes where each node appears before all the nodes it points to. Asked in : Accolite, Flipkart
Trie is the data structure very similar to Binary Tree. Trie data structure stores the data in particular fashion, so that retrieval of data became much faster and helps in performance Asked in : NetApp, Intuit, Oracle
As part of this community, take advantage of discounts on products and services
that can help you with your career and personal goals.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.