算法在移动应用程序开发环境中的重要性?

Tea*_*App 5 algorithm android cocoa-touch ios

了解构建移动应用程序的算法是否真的很重要?我对开发工具和设计模式以及对OOP和MVC的深入了解有深刻的理解.

那么,是否需要了解硬核算法才能成为优秀的移动应用程序开发人员?


我可以理解,如果你想创造游戏,那么很明显,我们必须知道所有与AI相关的算法才能胜任.但我要求的只是简单的数据驱动的应用程序构建.

Hig*_*ark 5

您编写的每个计算机程序都实现一种算法或一组算法.如果您担心程序的质量(故意模糊的术语),那么您必须关注算法的质量.

例如,如果您希望程序快速(这是程序可能具有的质量),那么对于同一问题,最好选择快速算法而不是慢速算法.如果你希望你的程序适合少量的RAM(另一个品质因数),最好选择一个在少量RAM中运行的算法,而不是用GB吞噬它的算法.

因此,软件开发人员的关键知识包括如何分析算法的速度,内存使用以及您可能有兴趣优化的所有其他质量因素的知识.当然,分析算法的一种方法是引用告诉您想要了解的内容的文本.

最后我断言你确实需要知道硬核算法才能成为一名优秀的开发人员,在移动应用程序开发方面,我认为没有任何理由可以修改我的信念.当然,我不希望你知道可能存在的所有算法,但是在所有基本教科书中找到的主要算法,以及特定于你的应用领域的算法,是的,你必须知道那些流氓!

  • 我同意......虽然技术上可以在没有算法知识的情况下编写程序,但知道算法确实可以提供帮助.在我自己的应用程序中,我使用SQLite作为我的后备存储.但我使用自己的(和Apple的)算法在内存中缓存索引并排序/过滤.这大大加快了我的应用程序,因为我不必返回数据库进行排序或过滤.如果没有算法知识,我的应用程序会慢得多. (2认同)
  • 事实上,我认为你更有可能需要了解移动设备上的高效算法,因为移动设备比任何其他平台都受到更多限制. (2认同)