作者:朱金灿
来源:clever101的专栏
搞懂算法的四个层次
核心算法可以算是一个软件的核心技术。比如有一个现成的算法代码,怎样才算彻底搞懂它?有哪些评价标准?我想到了四点:
1.应用层次
应用层次就是你知道算法的功能是什么,输入是什么,输出是什么,能写调用程序把它调用起来。
2.原理层次
原理层次就是你能把算法所蕴含的数学或物理或其它业务意义弄明白,用文字和数学公式表达出来。当然不是所有算法都有数学或物理或其它业务意义。
3.代码层次
代码层次就是看着代码你能用文字把它的流程描述出来,能绘制处理流程图。
4.改进层次
改进层次就是你能指出它的不足在哪里,哪些地方可以优化。当然这是最高层次了。
维护一个算法代码需要做哪些工作
明白了上面的四个层次,我们实际上也明白了维护一个算法需要做哪些工作呢?首先确保能用起来的话得有接口文档,调用测试程序和测试数据。其次算法维护文档得至少包含三部分对应原理层次、代码层次和改进层次,这三部分分别是:原理阐述部分、流程描述部分和改进设想部分。