您现在的位置是:首页 >学无止境 >JavaScript 算法与数据结构网站首页学无止境
JavaScript 算法与数据结构
简介JavaScript 算法与数据结构
这个仓库名为 javascript-algorithms
,主要包含了许多基于 JavaScript 实现的流行算法和数据结构的示例,其目的是用于学习和研究,并不适合用于生产环境。以下是关于这个仓库的详细介绍:
仓库信息
- 仓库主题:JavaScript 算法与数据结构。
- 支持语言:提供多种语言的 README 文件,方便不同语言的用户阅读,包括简体中文、繁体中文、韩语、日语、波兰语、法语、西班牙语、葡萄牙语、俄语、土耳其语、意大利语、印尼语、乌克兰语、阿拉伯语、越南语、德语、乌兹别克语等。
仓库内容
数据结构
该仓库涵盖了多种数据结构,分为初级(B
)和高级(A
)两个级别,具体如下:
- 初级数据结构:
- 链表(Linked List)
- 双向链表(Doubly Linked List)
- 队列(Queue)
- 栈(Stack)
- 哈希表(Hash Table)
- 堆(Heap):包含最大堆和最小堆版本
- 优先队列(Priority Queue)
- 高级数据结构:
- 字典树(Trie)
- 树(Tree):
- 二叉搜索树(Binary Search Tree)
- AVL 树(AVL Tree)
- 红黑树(Red-Black Tree)
- 线段树(Segment Tree):包含最小 / 最大 / 求和范围查询示例
- 树状数组(Fenwick Tree)(Binary Indexed Tree)
- 图(Graph):包括有向图和无向图
- 并查集(Disjoint Set):一种联合 - 查找数据结构或合并 - 查找集
- 布隆过滤器(Bloom Filter)
- LRU 缓存(LRU Cache):最近最少使用(LRU)缓存
算法
同样分为初级(B
)和高级(A
)两个级别,按主题分类如下:
- 数学(Math):
- 位操作(Bit Manipulation):设置 / 获取 / 更新 / 清除位,乘 / 除以 2,取负数等操作。
- 二进制浮点数(Binary Floating Point):浮点数的二进制表示。
- 阶乘(Factorial)
- 斐波那契数(Fibonacci Number):经典和封闭形式的版本
- 质因数(Prime Factors):使用哈代 - 拉马努金定理查找质因数并计数
- 素性测试(Primality Test)(试除法)
- 欧几里得算法(Euclidean Algorithm):计算最大公约数(GCD)
- 最小公倍数(Least Common Multiple)(LCM)
- 埃拉托斯特尼筛法(Sieve of Eratosthenes):查找任何给定限制内的所有素数
- 是否为 2 的幂(Is Power of Two):检查数字是否为 2 的幂(朴素算法和位运算算法)
- 帕斯卡三角形(Pascal's Triangle)
- 复数(Complex Number):复数及其基本运算
- 弧度与角度(Radian & Degree):弧度与角度之间的相互转换
- 快速幂(Fast Powering)
- 霍纳法(Horner's method):多项式求值
- 矩阵(Matrices):矩阵及基本矩阵运算(乘法、转置等)
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。