小径分岔的兔子洞

2025-04-13 第15周 星期日

13:04

周五同学约去骑车,我没去,因为我要刷题。今天有小王子的电影,我没去,因为我要刷题。今天同学约 mock,我加入了,因为我要刷题,而且互动比我自学效果更好。

17:21

跟班里最强的同学练了一遍,好厉害!人家随便都在10分钟以内就写完了,而且人家还练了七遍!我还没练到三遍,跟人家差远了。加油!

18:32

曾经想实现一个队列书架,先进先出,不看完以前放进去的,就不能看新的。

后来发现问题不是只看新的,而是没看旧的。旧的越堆越多,似乎应该换成 priority queue,每次加入队列的时候按想看程度排一下,如果有些书因为想看程度低而总是排不到,那干脆就别看了。

刚才让 Claude 写了个网页版的原型,还不错。加入一本书的过程中会让你从两本书里取舍,真的可以把最想看的书顶到最上面去。我也加了一个重新排序的功能,通过问一些问题重新 heapify,这个过程估计也挺好玩。在这基础上还可以加一些附加功能,比如某本事你排了很多次都在第一,你今晚就该看这本书了。某本书一直排得很靠后,要不要考虑移除书架?

实际场景中,书其实是分类别的。比如有一些适合大块时间读的书,有一些适合的通勤时顺便看的书,有一些适合旅行的时候看的书,还有一些适合听的书,可以允许用户分类别分别创建列表(书架)。

其实除了书单以外,还有很多别的东西也可以用 heap 来做。比如想开发的 app 的想法清单,也可以用这个方式来整理。比如现在这个 idea,就可以被排在“一个书影音资料库的视觉化网站”的前面,“follow up news reader”的后面。