awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
humanwhocodes avatar

humanwhocodes/computer-science-in-javascript

0
View on GitHub↗
9,119 星标·1,179 分支·JavaScript·MIT·7 次浏览www.nczonline.net↗

Computer Science In Javascript

This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies.

The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algorithms such as bubble sort and selection sort are included, alongside binary search for efficient lookup in sorted arrays. The project also provides base64 encoding and decoding utilities for binary-to-text data conversion, and a Luhn algorithm implementation for validating numeric identifiers like credit card numbers.

Each module is designed as an independent, reusable function, making the collection suitable for studying how these algorithms and data structures work internally. The code uses JavaScript generator functions to provide iterable interfaces for custom data structures, enabling use with standard iteration protocols.

Features

  • Algorithm Implementations - Provides standalone JavaScript implementations of classic computer science algorithms.
  • Computer Science Education - Provides educational implementations of classic computer science algorithms and data structures in JavaScript.
  • Data Structure Implementations - Implements foundational data structures like linked lists and binary search trees from scratch.
  • Algorithm Demonstrations - Demonstrates common algorithmic patterns such as recursion and tree traversal with working code examples.
  • Binary Search Implementations - Implements binary search for efficiently locating values in sorted arrays.
  • JavaScript Implementations - Implements binary search on sorted arrays for efficient O(log n) element lookup in JavaScript.
  • Doubly Linked Lists - Implements doubly-linked lists with bidirectional traversal using next and previous pointers.
  • Algorithm Implementation Practice - Provides practical code implementations of classic sorting, searching, and tree algorithms for study.
  • Sorting Algorithms - Implements classic sorting algorithms such as bubble sort and selection sort.
  • JavaScript Implementations - Provides a collection of classic computer science algorithms and data structures implemented in JavaScript for learning and reference.
  • JavaScript Implementations - Implements fundamental data structures like linked lists, binary search trees, and circular lists in JavaScript.
  • Binary Search Trees - Implements binary search trees with insertion, deletion, and search operations maintaining the binary search property.
  • Linked Lists - Organize values in a linear sequence where each element points to the next, enabling efficient insertion and removal without reindexing.
  • Binary Search Algorithms - Implements binary search and binary search tree operations that repeatedly halve the search space.
  • Data Structure Implementations - Implements fundamental data structures including linked lists, binary search trees, and circular lists from scratch.
  • Sorting Algorithms - Implements classic sorting algorithms such as bubble sort and selection sort as reusable array manipulation functions.
  • Linked Lists - Store a sequence of elements where each node points to the next, enabling efficient insertions and deletions.
  • Linked List Manipulation Utilities - Provides linked list, doubly-linked list, and circular linked list implementations with full traversal and mutation operations.
  • Node Insertion Techniques - Implements linked list variants with nodes connected by next and previous pointers for constant-time insertions and deletions.
  • Singly - Implements a singly-linked list data structure with full traversal and mutation operations.
  • Classic Array Sorting Algorithms - Implements classic sorting algorithms such as bubble sort and selection sort for array ordering.
  • Bubble Sorts - Implements bubble sort as a standalone sorting algorithm in JavaScript.
  • Swap-Based Sorting Algorithms - Implements bubble sort and selection sort, both of which rearrange arrays by repeatedly swapping elements.
  • Standard Binary Searches - Implements binary search on sorted arrays for efficient O(log n) element lookup.
  • Structure Iterators - Yield each data item in sequence using a generator, making the list usable with loops and spread syntax.
  • Collection Iterators - Implement a generator that yields each item in sequence for use with for-of loops and destructuring.
  • Generator-Based Iterators - Uses JavaScript generator functions to provide iterable interfaces for linked lists and trees.
  • Index-Based Retrievals - Walk the list from the head to find and return the node at a given index.
  • Circular Index Removals - Implements index-based node removal for circular doubly linked lists.
  • Circular Index Retrievals - Retrieves node data by index from a circular doubly linked list.
  • Luhn Algorithm Validators - Provides a Luhn algorithm implementation for validating credit card numbers.
  • Base64 Encoding and Decoding - Provides base64 encoding and decoding utilities for binary-to-text data conversion.
  • List Traversal Algorithms - Implements sequential traversal of singly-linked lists by following next pointers.
  • Circular List Traversals - Traverses circular doubly linked lists with a post-test loop for head detection.
  • Reverse Traversals - Implements reverse iteration for doubly-linked and circular linked lists by following previous pointers.
  • Circular Tail Insertions - Inserts nodes at the tail of a circular doubly linked list with constant-time pointer updates.
  • Tail Insertions - Insert a new node at the end of the list in constant time by using the tracked tail pointer.
  • Tail Insertions - Insert a new node at the end of the list by traversing to the last node and linking it.
  • Node Removal Techniques - Delete a specified node from a sequence and reconnects its neighbors, handling first and last positions specially.
  • Doubly-Linked List Removals - Delete a node at a given index by adjusting the previous and next pointers of surrounding nodes.
  • Positional Removals - Find a node at a given index and remove it while updating both next and previous pointers of adjacent nodes.
  • Selection Sorts - Provides a standalone implementation of the selection sort algorithm for educational reference.
  • Tree Traversal Algorithms - Implements in-order traversal of binary search trees to output values in sorted order.
  • In-Order Iterators - Binary search tree values are output in sorted order by recursively visiting left subtree, current node, then right subtree.
  • Circular Infinite Iterations - Provides infinite iteration over circular doubly linked list data using generators.
  • Circular Value Iterations - Iterates over circular doubly linked list values using JavaScript generator functions.
  • Generator-Based Iterators - Make the list usable with for-of loops and destructuring by implementing a values generator.
  • Computer Science en JavaScript - Listed in the “Computer Science en JavaScript” section of the Frontend Developer Resources awesome list.

Star 历史

humanwhocodes/computer-science-in-javascript 的 Star 历史图表humanwhocodes/computer-science-in-javascript 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 Computer Science In Javascript 的精选搜索

收录 Computer Science In Javascript 的精选合集。
  • JavaScript 算法与数据结构
  • 开发者数学参考手册
  • 计算机科学基础

常见问题解答

humanwhocodes/computer-science-in-javascript 是做什么的?

This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies.

humanwhocodes/computer-science-in-javascript 的主要功能有哪些?

humanwhocodes/computer-science-in-javascript 的主要功能包括:Algorithm Implementations, Computer Science Education, Data Structure Implementations, Algorithm Demonstrations, Binary Search Implementations, JavaScript Implementations, Doubly Linked Lists, Algorithm Implementation Practice。

humanwhocodes/computer-science-in-javascript 有哪些开源替代品?

humanwhocodes/computer-science-in-javascript 的开源替代品包括: kodecocodes/swift-algorithm-club — This project is a comprehensive collection of common computer science algorithms and data structures implemented in… chefyuan/algorithm-base — algorithm-base is an educational library and study guide designed for simulating algorithms and studying data… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically… wangzheng0822/algo — This project is a data structures and algorithms library providing a collection of fifty standard code implementations… amejiarosario/dsa.js-data-structures-algorithms-javascript — This project is a computer science educational resource and library providing implementations of data structures and… jack-lee-hiter/algorithmsbypython — AlgorithmsByPython is a reference library and educational repository providing runnable Python implementations of…

Computer Science In Javascript 的开源替代方案

相似的开源项目,按与 Computer Science In Javascript 的功能重合度排序。
  • kodecocodes/swift-algorithm-clubkodecocodes 的头像

    kodecocodes/swift-algorithm-club

    29,099在 GitHub 上查看↗

    This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples. The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to

    Swiftalgorithmsdata-structuresswift
    在 GitHub 上查看↗29,099
  • chefyuan/algorithm-basechefyuan 的头像

    chefyuan/algorithm-base

    10,702在 GitHub 上查看↗

    algorithm-base is an educational library and study guide designed for simulating algorithms and studying data structures. It functions as an execution visualizer that renders step-by-step state changes and pointer updates through animated simulations to illustrate how data movement works. The project distinguishes itself by mapping conceptual logic directly to multi-language source code implementations. It utilizes a comparative analysis framework to evaluate different algorithmic strategies based on stability, time complexity, and space complexity, while organizing problems by underlying mec

    algorithmsbaseinterview-practice
    在 GitHub 上查看↗10,702
  • azl397985856/leetcodeazl397985856 的头像

    azl397985856/leetcode

    55,758在 GitHub 上查看↗

    This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t

    JavaScriptalgoalgorithmalgorithms
    在 GitHub 上查看↗55,758
  • wangzheng0822/algowangzheng0822 的头像

    wangzheng0822/algo

    23,159在 GitHub 上查看↗

    This project is a data structures and algorithms library providing a collection of fifty standard code implementations for managing data and solving common computational problems. It serves as an algorithm implementation reference and study resource for educational use. The codebase covers graph theory implementations for modeling networks and performing searches, as well as string pattern matching libraries for the retrieval of character sequences. It includes a collection of hierarchical data structures, such as binary search trees and priority heaps, and provides optimized solutions for dy

    Python
    在 GitHub 上查看↗23,159
  • 查看 Computer Science In Javascript 的所有 30 个替代方案→