基于二叉树
与叶子链表
算法思维对输入的矩形数据进行动态排版,缩进式树状打印与Opengl绘制显示排版结果。
实现了将全部的矩形紧凑封装在一个近似正方形的空间中,提高了空间利用率,减少了内存资源的浪费。
B站算法讲解与展示
简单的使用了Glut库进行Opengl绘制窗体与矩形,首次编译需要配置glut环境,这也是我博客的博文,求关注嘿嘿
配置结束后,记得将解决方案配置设置为Debug x86
,否则glut.h文件会找不到
- 7个数据集,数据需为整数,5和7数据集复杂度高,新增了叶子链表查询后才跑的通
- 按照近似正方形的规则,添加矩形时会
自适应的不断扩充
外接矩形的大小 - 按照
宽度/高度/面积/最大边
排序算法对矩形数据集排序 - 调用
windows文件浏览窗口
,选择本地txt数据集作为输入(矩形格式为 宽 高 数量) - 使用
Opengl显示列表
在窗口中绘制空间利用率
一次性绘制
或左键点击逐个绘制
矩形排版结果(在glDraw.cpp中通过define设置)
数据集5
2 2 256
4 4 128
8 8 64
16 16 32
32 32 16
64 64 8
128 128 4
256 256 2
数据集7
100 100 3
60 60 3
50 20 20
20 50 20
250 250 1
250 100 1
100 250 1
400 80 1
80 400 1
10 10 100
5 5 500