3 ms·
I wish US bills were different sizes. If I have a wallet full of UK currency, finding the right note is O(1). If I have US currency, it's O(n).
by abstractbill 17y ago
I wish US bills were different sizes. If I have a wallet full of UK currency, finding the right note is O(1). If I have US currency, it's O(n).
- ComputerGuru 17y agoNo it's not. Sort them upon entry into the wallet.
- abstractbill 17y agoYou just shifted the overhead from removal to insertion. Having different sized notes removes the overhead entirely.
- run4yourlives 17y agoHow many bills do you carry? I live in Canada, the land of the debit card. It's rare for me to actually even carry cash anymore.
- sp332 17y agoI like your idea, but sorting on insertion is O(log(N)), which is faster than searching an unordered list and just as fast as having different-sized bills.
- wooster 17y agoWith different sized bills: * Sorting is O(N) [see spaghetti sort: http://en.wikipedia.org/wiki/Spaghetti_sort http://en.wikipedia.org/wiki/Spaghetti_sort] * Retrieval is O(1). Further, retrieval is O(1) even in unordered sets, so sorting is irrelevant. (Also, how is sorting on insertion O(log(N))? For each new bill, finding the correct spot is log(N), so you're still looking at O(N log(N)).)
- sp332 17y agoI only meant for inserting one bill, so N is the number of bills you have already. Using a binary search on a sorted list, either to find a specific denomination you want or to find the correct spot for a new bill, is O(log(N)).
- axod 17y agoAlso the fact that the smallest note in the UK (£5) is approx 10 times the value of the smallest note in the US ($1) helps enormously. Seriously, what's the point of a $1 note? To irritate people everywhere trying to feed them into vending machines?