<分区>
在a recent question我被鼓励尝试使用一些基本的数据结构,例如二叉树、红黑树等,然后再处理四叉树等其他问题。
我在 C 方面的经验相当有限,除了简单数据(如 2D 网格、图像存储和字符串)之外,我害怕使用指针,尽管我熟悉引用、malloc、realloc 和其他琐碎的操作,但我不习惯 C 的“困难”部分,这使得此类结构很难从理论上解决,我不想只将工作代码复制到其中。
为了处理基本树,我想知道的是它们的实际应用。一种带有一些指导方针的练习(类似于“不要这样做,否则会降低性能”或“不要那样做,否则会泄漏内存”),只是为了能够了解实际目的。即使我背了理论,我仍然不知道要进行什么样的实验才能理解它们的应用。
我主要尝试使用纯 C,在阅读时我并不真正理解 C++/# 代码,尽管我对 Lua 语言有一定的掌握以防万一。
到目前为止,我一直在结合 Lua 进行编码以进行字典搜索和设计数据(以及一些逻辑部分),并将所有视频和音频存储、繁重的数学和“世界”存储留在 C 中(使用网格结构和不太-强制碰撞检测方法(使用线性阵列将对象放置在 map 的 1/24 中,代码方面并不复杂)。因为我总是可以依靠 Lua 的坚实代码来实现某些功能,所以我忽略了对 C 的更多学习,现在我正在为缺乏知识而付出代价。
那么,提出一个问题:“数据树的基本用例是什么?”到目前为止,我唯一的想法是使用 splay 树将字符串(文件名?)与纹理相匹配。那是有效的使用吗?我应该从那开始吗?