摘要:There are numerous of program code resources on the web which are solutions to programming problems on online judges. These program code resources are not organized for students to learn data structures and algorithms although they contain much knowledge of data structures and algorithms. For this reason, we propose an approach to organize the program code resources together with the programming problems systematically in terms of algorithms and data structures. This approach is based on the discovery of associate relationships between data structures and algorithms by applying ontology techniques. 1073 program codes on the web which are solutions to 480 problems distributed on online judges were mined in our experiment to discover the relationships between the data structures and algorithms used in the program codes. With the discovered relationships, the program codes and the corresponding problems were organized into learning materials in terms of algorithms and data structures. We believe that it would be useful for students to learn the programming knowledge.