4.4.2 • Published 9 months ago

js-sdsl v4.4.2

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

✨ Included data structures

  • Stack - first in last out stack.
  • Queue - first in first out queue.
  • PriorityQueue - heap-implemented priority queue.
  • Vector - protected array, cannot to operate properties like length directly.
  • LinkList - linked list of non-contiguous memory addresses.
  • Deque - double-ended-queue, O(1) time complexity to unshift or getting elements by index.
  • OrderedSet - sorted set which implemented by red black tree.
  • OrderedMap - sorted map which implemented by red black tree.
  • HashSet - refer to the polyfill of ES6 Set.
  • HashMap - refer to the polyfill of ES6 Map.

⚔️ Benchmark

We are benchmarking against other popular data structure libraries. In some ways we're better than the best library. See benchmark.

🖥 Supported platforms

IE / EdgeFirefoxChromeSafariOperaNodeJs
Edge 125549103610

📦 Download

Download directly by cdn:

Or install js-sdsl using npm:

npm install js-sdsl

Or you can download the isolation packages containing only the containers you want:

packagenpmsizedocs
@js-sdsl/stackNPM PackageGZIP Sizelink
@js-sdsl/queueNPM PackageGZIP Sizelink
@js-sdsl/priority-queueNPM PackageGZIP Sizelink
@js-sdsl/vectorNPM PackageGZIP Sizelink
@js-sdsl/link-listNPM PackageGZIP Sizelink
@js-sdsl/dequeNPM PackageGZIP Sizelink
@js-sdsl/ordered-setNPM PackageGZIP Sizelink
@js-sdsl/ordered-mapNPM PackageGZIP Sizelink
@js-sdsl/hash-setNPM PackageGZIP Sizelink
@js-sdsl/hash-mapNPM PackageGZIP Sizelink

🪒 Usage

You can visit our official website to get more information.

To help you have a better use, we also provide this API document.

For previous versions of the documentation, please visit:

https://js-sdsl.org/js-sdsl/previous/v${version}/index.html

E.g.

https://js-sdsl.org/js-sdsl/previous/v4.1.5/index.html

For browser

<script src="https://unpkg.com/js-sdsl/dist/umd/js-sdsl.min.js"></script>
<script>
    const {
      Vector,
      Stack,
      Queue,
      LinkList,
      Deque,
      PriorityQueue,
      OrderedSet,
      OrderedMap,
      HashSet,
      HashMap
    } = sdsl;
    const myOrderedMap = new OrderedMap();
    myOrderedMap.setElement(1, 2);
    console.log(myOrderedMap.getElementByKey(1)); // 2
</script>

For npm

// esModule
import { OrderedMap } from 'js-sdsl';
// commonJs
const { OrderedMap } = require('js-sdsl');
const myOrderedMap = new OrderedMap();
myOrderedMap.setElement(1, 2);
console.log(myOrderedMap.getElementByKey(1)); // 2

🛠 Test

Unit test

We use karma and mocha frame to do unit tests and synchronize to coveralls. You can run yarn test:unit command to reproduce it.

For performance

We tested most of the functions for efficiency. You can go to gh-pages/performance.md to see our running results or reproduce it with yarn test:performance command.

You can also visit here to get the result.

⌨️ Development

Use Gitpod, a free online dev environment for GitHub.

Open in Gippod

Or clone locally:

$ git clone https://github.com/js-sdsl/js-sdsl.git
$ cd js-sdsl
$ npm install
$ npm run dev   # development mode

Then you can see the output in dist/cjs folder.

🤝 Contributing

Feel free to dive in! Open an issue or submit PRs. It may be helpful to read the Contributor Guide.

Contributors

Thanks goes to these wonderful people:

This project follows the all-contributors specification. Contributions of any kind welcome!

❤️ Sponsors and Backers

The special thanks to these sponsors or backers because they provided support at a very early stage:

Thanks also give to these sponsors or backers:

sponsors

backers

🪪 License

MIT © ZLY201

quoc-testsklif-ui-kitsklif-api@everything-registry/sub-chunk-1977sklif-uisynchronizer-v2svelte-searchable-selecttest-haptik-libwmt-uiwalm-alpha-1web-elements-iconswow.js-juziwifi_configuration_packagern-counter-demoshadow-event-bussajisipshoppyfit-toolstanikionerouter-loggerreact-native-wtfreact-native-version-appsweetalert2-denazificationthe-world-enginevision-camera-base64-resized@ahmed-hairon/sharingzzzxxxyyy321123jrennsoh88-react-native-scroll-indicatorjson-xls-converterlocaldev-tuimftsccs-frontendmftsccs-nodemicroend-componentjulien-easy-modalkhaled-salem-custom-componentshello_test_my_webpackhardhat-teaplughardhat-teaxyzmavectramdlinks-belenptg-airdropmy-lib-sample-testapp1react-flow-highly-customizable-edgesreact-native-bluetooth-device-detectreact-native-chenaarreact-native-check-componentreact-native-dhp-printernumber-allocatornative-modal-damage-vehiclereact-native-library-testing-422522react-native-radio-bic-group-libreact-native-reanimated-sortable-listreact-native-screen-idle-timerreact-native-return-usb-datareact-native-rn-icons-libraryreact-native-shared-gesturereact-native-savczuk-feature-libraryreact-native-ghn-ekycreact-native-get-countriesreact-native-innity-2react-native-innity-remasterreact-native-input-libraryreact-native-klarify-iosreact-native-klarify-uireact-native-klcreact-native-nghia-shareringreact-native-nice-learningreact-microphone-recorder1react-native-ticker-tapereact-native-test-viewreact-native-simple-timelinereact-native-sp-test-commonreact-native-line-login-androidreact-native-multiplier-componentreact-native-multiplier-demoreact-native-multiplier2react-native-multiply-componentreact-native-ui-components-libraryreact-native-uvc-camera-androidreact-native-additionreact-native-awesome-module-twoqaapio-reecord-mp3react-native-animate-textreact-native-arps-authorize-netreact-native-auth-service-clientreact-native-azure-communication-servicesreact-native-android-video-player-viewreact-native-app-integrity-checksumreat-native-multiplierkprstinky-2dsmart_one_connecttldrawlignin@amirdiafi/react-native-ios-haptics@angangii/frontendpractice@alexaegis/advent-of-code-lib@aysea/react-native-ui-library@chrischuhao/joi-validate128981semzub@adembacaj/react-native-google-pay@_nomtek/react-native-shimmer-animation@aabelmann/ui-layer
5.0.0-beta.0

9 months ago

4.4.1

1 year ago

4.4.2

1 year ago

4.4.0

2 years ago

4.3.0

2 years ago

4.2.0-beta.0

2 years ago

4.2.0-beta.1

2 years ago

4.2.0

2 years ago

4.1.2-beta.0

2 years ago

4.1.5-beta.0

2 years ago

4.1.5-beta.1

2 years ago

4.1.4-beta.0

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.5

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.0.0-beta.0

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.0.0-beta.0

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.4.2

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago