Tl;dr: Both is fine!
We have different levels of tags: some, like complexity-theory, cover entire fields of research; others, like rice-theorem, relate to a very specific thing.
The idea is to always have a little of everything: "big" tags to broadly classify the question, and then as many and as specific tags as you can fit in the limit of five.
For instance, I might tag a question that asks about how to implement queues using linked lists as
data-structures lists linked-lists queues
If it's more about the algorithm, I might add algorithms. If there's an analysis aspect to it, I might instead add algorithm-analysis, and maybe drop either of lists/linked-lists for runtime-analysis/space-analysis. As you see, it's not an exact science: when editing, I try to represent the focus or perspective of the question as well as possible. Questions I might ask are:
- How relevant is it that the lists are (single-)linked?
- Is the asker specifically interested in space costs? (The default assumption is runtime, so in that case I'd always add the tag.)
- Does the asker already have the algorithm and wants it analysed, or are they looking for an algorithm first? (Then, analysis may be better posted as separate question.)
- If it's about an analysis, is it about the worst case (sadly, the default) or average-case?
As a general rule of thumb, if I can't decide in which direction to tag, chances are that the question is too broad. If you're asking for queue implementations using both single- and double-linked lists and a comparative analysis of runtime and space in worst and average case -- well, we're looking at a 15-page paper, so that question will have to be split up!