|
|
|
|
|
by mhill
5727 days ago
|
|
I've never had a chance to use dynamic programming in real life beyond school work. For "challenging" algorithm work in real life, I did topological sort for evaluating dependency graph, bloom filter for skipping lookup, NFA for executing regex-like rule graph, Rete for faster rule evaluation, extendible hashing for fast index storage, complex event flow graph with SQL-like nodes. Those are the ones I can remember now. BTW, I did got bit by O(nlgn) vs O(n^2) issue, despite computers being fast nowaday. Once I used bubble sort in a cache system. It was quick and simple. Things work fine for small size cache but slowed down substantially when size > 10,000; n^2 => 100,000,000 ops. Switching to heap sort did solve the problem. So yes, understanding algorithmic complexity does help in real life work. However, 99% of development are run of the mill coding. |
|