This may be cultural (or even familial) thing, but I always curl two socks up into a ball so that they stay together. When I need a pair, I just take one ball, uncurl it, and voila.
This may be cultural (or even familial) thing, but I always curl two socks up into a ball so that they stay together. When I need a pair, I just take one ball, uncurl it, and voila.
If you have many different styles, you need to go hunt around and find matches. Curl or not just delays the matching problem, it does not solve it.
Having all the socks be the same makes matching an O(1) problem.
Of course, homogeneity makes this even faster, but you lose the benefit of choice, variability and fashionableness. Quid pro quo.
Why not do a O(1) Pair folloed by an O(1) Search.
Finally, my graduate-level algorithms class comes in handy in real life.
Laundry-folding happiness is increased significantly when I don't have to play "Find-the-mate" every time I pick up a sock (which applies to my kids' socks as well, since they are all patterned, but thankfully my son likes wearing party-colored socks, so I only need to match on shape).
I have two "vintages" of socks -- the old ones that I hate, and the newer ones that I prefer, roughly equally divided. I would donate + re-buy if I had more than two flavors of socks.