应用与算法的困惑

我今年已经大三,在学校的安排下,我暑假报名参加了ACM/ICPC国际大学生程序设计竞赛培训,可是我之前只有那么一点的学习经历,倒是在J2EE方面有所学习,我已经面临就业问题,想请教一下两者之间的选择关系。
我感到困惑的是:J2EE方面很强调OO思想和设计模式,可是算法和数据结构在这里并得不到很好的应用,譬如数据结构,我们平时用到最多的反而是最简单的ArrayList,HashMap,而一些图论方面的东东完全用不上。算法方面更是没有关联。
传统的教学与开发应用之间如何更好的过渡呢?
[该贴被jiwengang520于2007年08月14日 20:56修改过]
[该贴被jiwengang520于2007年08月14日 21:03修改过]

这是两个不同方向,需要自己根据兴趣选择。