您现在的位置是:首页 >学无止境 >JavaScript 算法与数据结构网站首页学无止境

JavaScript 算法与数据结构

赏我一分钱啦 2025-07-30 12:01:04
简介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):矩阵及基本矩阵运算(乘法、转置等)
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。