
夏商周被古人称为三代,为什么“夏”和“周”都曾被后世政权采用为国名,唯独“商”却没有?
就不说「宋就是商」这个梗了,其实国名都是有其现实的考虑的,但是商占不到任何一边,所以选的比较少了。具体来分析的话, 夏有异族优势,周有地域、文化优势,商夹在中间,又地处中原,不太容易被选中。在元朝坏了规矩之前,国号都是取春秋古国之名。儒家最喜欢说的例子: 汤,七十里王天下,文王,百里而王天下就是说商和周本来都是小国,但是因为受了天命,所以能够成为天下之主。后世的皇帝有样学样,称帝的时候取法三代,突…

为什么Rust 标准库的 TreeMap 采用 B 树实现,而不是常用的红黑树?
其实这个答案在rust的docs网站上已经有个清晰的阐述,我接下来只是把这些阐述以自己的语言搬运过来,链接在最尾。 简单来说,BST确实是理论上内存数据结构的最优解,但是有个前提:内存是真的均质随机访问内存。这里给出一个定义,均质随机访问内存即主存拥有在任意上下文场景下,访问任意地址,都有着非常相似的性能。但是很不幸,现在的内存并不是这样子的。 在计算机当中,由于cache的存在,访问临近位置的内存在平均意义下会…