Or am I incorrect in thinking the two are discrete concepts unable to be separated?
Or am I incorrect in thinking the two are discrete concepts unable to be separated?
Manipulation of the linked list often requires a traversal. Also, inserting data between nodes also require a little juggling of the node pointers. These are all what you can call 'algorithms'. Data structures can exist and be learnt somewhat independently of their underlying algorithms, but it is rarely useful like that.
There are however pure algorithms that do not care much about the underlying data structure - insertion sort is an example. Most data structures though aren't very much useful when separated from their fundamental algorithms.
Hope that answers your question.
I found Sedgewick's Algorithms to have quite good coverage of data structures, however.
Can't find either my copy or online references.