acm是用来提升算法构造能力的,对制作功能性app还是有很大帮助的,如果主要是针对界面友好的话,还是建议学习大数据分析!
算法不分语言。通俗的讲算法是解决问题的方法,它可以用任何语言实现(就是核心思想是一样的,但用不同语言实现步骤有差别).所以学算法不需要软件不特定什么语言(当然对应语言的编译器你得有的)
CSDN、简书、慕课网、掘金、开发者头条
几个不错的在线评测系统(百度都有,我就不给网址了):luogu,poj,loj,hdu,uva(需要vpn),code forces