Lua 打印 Table

之前在 Lua 代码的编写中写过一些打印表的函数用于调试,这次在看 z.lua 的实现中看到了非常完美的打印表的方法,于是在将代码改得更规范后记录一下: 使用 luacheck 检...

2023 Feb 11 · 1 min · vaaandark

垃圾回收

之前学习了 Lua 的 Table 和协程,对 Lua 中另一个重要模块 GC 还有很多疑问,这次就来学习一下。 GC 简介与策略分类 在计算机科学中,垃圾收集(GC)是一种自动内存...

2022 Sep 17 · 7 min · vaaandark

说说链表

最近看到了一些关于侵入式和非侵入式链表的讨论,决定研究一下它们两个。 侵入式和非侵入式链表的区别 这里的侵入是相对于链表的指针域来说,所以最主要...

2022 Aug 14 · 2 min · vaaandark

Lua Coroutine

Lua 的一大特色就是协程的使用,在解释型语言中,如果不考虑嵌入到较为低级的语言(如 C 语言)中,就只需要操作调用栈并保存好上下文状态即可。但是 Lua 并...

2022 May 13 · 6 min · vaaandark

Lua Table

之前学习 Lua 的时候就对它的 Table 很感兴趣,最近在看 Lua 解释器的源码,因此就想研究一下具体是怎么实现这个 Lua 之中最为重要的数据结构的。 Lua Table 简介 在 Lua 语言之...

2022 May 11 · 7 min · vaaandark

斐波那契堆

联创 Lab 组新人任务第一弹。 关于斐波那契堆 结构与特点 斐波那契堆是由一组最小堆有序树构成的。每个节点的度数为其子节点的数目。树的度数为其根节点的度...

2022 Jan 31 · 2 min · vaaandark

左偏红黑树

联创 Lab 组新人任务第一弹。 关于LLRB 定义 根节点是黑色的。 红色节点的儿子一定是黑色的。 任意节点到任意叶子的最短路径上都有相同数量的黑色节点。 黑...

2022 Jan 31 · 2 min · vaaandark