test name | time taken (ms) | executions per sec | sample deviation |
---|---|---|---|
1,000,000 push | 221.57 | 4.51 | 0.03 |
1,000,000 unshift | 229.02 | 4.37 | 0.07 |
1,000,000 unshift & shift | 169.21 | 5.91 | 0.02 |
1,000,000 insertBefore | 314.48 | 3.18 | 0.07 |
Package Exports
- linked-list-typed
- linked-list-typed/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (linked-list-typed) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
What
Brief
This is a standalone Linked List data structure from the data-structure-typed collection. If you wish to access more data structures or advanced features, you can transition to directly installing the complete data-structure-typed package
How
install
npm
npm i linked-list-typed --save
yarn
yarn add linked-list-typed
methods
Singly Linked List
Doubly Linked List
snippet
TS
JS
API docs & Examples
Data Structures
Data Structure | Unit Test | Performance Test | API Docs |
---|---|---|---|
Linked List | SinglyLinkedList | ||
Singly Linked List | SinglyLinkedList | ||
Doubly Linked List | DoublyLinkedList |
Standard library data structure comparison
Data Structure Typed | C++ STL | java.util | Python collections |
---|---|---|---|
DoublyLinkedList<E> | list<T> | LinkedList<E> | - |
SinglyLinkedList<E> | - | - | - |
Benchmark
doubly-linked-list
singly-linked-list
test name | time taken (ms) | executions per sec | sample deviation |
---|---|---|---|
10,000 push & pop | 212.98 | 4.70 | 0.01 |
10,000 insertBefore | 250.68 | 3.99 | 0.01 |
Built-in classic algorithms
Algorithm | Function Description | Iteration Type |
---|
Software Engineering Design Standards
Principle | Description |
---|---|
Practicality | Follows ES6 and ESNext standards, offering unified and considerate optional parameters, and simplifies method names. |
Extensibility | Adheres to OOP (Object-Oriented Programming) principles, allowing inheritance for all data structures. |
Modularization | Includes data structure modularization and independent NPM packages. |
Efficiency | All methods provide time and space complexity, comparable to native JS performance. |
Maintainability | Follows open-source community development standards, complete documentation, continuous integration, and adheres to TDD (Test-Driven Development) patterns. |
Testability | Automated and customized unit testing, performance testing, and integration testing. |
Portability | Plans for porting to Java, Python, and C++, currently achieved to 80%. |
Reusability | Fully decoupled, minimized side effects, and adheres to OOP. |
Security | Carefully designed security for member variables and methods. Read-write separation. Data structure software does not need to consider other security aspects. |
Scalability | Data structure software does not involve load issues. |