Assumptions when selecting an algorithm or data structure
You can categorize data structures by their need of memory or processing power. Each rated for writing or reading purpose. Some data structures are optimized for searching, some only for fast storing.

Ask yourself how many data you're going to store.
If it's a lot, you have to choose the right algorithm, if not it doesn't really matter.

Another question could be, do you need a growing data structure or just a ring buffer for example.

Regarding data manipulation with algorithms, there is a bunch of considerations to make.
With growing data, how much does memory usage, processing power, external storage capacity and access times grow?
The big O notation would be a term to refer to.
Here too, it's important if your 'manipulation' is reading, searching or writing? 

You will find an algorithm or a data structure out there for every use case.