Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Problem Solving Using Backtracking Algorithm Design Paradigm
Rating: 4.4 out of 5(15 ratings)
931 students

Problem Solving Using Backtracking Algorithm Design Paradigm

Design and Analysis of Algorithms, Backtracking
Created byPriya S
Last updated 1/2024
English
English [Auto],

What you'll learn

  • To understand the basics of Backtracking
  • To apply backtracking for solving sum of subset problem
  • To apply backtracking for solving N-Queens problem
  • To apply backtracking for solving Floyd-Warshall algorithm
  • To apply backtracking for solving Hamiltonian circuit

Course content

1 section5 lectures43m total length
  • Introduction4:00

    Explore backtracking as a search that enumerates all solutions using state space tree. Apply implicit and explicit constraints and depth-first search to problems like queens, subset problem, and graph coloring.

  • N-Queens Problem8:55

    Explore the n-queens problem on an n by n chessboard, placing n queens so none attack each other, using backtracking and a state space tree to find solutions.

  • Sum of Subsets using Backtracking11:12
  • Hamiltonian Circuit Using Backtracking5:09

    Explore Hamiltonian circuit construction using backtracking on a graph, tracing a state space tree, backtracking from dead ends to reveal valid cycles through all vertices.

  • Floyd Warshall Algorithm using Backtracking14:20

    Explore the Floyd-Warshall algorithm for finding shortest paths between every pair of nodes, build and update the adjacency matrix, and understand its n cubed time complexity.

Requirements

  • No programming experience needed

Description

This course is designed to provide a comprehensive understanding of backtracking algorithms, an essential problem-solving technique in computer science and algorithm design and to learn fundamental techniques for designing and analyzing backtracking algorithms. Backtracking is particularly useful for solving problems that involve making a sequence of decisions to reach a solution, where each decision depends on the previous ones. Throughout the course, students will understand the basic principles and concepts behind backtracking algorithms and students will explore the recursive nature of backtracking and its connection to problem-solving along with theoretical foundations, practical applications, and implementation details of backtracking algorithms.  In this course, real-world applications where backtracking is employed is examined, such as in artificial intelligence, robotics, scheduling, and network design. The skills acquired in this course are valuable for anyone pursuing a career in computer science, data science, artificial intelligence, or algorithm design. Students can apply backtracking to solve problems involving combinatorial optimization, constraint satisfaction, and decision problems. By the end of this course, students will have a solid foundation in backtracking algorithms, enabling them to tackle complex problems, make informed design decisions, and apply this powerful technique across various domains in computer science and implement backtracking algorithms in popular programming languages, emphasizing code readability and efficiency.

Who this course is for:

  • Students, IT Professionals, Management Professionals, Teaching Faculty, Researchers
  • Students who is interested to learn analysis of algorithms using backtracking technique