Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 946633
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T22:57:01+00:00 2026-05-15T22:57:01+00:00

There was a post on here recently which posed the following question: You have

  • 0

There was a post on here recently which posed the following question:

You have a two-dimensional plane of (X, Y) coordinates. A bunch of random points are chosen. You need to select the largest possible set of chosen points, such that no two points share an X coordinate and no two points share a Y coordinate.

This is all the information that was provided.

There were two possible solutions presented.

One suggested using a maximum flow algorithm, such that each selected point maps to a path linking (source → X → Y → sink). This runs in O(V3) time, where V is the number of vertices selected.

Another (mine) suggested using the Hungarian algorithm. Create an n×n matrix of 1s, then set every chosen (x, y) coordinate to 0. The Hungarian algorithm will give you the lowest cost for this matrix, and the answer is the number of coordinates selected which equal 0. This runs in O(n3) time, where n is the greater of the number of rows or the number of columns.

My reasoning is that, for the vast majority of cases, the Hungarian algorithm is going to be faster; V is equal to n in the case where there’s one chosen point for each row or column, and substantially greater for any case where there’s more than that: given a 50×50 matrix with half the coordinates chosen, V is 1,250 and n is 50.

The counterargument is that there are some cases, like a 109×109 matrix with only two points selected, where V is 2 and n is 1,000,000,000. For this case, it takes the Hungarian algorithm a ridiculously long time to run, while the maximum flow algorithm is blinding fast.

Here is the question: Given that the problem doesn’t provide any information regarding the size of the matrix or the probability that a given point is chosen (so you can’t know for sure) how do you decide which algorithm, in general, is a better choice for the problem?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T22:57:02+00:00Added an answer on May 15, 2026 at 10:57 pm

    You can’t, it’s an imponderable.

    You can only define which is better “in general” by defining what inputs you will see “in general”. So for example you could whip up a probability model of the inputs, so that the expected value of V is a function of n, and choose the one with the best expected runtime under that model. But there may be arbitrary choices made in the construction of your model, so that different models give different answers. One model might choose co-ordinates at random, another model might look at the actual use-case for some program you’re thinking of writing, and look at the distribution of inputs it will encounter.

    You can alternatively talk about which has the best worst case (across all possible inputs with given constraints), which has the virtue of being easy to define, and the flaw that it’s not guaranteed to tell you anything about the performance of your actual program. So for instance HeapSort is faster than QuickSort in the worst case, but slower in the average case. Which is faster? Depends whether you care about average case or worst case. If you don’t care which case, you’re not allowed to care which “is faster”.

    This is analogous to trying to answer the question “what is the probability that the next person you see will have an above (mean) average number of legs?”.

    We might implicitly assume that the next person you meet will be selected at random with uniform distribution from the human population (and hence the answer is “slightly less than one”, since the mean is less than the mode average, and the vast majority of people are at the mode).

    Or we might assume that your next meeting with another person is randomly selected with uniform distribution from the set of all meetings between two people, in which case the answer is still “slightly less than one”, but I reckon not the exact same value as the first – one-and-zero-legged people quite possibly congregate with “their own kind” very slightly more than their frequency within the population would suggest. Or possibly they congregate less, I really don’t know, I just don’t see why it should be exactly the same once you take into account Veterans’ Associations and so on.

    Or we might use knowledge about you – if you live with a one-legged person then the answer might be “very slightly above 0”.

    Which of the three answers is “correct” depends precisely on the context which you are forbidding us from talking about. So we can’t talk about which is correct.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a PHP function that allows users to pick which categories there post
There is an interesting post over here about this, in relation to cross-application flow
There was a post this morning asking about how many people disable JavaScript. Then
There's another post on SO relating to .NET -- not us. Pure PHP. Trying
Before I start, I know there is this post and it doesn't answer my
There are many ASP.MVC blog post bits and pieces scattered over different web sites,
Is there any way (in Java Servlet) to determine whether a HTTP POST or
Is there any way instead of a JS hack where I can post from
Can someone post any simple explanation of cache aware algorithms? There are lot of
I want to POST an URL using CURL and php. There is a big

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.