欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

仅用C语言可以构造出Python中Dict那种数据结构吗?

程序员文章站 2022-04-01 16:54:42
...
查找,插入,删除的时间复杂度能一样不?

回复内容:

CPython的dict就是用纯C实现的嗯:
cpython/dict-common.h at master · python/cpython · GitHub
cpython/dictobject.c at master · python/cpython · GitHub Python就是用c实现的,你说可以不可以?
另外,c实现的这种哈希表+链表的二维数据结构,其实也有实例:memcached中的缓存就是同一种数据结构。
只不过,在python里面,链表用于维持有序性(foreach/push/pop的时候用到),而mc中,链表则用于淘汰算法LRU。 没有c语言干不了的活,只有适合不适合。 当然可以,官方的Python就是C语言实现的。从另一方面讲,这两门语言是图灵等价的,所以是可以的。 Python一般就是CPython,它的Dict不就是c写的吗 这和是什么语言没关系吧,只要这个语言是图灵完备的就可以,当然难易程度另说 你需要Python源码剖析 (豆瓣)