Tech IndustryMay 9, 2019
CiscoJohn360

Besides leetcoding, when have you use data structures and algorithms at work?

I agree most of us don't have to use them directly everyday but there some days when DSA knowledge can provide elegant solutions. What are some cases where you use it?

@Eng
Add a comment
Internet Brands void main May 9, 2019

If you will write a compiler, game or database engine you surely use them. But those serious guys don't hang in Blind.

Oracle ttyl3 May 9, 2019

Dislike. I have done 2/3 you mentioned above

Internet Brands void main May 9, 2019

Tell us more raptor.

Cisco leet.code May 9, 2019

Yes we wrote dfs bfs programs in everyday work

Uber bag. May 9, 2019

Every time someone paid for their ride in cash, I had to solve the coin change problem to minimize the number of coins the rider needed to carry!

SAP Alo Palto May 9, 2019

😂🤣

Yahoo kfoU30 May 9, 2019

This make my day!

CenturyLink ml7hsg6 May 9, 2019

I used linked hash maps, hash maps and some other DS to create my own DS to satisfy the needs at the time.

Atlassian Luffy, M.D May 9, 2019

Yeah, using basic stuctures and knowjng when to use a list vs a hashmap vs a treemap is like half the job. Not sure why interviewing doesn't involve a lot more data flow because it's largely a skill set that LC doesn't test for.

New
JesusC May 9, 2019

I do Frontend with React/Redux. While testing sometimes, you need to create a mock of the store for certain test cases with properties set to specific values. These values can exists in different nested levels of the object, up to 4 levels deep nested in an object - Redux store is basically an object. I created a function that does a depth first search into the store object to update the desired properties. I just love looking at it.

New
cousin May 9, 2019

Working on CV python project. LC practice has definitely made my python cleaner and a bit more efficient.

Yandex Xmto72 May 9, 2019

I once used abstract algebra conception to design fast algorithm for specific problem.

Yelp sJJv80 May 10, 2019

Any details you can give? This sounds interesting and well beyond stupid LC problems.

Yandex Xmto72 May 10, 2019

Yep, I had to optimize linguistics-related data consisting of sets of word forms. These sets sometimes intersected, sometimes not. And if one splits that sets into system of non-intersecting sets, processing could be more efficient. I failed to found an algorithm for this problem in the Google at that time. My initial brute-force approach was too slow. But after some thoughts I found that that system can be built as "classes of equivalence" for particular relation, and wrote a Python script that processed gigabytes of daily data in just 20 minutes. I have no idea if the algorithm was invented before or if it is optimal one. May be, it worth searching again, just in case :)

Amazon BlueAvian May 9, 2019

Implemented a distributed bin packing algorithm in my current project. There were constraints as well as various special cases that affected what could be considered an optimal output.

Atlassian Luffy, M.D May 9, 2019

It's 95-99% recognition of when to look up an efficient way and usually then to find a library where somebody already implemented it. We had a bad performance bug because somebody implemented bad (n^3 plus other factors) algorithm for string matching. OTOH, there were good libraries to do what we needed to do, so it wasn't even like coding it up out of CLR or something.

Cisco John360 OP May 18, 2019

Is that why Jira is so slow? 😅

Atlassian Luffy, M.D May 18, 2019

Cloud or server? :) (And I think everyone in MTV knows that Confluence cloud is not where we want it to be performance-wise, and it's a big thing we're working to improve)

IBM Elyuceteco May 10, 2019

I wrote a tree traversal to generate a mapping of continents to datacenters