为准确识别出使用相同算法的学生程序,提出基于程序向量树和聚类的学生程序算法识别方法。解析程序生成单词序列和抽象语法树,获取程序词法和语法结构信息;利用word2vec模型学习程序单词向量表示,构造程序向量树融合程序特征;采用递归自动编码器模型获取程序向量,执行k-means聚类,将使用相同算法的程序按照特征表示相近程度划分到相同类别,完成算法识别任务。实验结果表明,该方法可以有效获取程序重要特征,具有较好的算法识别准确度。