leetcode
接收订阅广告系统
介绍
ADS(Advancing
data
structre)正在学习工作空间/实验室以了解数据结构和算法。
使用的编程语言是GO(Golang)。
复杂度研究总结:
动态数组:
将新数组的大小加倍并在原始数组已满后复制旧数组。
获取:O(1)ST
设置:O(1)ST
插入:-end-
O(1)
摊销分析后,-Start/Middle)
-
O(n)
遍历:O(n)T,O(1)S
链接列表:
不需要内存一个接一个分配,将下一个节点指向当前节点
Get/Set:
O(i)ST
Insert:
begining:
O(1)ST;
结束:O(1)ST;
中间:O(i)TO(1)S
初始化/复制:O(n)ST
遍历:O(n)TO(1)S
哈希表:
可以存储与数组不同的任何键数据类型,稍后必须使用哈希函数将键转换为
int
。
冲突:如果键相同,则存储在具有相同哈希索引上的键值对的链接列表中。
调整大小:哈希表足够智能,可以根据数组大小和链接列表大小识别调整大小。
插入/删除/搜索:O(1)ST,O(n)-最坏情况初始化:O(n)ST
堆:
LIFO(后进先出
2021-06-30 13:09:02
5KB
系统开源
1