- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 红黑树 Red-Black Tree
红黑树(Red-Black Tree,简称RBT),是一种自平衡二叉搜索树(Binary Search Tree,简称BST),其每个节点的值大于其左子树中的任意节点值,且小于其右子树中的任意节点值。红黑树通过对节点的颜色进行约束来保证树的平衡,确保树的高度大致成对数增长,使得查找、插入和删除操作的时间复杂度均为O(logn)。
2024-12-16 21:00:12
867
原创 基于树的数组 Array Based on Tree
基于树的数组(Array Based on Tree,简称ABT),是一种基本数据结构,它是基于平衡二叉树的数组,并根据其左右子树的节点数来维持平衡。不同于二叉搜索树(Binary Search Tree),ABT维持的是元素的插入顺序而非节点的键值顺序。ABT不仅具备随机访问能力,而且具备动态编辑能力,其随机访问、插入和删除操作的时间复杂度均为O(log n)。
2023-06-01 22:57:19
212
原创 通用矩阵乘法GEMM优化与实现(1)
通用矩阵乘法(General Matrix Multiply)是最常见底层算法的之一,广泛用于线性代数、机器学习、统计学等各个领域。矩阵乘法的时间复杂度是O(n^3),虽然有Strassen等优化算法可以降低算法复杂度,但实际效果仍然有限。本文不讨论矩阵乘法的算法优化,仅讨论矩阵乘法的代码优化技术。内容并非介绍和照搬目前流行的BLAS库的做法,而是基于完备的代码优化理论体系,讨论并给出矩阵乘法的最优实现。
2022-11-11 20:14:26
2897
4
原创 内存分配器
内存分配器(Memory Allocator)负责内存分配与管理。内存分配器是所有容器的基础,它总是隐藏在容器背后工作,因此内存分配器对实现者非常重要,而对应用者几乎可以忽略。内存分配器分为两级,第一级分配器直接调用C函数分配和释放内存,第二级分配器则采用内存池来管理内存。如果申请的内存块足够大,那么启动第一级分配器,否则启动第二级分配器。这种设计的优点是可以快速分配和释放小块内存,同时避免内存碎片;缺点是内存池的生命周期比较长,并且很难显式释放。...
2021-06-18 17:28:42
1550
AMD-APP-SDKInstaller-v3.0.130.135-GA-windows-F-x86.exe
2019-10-28
AMD-APP-SDKInstaller-v3.0.130.135-GA-windows-F-x64.exe
2019-10-28
AMD-APP-SDK-v2.9-Windows-64.exe.zip
2019-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人