Algorithms aren't as important as data structures.
Data structures are what programming is mainly about. Given the right data structures, the algorithms will naturally fall out from them.
Likewise the wrong data structures will thwart your ability to design an algorithm to solve the problem.
If you're having a problem with your architecture, it's likely because you're modeling the data wrong in some way.