算法分析与设计exp2-利用区间树实现课表管理

代码地址
这是2020春中科大算法设计实验2:用区间树实现课表管理。使用纯C语言进行实现,附带简单注释,并包括两个样例测试数据用于检测代码是否正确运行。实验设计思路是通过代码编写增强对红黑树和区间树的理解。

简单介绍一下红黑树和在红黑树基础上拓展的区间树,

红黑树的定义

算法分析与设计exp2-利用区间树实现课表管理_第1张图片

红黑树的左旋:

算法分析与设计exp2-利用区间树实现课表管理_第2张图片

红黑树的插入

算法分析与设计exp2-利用区间树实现课表管理_第3张图片
算法分析与设计exp2-利用区间树实现课表管理_第4张图片

红黑树插入的调整

算法分析与设计exp2-利用区间树实现课表管理_第5张图片
算法分析与设计exp2-利用区间树实现课表管理_第6张图片
算法分析与设计exp2-利用区间树实现课表管理_第7张图片
算法分析与设计exp2-利用区间树实现课表管理_第8张图片

红黑树的删除

算法分析与设计exp2-利用区间树实现课表管理_第9张图片
算法分析与设计exp2-利用区间树实现课表管理_第10张图片

红黑树删除调整

算法分析与设计exp2-利用区间树实现课表管理_第11张图片
算法分析与设计exp2-利用区间树实现课表管理_第12张图片
算法分析与设计exp2-利用区间树实现课表管理_第13张图片

红黑树扩展:区间树

算法分析与设计exp2-利用区间树实现课表管理_第14张图片
算法分析与设计exp2-利用区间树实现课表管理_第15张图片

区间树核心算法:区间查找

算法分析与设计exp2-利用区间树实现课表管理_第16张图片
可以证明,如果区间树中存在与待查找区间重叠的区间,用这种查找方法必定可以找到一个有重叠的区间。在该项目中并没有用到这种查找方法,但是在代码注释部分有区间树查找的具体实现。

拜托了,都看到这里了就顺手点个赞吧~

你可能感兴趣的:(课程内容总结)