1 / 41

Roadmap For Data Structures | Roadmap To Learn Data Structures And Algorithms |

This presentation explains the roadmap of data structures that could help you prepare for competitive programming. This tutorial aims to prepare a roadmap to learn data structures and algorithms.<br><br>This presentation will cover the following concepts:<br>1. Introduction<br>2. Programming language<br>3. Prerequisites<br>4. Data Structures<br>5. Algorithm<br>6. Online coding challenges<br>7. Some Tips/advise<br><br><br>

Simplilearn
Télécharger la présentation

Roadmap For Data Structures | Roadmap To Learn Data Structures And Algorithms |

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agenda

  2. Agenda Programming Languages 01 01 Prerequisites 02 Data structures 03 Algorithm 04 Online Coding Challenges 05 Some tips and advice 06

  3. Click here to watch video

  4. Programming Languages

  5. Programming Languages 1. C Programming 2. C++ Programming 4. Java Programming 3. Python

  6. Programming Languages 01 C is a structured programming language. It may be used to create software such as operating systems, databases, and compilers. The C language includes a rich library with many built-in functions. C Programming simpllearn i

  7. Programming Languages 02 C++ is a general-purpose programming language. It may be used to create OS, browsers, games, and so on. C++ supports around seven different styles of programming. C++ Programming simpllearn i

  8. Programming Languages 03 Python is the most preferred language because of the syntax. Loaded with lot of libraries for scientific computing. Working and deployment is easy in any environment Python Programming simpllearn i

  9. Programming Languages 04 Java helps in building thousands of applications. Many software and development tools are developed. Popularly used in websites like Google, YouTube, Amazon, etc. Java Programming simpllearn i

  10. Prerequisites

  11. Prerequisite Basic Syntax Datatypes Operators, Variables, functions Conditional Statement, loops OOPs Programming

  12. Data Structures

  13. Data Structures Top 1. Array 2. Linked list 4. Queue 3. Stack 6. Graph 7. Heap 5. Tree

  14. Data Structures 01 An array is a group of objects that are stored in adjacent memory regions. Most data structures employ arrays to implement their algorithms. Array

  15. Data Structures 02 Linked list is a linear data structure which is made up of nodes. • Linked list are faster at insertion and deletion. Linked List

  16. Data Structures 03 A stack is an Abstract Data Type commonly used in most programming languages A stack is a LIFO based data structures. Top Stack

  17. Data Structures 04 Queue is an abstract data structure that is comparable to Stacks. A queue, unlike a stack, is open at both ends. Queue is a FIFO based Data structure. Queue

  18. Data Structures 05 A tree is a type of hierarchical data structure that is made up of nodes. Each node has just one parent, but multiple children. Tree

  19. Data Structures 06 A graph is a nonlinear data structure made up of nodes and edges. Graphs are used to represent networks. Graph

  20. Data Structures 07 A Heap is a special Tree-based data structure in which the tree is a complete binary tree. Heaps are of two types: Max-Heap and Min-Heap. Heap

  21. Algorithm

  22. Algorithm 2. Divide and conquer 3. Greedy approach 1. Searching and Sorting 5. Backtracking 4. Dynamic Programming

  23. Algorithm 01 Searching Algorithms are intended to look for or retrieve an element from any data structure in which it is stored. A Sorting Algorithm is used to reorder the items of an array or list based on a comparison operator on the elements. Efficient sorting is critical for enhancing the efficiency of other algorithms that need input data to be in sorted lists. Searching/Sorting simpllearn i

  24. Algorithm 02 This algorithm aims to divide the problems in small parts and then solves them. There are several algorithms which obey this approach such as quick sort, merge sort, Strassen’s algorithm etc. Divide and conquer requires that there must be two or more sub-problems Divide & Conquer simpllearn i

  25. Algorithm 03 Greedy algorithm aims to assemble a solution by constantly selecting the next piece that gives the most benefit Greedy is best suited to problems when picking locally optimal also leads to a global solution. Greedy algorithm is used to solve Huffman coding, job sequencing, knapsack problems, etc. Greedy Approach simpllearn i

  26. Algorithm 04 A dynamic programming technique produces a set of smaller subproblems and then uses the subproblem solutions to solve the larger problem. Dynamic programming is basically optimization of recursion problems. Time complexity can be reduced from exponential to polynomial with a simple optimization. Dynamic Programming simpllearn i

  27. Algorithm 05 Backtracking is an algorithmic approach for recursively solving problems by attempting to develop a solution progressively, one piece at a time Then, discarding any solutions that do not fulfil the problem's criteria at any point in time. Backtracking is used to solve problems like N-queens , Sudoku, Hamiltonian cycle, etc. Backtracking simpllearn i

  28. Online Coding Challenges

  29. Online Coding challenges 1. HackerRank 3. Geeks Coding Challenge 2. Codevita 4. Code Jam 5. Codechef

  30. Online Coding challenges 01 HackerRank is a technology hiring platform that is the standard for assessing developer skills. HackerRank organizes various contest like HourRank, Hackfest, Hack the interview, etc. hackerRank

  31. Online Coding challenges 02 Codevita is a coding platform where one can compete against people from all over the globe for the World's Best Coder title. Codevita is organised by tata consultancy services. Code-vita

  32. Online Coding challenges 03 Geeks Coding Challenge (GCC) is a 3 Day Coding Event In GCC, learners can participate and challenge themself to solve coding problems to win prizes. Geeks Coding Challenge

  33. Online Coding challenges 04 Google Code Jam is a Google-hosted and-managed international programming competition. The competition consists of a collection of algorithmic tasks that must be completed within a specific time limit. Code Jam

  34. Online Coding challenges 05 CodeChef is a website that aims to assist programmers succeed in the fields of algorithms, computer programming, and programming competitions. CodeChef organizes various contest like cook-off and lunchtime. CodeChef

  35. Some tips/Advise

  36. Some Tips/Advise If you can't solve a problem in under an hour, put it aside for the time being and move on. You may return to it at a later time.

  37. Some Tips/Advise Even if you answer a question correctly, I recommend that you read the discussion and look at the other solutions submitted. You could come up with a better way to answer the question.

  38. Some Tips/Advise If you're having trouble understanding a solution, I recommend doing a dry run of the code.

More Related