Coder Social home page Coder Social logo

tsp's Introduction

Implementing the 2-approximation Algorithm for TSP

Use the algorithm found in CLRS 35.2.1 and in the Piazza Note 8. Use Kruskal’s MST algorithm, at the end of Note 5, instead of Prim’s, using Union-Find and Heap data structures that you implement.

Your program should read from standard input a sequence of integers separated by whitespace. The first integer will be n, the number of vertices in the graph. (Vertices will be labeled 0 through n − 1.) There will then be n(n − 1)/2 triples of integers, each representing an edge. The first two integers of each triple represent the edge’s endpoints and the third number represents the positive edge weight.

The input may be assumed to be correct, and represent a complete, simple, undirected graph with all triangles of edges satisfying the triangle inequality. Your program should output each vertex exactly once with a space separating each vertex, representing the sequence of vertices in your tour (it is implied that the tour goes back to the starting point at the end). Your program should output nothing else. For exampl:

echo "3 0 1 1 2 1 2 2 3 3" | TSP 0 1 2

tsp's People

Watchers

Alec Luna avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.