国际信息学奥林匹克竞赛International Olympiad in Informatics,IOI),是面向中学生的一年一度的信息学科竞赛。第一届国际信息学奥林匹克竞赛于1989年在保加利亚的布拉维茨举行。

国际信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目有相当的难度,解好这类题目,需要具备很强的综合能力。首先是观察和分析问题的能力;第二是将实际问题转化为数学模型的能力;第三是灵活地运用各种算法的能力;第四是熟练编写程序并将其调试通过的能力;第五是根据题目的要求,自己设计测试数据,检查自己的解法是否正确,是否完备的能力。能够参加IOI的选手应该具有很强的自学能力和动手能力, 需要学习有关组合数学、图论、基本算法、数据结构、人工智能搜索算法及数学建模等知识,还要学会高级语言和编程技巧,要具备很强的上机操作能力。国际信息学奥林匹克竞赛鼓励创造性,在评分的标准上给予倾斜,创造性强的解题方法可以拿到高分
IOI的采用C,C++,Pascal作为参赛的三种程序语言。
2016年的IOI采用Python,Pascal,C,C++,Java五种语言作为参赛语言。 
本课程是数据结构的第二部分, 介绍层次结构(树)和网状结构(图)