unicstl/README.md

1.3 KiB

unicstl

简介

全称: Universal C standard library

基于C语言实现的通用C库。包含常用数据结构和算法

标准:--std=c99

数据结构详细说明

数据结构

数据结构 原理 说明
stack
stack_new 链表
stack_new2 动态数组
list 列表
list_init2 动态数组
queue 队列
queue_init 单向链表
queue_init2 数组 FIFO/空/满
deque 双端队列
deque_init 双向循环链表
tree
tree_avl_init 二叉搜索树 AVL树
tree_rb_init 二叉搜索树 红黑树
heap
heap_init2 数组 最大堆/最小堆

特点

原理 说明
链表 有额外指针开销
动态数组 扩容时数据搬移代价较大

性能比较

项目 数组 链表
查找 O(1) O(n)
插入 O(n) O(1)
删除 O(n) O(1)

【A1】 若链表的操作流程为,先查找元素再删除元素。那么时间复杂度确实是$O(n)$。但是链表的增删优势,在其他应用有体现。比如双向队列,插入和删除效率都为$O(1)$。

版本

版本 说明
0.xx.xx 测试版本