Knowing as in being able to recall the specifics of implementation? No. For two reasons: 1. Unless your job involves custom data structures, you simply won't remember them after a few years. 2. If you do want to use a specific algorithm, in most cases you want a cache-friendly version of it. The naive implementations rarely have the characteristics you want in practice.
Knowing as in knowing rough categories and being able discuss big O characteristics when needed? Super useful. I could maybe implement one or two dictionaries. Badly. But I know what alternatives there are, what names to google for if I ever do need a custom dictionary, and how to define what I'm looking for (for example lockfree inserts, or ordered keys, or max 2 memory lookups per key, etc.)