{"_id":"@hai2007/algorithm","_rev":"27-cf11a67947babc0a9d2af168955bb899","name":"@hai2007/algorithm","dist-tags":{"latest":"0.7.6","alpha":"0.6.0-alpha.2"},"versions":{"0.1.0":{"name":"@hai2007/algorithm","version":"0.1.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"_id":"@hai2007/algorithm@0.1.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-imPO9pjSTvR/Y3lYTF3rUC4/UAtZpiAy+dkXnI5ksqyEO722HYY1yQc+HFLWVkQVZX/AQ6l6QkrVqQ/EJ1/puQ==","shasum":"82db5f6f3300edb5a4548a14e12a5cc3cdf515ee","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.1.0.tgz","fileCount":12,"unpackedSize":24694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsBFoCRA9TVsSAnZWagAAOrQP/jXSqawJUTLMOFlx52Ba\nF78lyi10uEircuCyBCr2XC5LJRr5rzszh9cEmDk1UuhBeslXovSvd6xKtYgG\n8uLNeS/lp3P6cbopBqPhQeOmqN7kDbEUKouqjRaG0sjP9rq0YXILj2mu6ngI\nwha3zwCsbmb/sRM4eQ3bXGlh5g4pmBjAWtOkECB0Ke+0qysH4xZkRvojfPwV\n7YOrRqzKxEQ89Hkyqflx4ZWZ+sCAv1oA4pxopgDjFGZxIjvAZQqAHU7u+Zv2\n2kX63S24Xrka2OOGWiHVCz5u5V74aZGbVLPPL09NuCOIT1Sz36/1alRzwxYG\nfLYBd3ZapvbLbvq25PlwDYXhEOPSYPBmM1fzZ8XqBvdyM/8QRpZcqEehIjKq\n73WcgPTej6CaaW0rot7jDc5S/jXvtrqD2yZ7cCWjj6eNqrO0nazWXR9+CLSP\noj7mIhMZbZDJZVhpx1066nvLvFr08KE2fzAjLZLX0izg0JrOyPcrCGTW18s4\nVcVvXeC3R1501iwv/pE7CrRFAhmToxEBNqIK0cFhbUbavvgc+ylOZPh1JGu7\ngFnjAibt6r8Thd1h6eOG+QlUw0kkVqlDtxTssRVRYvN21MXpH2JzF/EMrHGH\nX1icouqLtX9lCvIZRQPaFbK4emA7eRQ4LDZMkhbmtkFn2gCHHDdQDMSmtTft\n7zoA\r\n=BVFS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFT2srFor7bmrD3SmkgLpjQ1FK6/mg0CcR8GzIgjXOE6AiEAheuYHvfMoAW9qa2y7/53WCNVEJaUqxp7RhpBO3og5lo="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.1.0_1605374311922_0.6478153547052976"},"_hasShrinkwrap":false},"0.1.1":{"name":"@hai2007/algorithm","version":"0.1.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"gitHead":"3244a171edbca12018c051c09a2e6c93902a30dd","_id":"@hai2007/algorithm@0.1.1","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ivjGcj5Xmjj4YwqbIXTUnGXr/dq77uktfCVzZ64PW9J1r1zgca8S4q1ZOseugn4D/GLmsuzHjdcQ/4l7OsxMIQ==","shasum":"3d520eae0132ef592cd2dc25b4c1cce79554d18a","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.1.1.tgz","fileCount":18,"unpackedSize":151651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsMQQCRA9TVsSAnZWagAAgOIP/Rfc/rIV2pvJE7Ztnjfx\nfO2e+Ld08qghjasPUKePGgF4otHw1XT+RFeXWtpTjiwQow4W2XpHas4YZfR4\n+Ima+zNg7h9eFdwQ+2wV0UrkcOm2r0FXJY2cHgOOL43P2FEzMiJ23hl/KXuj\nI8wW5uq35j53ub0xg9rpy1FMcRm2ICT4x7ByqfDHI3Bx6y6mVt1bYP5odu9/\nhrMF8pQSAve0n3CaKEtJ/iV3VPSWTUMX/AHSXDFZnBY7ASSFk8YEd2NDIknC\njStHcUCdecX2hh9Ot4mVWTaGUgjm0cmjtBiRfJ7OhEOuzx/GoIYPHevGB/xz\nTNg3UdhbV7mAjb46Fgi3zGEUuksJ67OaDtgGvxRNgaavJYrZDCLMIjZ2xrS3\ngpDCPLCjZyUYUbcoFsXa3gDcomIx6xqNKxvhDGSxrrrR4k6OaWS6F4EmuNRZ\nME3QDjfH/K4/dH9P3+2nVlrNnDpLfm2bLoeXwLLyop1alD/K4/xSBkrSJtoK\nFN7jKdytGo7ESl34k0LfkvERl3K9FTIyJxX9AiLu2tDckPgDd+hztjjg1C9k\ndk3HF2qFiE+qfxTBxGJDCYAZeG6geAqKThbBDmYEXmJc59LqRukqDgQroNoe\nXD/ricqXqX3df2pRcWc5Eo8Sy/YrsaAuLL2gDPcVSsxaffmheTtXlMxPNOJM\nufie\r\n=yF34\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTz12OA6bRS8Whuvp3+aqjInJS1TmobmC7Qc7RK7w18gIgeIipc0aa/iYbzxwjeMaACG1nhDSlAgOOWT0Mp4UNIu0="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.1.1_1605420048472_0.3670442414530102"},"_hasShrinkwrap":false},"0.1.2":{"name":"@hai2007/algorithm","version":"0.1.2","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"gitHead":"6d2203e13cf54f5886c8a90011347f26b6e6ec3d","_id":"@hai2007/algorithm@0.1.2","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-sgwvP1Z2r+uCcSf46jwesjvLUd19hNkrY1VS0D8waRgTdsZMsf12Ypw1+jCZRnL799xdxvPvSgtIbXDLC9kbMw==","shasum":"cd5e76512b280c2ca713f2442168597aee61f926","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.1.2.tgz","fileCount":19,"unpackedSize":153204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs7v9CRA9TVsSAnZWagAANf4P/1tSX/F3HeOn/0yprtrG\nb7w1sYF89TTHLNR3wgxgyQ8Fe05sTRxHPy8V9UEANtWnM1D0WzPXgEQL2tUK\nMB8ry+bfpaHuq4wcLgDMsdFQN/ixfE9rd+eUowINe8InFad9vCLbea6itGSG\ngKcqQgLBGEM1sgM6YkL7w6u99AgVqdRJLH23r5U5ZtxtAoabmiCs7oVfMsKa\nVaEpdFpWBcj1CmKPMqIGxj8AF1kQFWizDGZUpe+kY+6XDsnIHj+/GZ7+vguq\nZulRATNGFz2Ci2okhTQqw28aYQcuJ9p5YkD/XDk7T0FadMHkJPzfRNsfpRpz\nVUTYNwTllvBAZEH/JjGAETWwPpvcC6bk7JGBxBaCAQQ3ki+ZtWeEUHuz/2Y9\nH+xQB6FYX+YkQD+WvfTDCBwnRMdAs00PBX+YSP2LVNKW9HUOz8pdOJPFNEj8\n0BaPeCk8Kc4izyNy/mdnre9p+u+/hU5F5Wxae7W/o1q4ROdDDbQE+TRyt4LS\nUG06axYSs060ZUYIT+YVBGPZA/NXh5v8qSY9ubHZzPoas5vVyP4dPXgnQ/1V\nlzNhLVB76rrjQBZhS1k06gZN+7ovtvb56mUo1PnBxiHSxmQnHFot7tyj/gGu\nenomx29gVloLg3GlXJZ9sF4aisDe3gWNYS8JXUCd3ftTyYVcj53XOfxF597W\nVIOS\r\n=cPFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvnx+I7C20fWQqlndcpP4h6Jroi8ApPgm9wSyNxfvezAIhAIHUgaoi2u17XxinJpy/9VfJV9FmHN8yWn5PuHHh1Rqn"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.1.2_1605614589105_0.2712181086979344"},"_hasShrinkwrap":false},"0.2.0":{"name":"@hai2007/algorithm","version":"0.2.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.0"},"gitHead":"b6efd4ae95aeb3d40773106f386421f81787047a","_id":"@hai2007/algorithm@0.2.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-wtk4cxfhbZIUNq6a/DPZQZAWw35Ru3GLbYiTKPiE9V7w1Lxh5o9YV+BXcCBWU82GdDn0KLLyFjA91xD9y4gzCA==","shasum":"0fed3969a0d064a9cac159c6302684b4aedeaab8","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.2.0.tgz","fileCount":30,"unpackedSize":196247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuTTNCRA9TVsSAnZWagAASZ8P/RX1NwQJL+0pKD3qHw1P\nvKa+jObT/Nl1BcH6pvbn757VUKqUXVOd1MfiNes8Rh5BCMvuLS8to+mL/9rW\nBh2zhqk8YsUtP1VyWwPYmtK4aEsboSvSQ7mreQT/ZVm6xZecZkN2KTNXrVaP\nCa/6gvvBaH+5bvunMAIcho7sOuBoc4XZtQeE1lH/VfEe59vi9/eA4Wppivhi\nha/CASNsKAg1FFObdqK9o5rFJpz7l2GfAJmRBRph7xAa6mrb5hc44dMTF8bq\nfeeVP3PYMP5YNYIHMzsbH1n9OE69pUFW9hZI56seadRh5/egDZVDLw02CUkf\nQkT4GMuosFeZ+OYcAUQqwj0pC38BxSLTnoxPRc2XwppB3OnicECASq3/M3M0\nO+C8T5wUAybiIQD9C2uS2z+ikKKqAf9F+PGm62RPf2qbh6uSR+vNgTcSWy30\niECmzffLypRKkY6B42iOjSKW2mie+6pMUOHqRQyQMpjtyMWDG/B0E7r38KnJ\neYEJiLDYQFkFfVfnlqCx0GufBfBrjnDS7IJIdWSlA4zpZMw9dDSlgtxyrH8P\n5IuBNxHoCZhS/oiKWNyTzoFhEUGRjvGEjD9Pj1sl3lj7axUE83UzYDbqUd4t\n/t1P0TJZEzlLIXDDunAszTr1HFzvI0rutRGPkr/n3AX85vQmP4QN838jHCeJ\nPjdf\r\n=2maT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtNS2tRY+MxZv8/2YxFRKnFh01qg3tTzx/M0TFTP+YPwIhAJK+MscdW9wiGk8p6mbSwtZ7hHDp3A4jooRUZkgurjUM"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.2.0_1605973197050_0.1105636267907315"},"_hasShrinkwrap":false},"0.3.0":{"name":"@hai2007/algorithm","version":"0.3.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.0"},"gitHead":"74772196089054db65383bc76d662825a82d3783","_id":"@hai2007/algorithm@0.3.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-4ODSzVifI9vIz9ckeeXP9+IzIk2ZvrrkS/L/1bXhxNHhjcHm2Z6KXMYBgEzVTm9ub8Txc7798t7+Yd0YUSSK0w==","shasum":"76e4f47858248bf92d9df3d5c9375ec7f6528481","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.3.0.tgz","fileCount":30,"unpackedSize":196254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuTZTCRA9TVsSAnZWagAApcEP/A6VEnNAFYlezEytXNtL\nMFwhavg9MLWv+3YbHGWzbD4BeP87iwpzy0apPbbUnGwET1cHi2YkpUVhi4pD\nWrJ9VxCuULw12sgwbaS8hW2IjGTCKgbN0E+Wukey2Zm5CfWUrdwdLTj1t4dn\n1k2K7G0uqPm5GHsK86cOt82phvLGBpWtcJ3hQ9cFrF7DPIQFw3DpaIXP4e+Y\nUqIQRK2fkoIw2FKaU23mvhkXjU3LeFktNkg+F26Qzy03hF6Vw0CyslkXzV89\njSruGlXwUAX00Nqkc5Vwo55GZBTfbyyZqYjIjmrMz4jQ2vgN+zJt+WjGLcVs\nEqtW/a49QxFZZdPgjhMEdMNny8vCZIb6WOzKXgAycpXbihQuhgxMuJQ3e/lB\nKF9XUuua3WVGwfvfQuqWgd06jaTaSb9kHKljQ3xNK6R0NpQ2QgH95PfXIDxy\nUfWMEDigXll8K7MjqGY8hzYlS2XtR1G/hDY8I32SncRprhj8F7jiI55kDnav\nkkPZmgwxbXySz6/9JjB906ope/Hr6TJ86EB1Iwixbdrk3wCLMgKlk7BKB77G\nx1ddTs9QvzoQlzuOMegn+uXae0H8b0Z+5uL24Jqhyt00fqzt4qOhWL4yMqp2\nIy4hdeBK2uhy4+BwPyiwcYQwZmiUGRA1iftEuHWxKZ8AXDFD9U4HN/xxi9nR\nIgvm\r\n=AjBg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMZeBETvFcXx9BYvxYE/liAhPuN/RVLV6Y419h5hCbxAIhANuPNv50bPFn64MffFfCfFfL5fjV9A/4Jw1/xdKE7UGu"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.3.0_1605973586702_0.9706919603869011"},"_hasShrinkwrap":false},"0.4.0-alpha":{"name":"@hai2007/algorithm","version":"0.4.0-alpha","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.0"},"readme":"# 🔪 algorithm.js - 一些前端常用的算法实现合集\r\n\r\n<p>\r\n  <a href=\"https://yelloxing.gitee.io/npm-downloads?interval=7&packages=@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/dm/@hai2007/algorithm.svg\" alt=\"downloads\"></a>\r\n  <a href=\"https://packagephobia.now.sh/result?p=@hai2007/algorithm\"><img src=\"https://packagephobia.now.sh/badge?p=@hai2007/algorithm\" alt=\"install size\"></a>\r\n  <a href=\"https://www.jsdelivr.com/package/npm/@hai2007/algorithm\"><img src=\"https://data.jsdelivr.com/v1/package/npm/@hai2007/algorithm/badge\" alt=\"CDN\"></a>\r\n  <a href=\"https://www.npmjs.com/package/@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/v/@hai2007/algorithm.svg\" alt=\"Version\"></a>\r\n  <a href=\"https://github.com/hai2007/algorithm.js/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/@hai2007/algorithm.svg\" alt=\"License\"></a>\r\n</p>\r\n\r\n## Issues\r\n使用的时候遇到任何问题或有好的建议，请点击进入[issue](https://github.com/hai2007/algorithm.js/issues)，欢迎参与维护！\r\n\r\n## How to use?\r\n首先你需要通过命令行安装：\r\n\r\n```bash\r\nnpm install --save @hai2007/algorithm\r\n```\r\n\r\n安装好了以后，然后引入你需要的算法：\r\n\r\n- 基本的树结构位置生成算法\r\n\r\n```js\r\nimport tree from '@hai2007/algorithm/tree.js';\r\n```\r\n\r\n[<< 查看文档](./apis/tree.md)\r\n\r\n- 解析xhtml为json对象返回\r\n\r\n```js\r\nimport xhtmlToJson from '@hai2007/algorithm/xhtmlToJson.js';\r\n```\r\n\r\n[<< 查看文档](./apis/xhtmlToJson.md)\r\n\r\n- 设置或获取指定对象上字符串表达式对应的值\r\n\r\n```js\r\nimport { evalExpress, getValue, setValue } from '@hai2007/algorithm/value.js';\r\n```\r\n\r\n[<< 查看文档](./apis/value.md)\r\n\r\n## Special attention\r\n\r\n为了减小打包体积，上面单独引入的方式引入的文件都没有经过babel转义，如果你希望使用转义后的，可以有如下方式引入：\r\n\r\n```js\r\nimport algorithm from '@hai2007/algorithm';\r\n```\r\n\r\n或\r\n\r\n```html\r\n<script src='https://cdn.jsdelivr.net/npm/@hai2007/algorithm'></script>\r\n```\r\n\r\n如果是node.js环境，请使用这种方式引入：\r\n\r\n```js\r\nconst algorithm = require('@hai2007/algorithm');\r\n```\r\n\r\n## 联系我们\r\n\r\n- QQ: 2501482523\r\n- Email: 2501482523@qq.com\r\n\r\n开源协议\r\n---------------------------------------\r\n[MIT](https://github.com/hai2007/algorithm.js/blob/master/LICENSE)\r\n\r\nCopyright (c) 2020-present hai2007 走一步，再走一步。\r\n","readmeFilename":"README.md","gitHead":"ebb4ea4a921d1f583d932e3cb50649bd0fc06799","_id":"@hai2007/algorithm@0.4.0-alpha","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-D8vTHsqWb3uG8MU7Ex2Em9lh7Ez34aXiZHC2pc3oZATBPoPFXAcVn+kPV6mKQjCwBjCPjD1CZeAEbg6kF2T8JA==","shasum":"b64ae438bc322ce902fa75539aa45f1d3f52fff5","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.4.0-alpha.tgz","fileCount":38,"unpackedSize":237167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfu+o/CRA9TVsSAnZWagAAnRgP/RIq5g1zpWpfCLhtDZMo\nZkYgyEDl4yjJAGbaX9/WotRl+bEwKxOn+eNs0luFaFF8xxhW2DbK40Fpp43M\nSLA6IDNfD/1ZRC2UHlOf7nrgYmBsKF2oSn1tsCntDEtY2YVvpDbKERBNutaO\nH2ljaV3FVnKOvMa2+y4eZMOpeU7zNUNJOWcfOwc51MqLOZyKOaFcvvii9wSd\nk5FlGNjwaRYBFTLZG9gjObraWhc3OWck4GfI+zlDautRzi6jeqa2RXFHS0+P\nKe4oyZ0BVz18M3Tw1oVValJwLzfiOpsRzUCc0bqlAmTFh2pcHYq6fLFWivpR\nMMjbQf3zipPNkxRK4KD6TJTnFlhrfKND8n1SpCbVZmsRt36O0tn+nAsjh53X\nKmtUPg5lIDMopgcGRgdq7MI8JvzE8x2gwjiZo6uwZYCF95ZPLgaBqqWeUxxU\ntXJCBh4aHzqpJixkNGJNMYIZk5C+tLS+vdHcRkFFcPB2kt3MBjAGfo05upVp\nXIkt4MBhjIvmlaNJaru9alRBaee/ja1quLW7Uo8jFVzmp5p6qcLSqfS4OO0e\nLxRv6ugyMPTyrwse1eXzxhqVGtVOJ7nzyMz2s2w1HsxO1oW3U3vdz9Lul+bs\nIK78s8XWAdScJAGBdHH2weSBXK9/2HwQY/Zhadn1xlnmDBByHE3tOfUe6xu/\nkQ0l\r\n=Jd4X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsq+77sTiZRiEzkggct/tOtqvZqyREBxVHDJ/M/CmUdgIgVHOqt2Lv5cxzGEeJf65IJc8Xv3N+GUDg4S08hIGlXDQ="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.4.0-alpha_1606150717733_0.71738251716491"},"_hasShrinkwrap":false},"0.4.0":{"name":"@hai2007/algorithm","version":"0.4.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.1"},"gitHead":"8b1c80792dbae59825165bbc08190a73464bf6e1","_id":"@hai2007/algorithm@0.4.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DhOzVz02sgyHjIij9jxlQHJUzZUQ9YwPzsrt7iF/UEt3EJpOse7C3cT64SfisoCuH4YvibWJpD1jUT2iNj2ksw==","shasum":"b2f71acff1ed2094402e928477252510cd866cde","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.4.0.tgz","fileCount":38,"unpackedSize":250222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvQdYCRA9TVsSAnZWagAA63oP+web7gc27hMMnMylvMfB\n31nShQVbDmcW0WVLWe4GGPZKV5LasvF7yCPsXqVEUtRyEpOchGZ1zhtc0aLe\nznrX5PWAb6CaxH9N+oW9eoJVYXavWRZtu1qED23YylRfdcyZWh/jh6EV62wF\nhyECFpsZ4SSKjvW4EJFZJ83xXmBPL9AVius35xil/LWBsAGuo1IBfqTWK4po\nzy6FjRFtUEOLEsj3bjy9+F7OUMjtsqXn0RFkJUcLFwWN+zTeCiJVcmpnM5gh\n3E559dNceNAuB3qNfzIHtR70IoVVcuLI6+HlUhye1M4mHsVeYhCuGshj6s39\nCTeKPatEI8Vy0nkJyh9DjgHJewhrbpmI0fKDQY3x55Jqpbojs+H4Dba+ilgv\nCB9LQaIAFeGyfW/kMD3HGTE7xgGvQFJndkv0is/vDTYFy4L05HQvkybBCr1s\nX72R6m3Ry6GlQ0NpJnpWGMzDNA/eoOn0KnPzFxlmM1j2VW3cBNSItDoR6iIj\nd9W1gt2oBZ+DfE3l6i3izSJkfJEteRdsCVg0/OeUXLdeCHhOmWhZ709St0+Y\notpX6KF2V9mf+w/A98QtV6zUnXWedJYEeBiWQiH1XHEXdNBOIUfhMNXWzW7Y\numpbb2nvqwPIBsF/r7iNELVFWFNUczZfwpIKO544rjlJw0bEtHAI/+dEc7+2\nR+Zg\r\n=k2Re\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyN53h4Z7q3jy1QOhWCPbGNJemlHUbI9y5Avq18T/p6QIgVZBoTHMRuP5gc3J52po8Ud8kn9ocYOvaKiYhuRq6PPg="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.4.0_1606223703751_0.7658042785431995"},"_hasShrinkwrap":false,"deprecated":"Major error, please use the next version"},"0.4.1":{"name":"@hai2007/algorithm","version":"0.4.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.1"},"gitHead":"e6fec82dd3e9841796342d39320bdf40c06dfcf2","_id":"@hai2007/algorithm@0.4.1","_nodeVersion":"10.13.0","_npmVersion":"6.14.3","dist":{"integrity":"sha512-74/m11li4wIayz6GEeaberb6xgLkUxIytJY94GfJBsrktxLNbtDTkuJH/qEVbjumX3zPUfB6/aqPkhdiTe3j6w==","shasum":"af254a7f1e5000e9b5b6789edb417dc19d14a78a","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.4.1.tgz","fileCount":38,"unpackedSize":249306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvdTwCRA9TVsSAnZWagAA0pcQAJyl76+TetaDjuh6Ns9Y\nqT1dqNbegHL4lWd4sn2o7GJhdniXdlbjt49xA2AbPfu9kX13OoG6xw/ohxNm\nXj7PLZwpZJGh1NVzUEyi5VK5tOHQK+Yk4iT+elfnw3VAolA52C8Y8prOCjOj\nnUhIlHl0X7l8Lbc1tsRAnakvH6WXzPMXJcuKL8H4tdbMH4F8ilNjsSR/M4Ne\nOAT+KDbH2+K/LpmZTFtUlXXs5fvgDk67flF+4SS2aLPWvpAef4scpNGFnQe7\nhJK7x3wpV3U2n3DRnwkhT+UKDMxHBDKMqzko6huvbgljgFG2LrbOHeS/1WFh\nLWzPotyIzWS4TGf1zJ8FkGK2QFhEZrOIaOH0tkfMzz/uAf6e7CrWbhaCKZcy\nhgIgHBS4nG+29TLh+kXo/AzjFj/DV7NxBrZ6jGmFrnhMsB6m6/CI4wze4Hjk\ntMVuWWe7U4Uat37mlxu953Cp6N9SOMaeewyeJuNskww9v00Gt+V9UMamt/WH\numuUOZVDYyv+BAB8a90H/hKZ0Y2JlKTjYZZn9Escfsc/mBm/r67rfnajWJnb\nnLNY6qhJuHd1ZVjlSMEbHwf7ns/mvnBe/aXutGhHIRDfgwWkfa6PTboUNwIt\nXsztPeze/xlJ68va/zzpNPqP+iuo2Lsf3nJvhPi7hRAm9UDQuYIHEet3XdDo\ndO90\r\n=n2lX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCwl2rKTft6Cd4KRY5YM153o8X/8K5UrykkaZUTAvxhAiEA/qOGpPXwxdSSvps7fqHPHTGIRsL4dUMheQE4h7W4MlU="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.4.1_1606276335534_0.3371940811163232"},"_hasShrinkwrap":false},"0.4.2":{"name":"@hai2007/algorithm","version":"0.4.2","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@babel/core":"^7.0.0","@babel/preset-env":"^7.0.0","cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.3.1"},"gitHead":"91a20ca5da7f3ea786ae1bc5ad44bce2e3b347f2","_id":"@hai2007/algorithm@0.4.2","_nodeVersion":"10.13.0","_npmVersion":"6.14.3","dist":{"integrity":"sha512-P6SJQF8MGP1xSmacqt26LMHi/nvdj27q4fLPlhww/RlfJ69Vz4ssycuMRu+cvAugaOALuuvlxa1jNVkVtozY3g==","shasum":"318e3ed3927924ce234e963afa1256dd5781bcdf","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.4.2.tgz","fileCount":38,"unpackedSize":249396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfveW3CRA9TVsSAnZWagAAICwP/jWEsVAGfSaeFFZJ08XW\nE45hDI9ZcylyRzGLGld6+KgNyjp4WYsHvxTMrohY81Y1LPmk4AdfgNQ++AN6\nESYWKdhdzvEiJcFwCz4gaOG/jfYmdoGPVJ0SJGZttb3EoBmKb3v8/XvDr+v3\n+CesY2ka+9oIuGBjTblbjecjAOtktm6qEHv3+3NiUZyJbMb4hYGKtTsCI31w\n7Hql3ldHzyBgdrGYDGcjKwYGo4OzrH8qD3w3bMvpSdn4JvxMtqW/M3fn2JL3\nWnRgWjcd8wgXU7dBlOj7HMtX5O9CRY6Ev0p+Ez8AXEyQ0wA/BxJsXfwL2Pll\ngje5JipAX9cVXoIyofY7YVuC6ICjC/+curqjZD1iLZoSmObKK7q55UAWCIok\nl1xE4zObR2CVZHZxao6yMlEGVdGjFhoCRdoqSWgRsDkxj99IMvcfn6FN7D9Y\nOmLzo+5HYurlVeTMpkGnBp8uzXcX4WAHhkOVXGr6TyiRNEvoin12Yp7pF/0C\n810m7p8uZR9pV3QdhK0BLqIJ9GSLMLaNAT//COC36PVO/bznTCAJ5nh0jLdZ\nMzsRN+/YubNuxi/iW1xwqJ9tFhhmOeoQXIEshh3t4z2gtwR86GUMUdoMIgTh\n7w+xKEekqwAht+bONTc9VvNj0RrR2sHNKwwbZU5WRsfgVAw4mFzkcppw47jX\nLd6r\r\n=enCp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBi98auDssAmf2qHEJ06PTSDdi1vOKedD1NW+fO8rLogIhAPN+ZhJDWLl+eyMSfgszn6AJRts9trgi3j+A8zfOlaWj"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.4.2_1606280630703_0.6202157534332393"},"_hasShrinkwrap":false},"0.5.0":{"name":"@hai2007/algorithm","version":"0.5.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && cuf --config ./cuf.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"hai2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"cuf":"^1.2.0","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.4.0"},"gitHead":"625ba2d66ac0ae5e44344f1e15732c5ce455f9ac","_id":"@hai2007/algorithm@0.5.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-nslLxMamstRGSryWypF5BgpKkzZeY0AhU0ikXLGDCIavSeQyGTwjMQqawbC9tjdQrTVPBUja5tQq5d/I6eA8Rw==","shasum":"5b31428a25437faa26086e1ec1543f12fdd1a797","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.5.0.tgz","fileCount":40,"unpackedSize":302454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfy99QCRA9TVsSAnZWagAAwJ8P/2A9f0BDP8Ma31twSXOG\nj5mhQM1zIa5xbbSDwo8JOIkjJgdexlKVL2gSWs93rfG1Txx4pr/XdRQPIxyl\nvC1CfJJlJ5eypCtjJa7MIUNb7fJjqlsiMnB+Dz/+/8Vd4QM0pTQYxCE23tfg\nI7V51NgYcM7mV1AmEpv0Rr/CAe+5e0T15g1U8rnUC1KFNLgMPyZItCyc93A6\nneHjtndcjA6Jjos160huxkO1l/gdRAyUizwiHPmRKVSiTrsbEjMJYWpoRbgw\n+u6W5OV8l3IYXIj1rtUrPUhfplZk55XwKyIGCVVsI2lltMOW6sszakcggCKX\ncQO4uOOHWgctQ2n51xGPglI0duN5s7IIXwJwmNldZXWxTYussjx5Eu2fYE0y\nP5RX9iki0DLuEiHGpiGkb2uciNcr/sF/KdiluFkE6vrwygH6N5Jvk4w1+jhr\n2FJDGR7EsACS6AJGOxLBHyJJu8Sz7yOhHBUpvVukqKVrWagGU9SVIXSxHLKr\nZFy+ZNa9N0XdGbYec95yZtffhvk0a/NKXVRZ3QxjV9Eahq8q0XfOT9IdEDk2\nKG8zfJaKBo1dFEhgeuRQV9shN2qRDXNLvhxX1PAZy8XU1ZwW3Al+Aocx2ZtD\nGAMswgMKk6CrlDzfSTCMPa5o3f5Rb/0GPK5qbpMjpzDOH53BtASXLqSNBblR\n+viN\r\n=/Hjr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSZnwwFMyUaNudbBMS9HhkmDESnuwlVF1TDQX0UbAd1AiBoqzetG34Jx/3xO0SIavAsVjDw/v8t6RyowL/Jb4pyqw=="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.5.0_1607196496009_0.16356714633491376"},"_hasShrinkwrap":false},"0.5.1":{"name":"@hai2007/algorithm","version":"0.5.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^0.1.0","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.0"},"gitHead":"74db4d474c540c9dd59c75ca55bbdc4fcdc125ee","_id":"@hai2007/algorithm@0.5.1","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-HhnZMyfWx90cTnIC58kZh2XuKCUxfUjd8Pxf+MXSQ1zLm3kUK6tzR5f882vI+yHoBBQbsDJ5QDwDokFky0Y84g==","shasum":"5de5b5821a6c0e5135de9b842a412ccb5ece82ab","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.5.1.tgz","fileCount":24,"unpackedSize":167510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAmXKCRA9TVsSAnZWagAAOREP/0LD/1LrIbEhfC03/Y+e\nE6KxDK5YHuqNhuZtCxIE6vJ49B1dFZpH16OUTE9zhcc7niCD1JYvel1fb83s\nc9KikXAe20UndNkxiLoU9oUnWz3LlUml7/EvpqJloUJbWUGz5VP3cgHGlY5M\n1XarJ9p1J9uZ/Apj50thv3GcstR9LDB8yA943X45ngeaOzNybsu4fjZMvAyT\n39NNv+49W7/0F+XrVz9NdzVzNjG920mYKDzwsDsdKMpKZZ6euClo90dsSbb8\nj5j0TPoLn3OoaZW9Ws9AkWWZZEkAjGXgPjbgdHyi9Uja5uxj2d2GLpfJ+xwU\n4vMXycA5PZCwYKDPchOQARfueeygvPh5aA7po6sd/dXyIuWo/XUcroLKJhlu\nzIqfnFl8FdEQ70ni5M8ADANmKD9WICjJbpzBPbcx9qKLH8WoMTkWZk/OaGn4\nVqzvqDgYFhCxY02h6DGz/wrOhFXQjXLKHdOgZMHucnB5zZUvw7S85h7/EbYf\ntv56yEFsehGR/qZ399bi5vqeZOn1skAz/OljIgSGxgVNKBo/Qx2LBGhmzIM5\n85jXR1ileDDoq26Jk9dhHXDWxndTKps1Ve0Yuz3iN+fX/Mpm4eqyXILeLS5F\nw+nsTvH8at6e6AgwNcGlAArEvQsohbcX8XLykB8cNfDPfJVEFywl9M3Xhymo\n+S2s\r\n=bgLj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBff6mlH3cnKspiq2t4ytjdRuOAcnHmGbBDK/iNF9RJrAiBmrPeJn2FlvoMUP+WkQ1/nJAQidMN5eQ/SVjHDpRkqSA=="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.5.1_1610769866167_0.020681509088885885"},"_hasShrinkwrap":false},"0.6.0-alpha.0":{"name":"@hai2007/algorithm","version":"0.6.0-alpha.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"readme":"# 🔪 algorithm.js - 一些前端常用的算法实现合集\n\n<p>\n  <a href=\"https://hai2007.gitee.io/npm-downloads?interval=7&packages=@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/dm/@hai2007/algorithm.svg\" alt=\"downloads\"></a>\n  <a href=\"https://packagephobia.now.sh/result?p=@hai2007/algorithm\"><img src=\"https://packagephobia.now.sh/badge?p=@hai2007/algorithm\" alt=\"install size\"></a>\n  <a href=\"https://www.jsdelivr.com/package/npm/@hai2007/algorithm\"><img src=\"https://data.jsdelivr.com/v1/package/npm/@hai2007/algorithm/badge\" alt=\"CDN\"></a>\n  <a href=\"https://www.npmjs.com/package/@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/v/@hai2007/algorithm.svg\" alt=\"Version\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/@hai2007/algorithm.svg\" alt=\"License\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js\">\n        <img alt=\"GitHub repo stars\" src=\"https://img.shields.io/github/stars/hai2007/algorithm.js?style=social\">\n    </a>\n</p>\n\n## Issues\n使用的时候遇到任何问题或有好的建议，请点击进入[issue](https://github.com/hai2007/algorithm.js/issues)，欢迎参与维护！\n\n## How to use?\n首先你需要通过命令行安装：\n\n```bash\nnpm install --save @hai2007/algorithm\n```\n\n安装好了以后，然后引入你需要的算法：\n\n- 基本的树结构位置生成算法\n\n```js\nimport tree from '@hai2007/algorithm/tree.js';\n```\n\n[<< 查看文档](./apis/tree.md)\n\n- 解析xhtml为json对象返回\n\n```js\nimport xhtmlToJson from '@hai2007/algorithm/xhtmlToJson.js';\n```\n\n[<< 查看文档](./apis/xhtmlToJson.md)\n\n- 设置或获取指定对象上字符串表达式对应的值\n\n```js\nimport { evalExpress, getValue, setValue } from '@hai2007/algorithm/value.js';\n```\n\n[<< 查看文档](./apis/value.md)\n\n- 把 SCSS 解析成 CSS 的算法实现\n\n```js\nimport scss from '@hai2007/algorithm/scss.js';\n```\n\n[<< 查看文档](./apis/scss.md)\n\n## Special attention\n\n如果你希望一下子引入全部方法，可以有如下方式引入：\n\n```js\nimport algorithm from '@hai2007/algorithm';\n```\n\n或\n\n```html\n<script src='https://cdn.jsdelivr.net/npm/@hai2007/algorithm'></script>\n```\n\n如果是node.js环境，请使用这种方式引入：\n\n```js\nconst algorithm = require('@hai2007/algorithm');\n```\n\n## 算法思想\n\n- 递归与分治策略\n\n把一个规模为n的问题分解为k个规模较小的子问题，这些子问题相互独立且与原问题相同，递归的解这些子问题，然后把各个子问题的解合并得到原问题的解。\n\n[<< 查看例子代码](./算法练习/递归与分治策略)\n\n- 动态规划\n\n和分治法基本思想有共同的地方，不同的是子问题往往不是独立的，有时母问题要借助子问题的解来判断，因此把已经计算好的问题记录在表格中，后续如果需要查询一下，可以避免重复计算，这是动态规划的基本思想。\n\n不过动态规划具体实现起来多种多样，不过都具有相同的填表格式，通常按照下面步骤设计算法：\n\n1）找出最优解的性质，并刻画其结构特征；\n\n2）递归的定义最优值；\n\n3）以自底向上的方式计算出最优值；\n\n4）通过计算最优值时刻意记录的判断结果来构造最优解。\n\n可以使用该算法思想设计算法的问题一般会具有二个决定性的性质：\n\n1）最优子结构性质；\n\n2）子问题重叠性质。\n\n[<< 查看例子代码](./算法练习/动态规划)\n\n- 备忘录算法\n\n和上面的算法思想差不多，不同的是备忘录为每个解过的子问题建立备忘录以备需要的时候查看，避免了相同的问题计算多次。\n\n一般来说，当一个问题的所有子问题都至少要解一次时，用动态规划比备忘录要好，因为不会有任务暂存且没有多余的计算；当子问题空间中部分问题不必解时，用备忘录比较好。\n\n不过上面不是绝对的，这样说只是想区别一下二个思想的不同，具体的时候还是要根据业务场景来在保证可行的前提下选择更好的方法。\n\n[<< 查看例子代码](./算法练习/备忘录算法)\n\n- 贪心算法\n\n算法思想很简单，和字面意思一样，每次都选择对自己最有利的，不过这是有条件的，只有在满足条件下每次选择最有利自己的才可以获取最优解。\n\n贪心选择性质和最优子结构性质是该思想最重要的性质：\n\n1）贪心选择性质：所求问题的整体最优解可以通过一系列局部最优的选择达到。\n\n2）最优子结构性质：当一个问题的最优解包含其子问题的最优解时，称此问题具有此性质。\n\n[<< 查看例子代码](./算法练习/贪心算法)\n\n- 回溯法\n\n说的直白点就是深度优先方式系统搜索问题的算法。\n\n[<< 查看例子代码](./算法练习/回溯法)\n\n- 分支限界法\n\n对比回溯法就很容易思考，用广度优先的办法，不断扩大当前节点的孩子为当前节点，主要是求解一个最优解，算法相比回溯法要简单些。\n\n[<< 查看例子代码](./算法练习/分支限界法)\n\n- 其它\n\n除了上面这些总结外，还有一些未分类的技巧，比如有些算法依赖特殊场景等。\n\n[<< 查看例子代码](./算法练习/其它)\n\n开源协议\n---------------------------------------\n[MIT](https://github.com/hai2007/algorithm.js/blob/master/LICENSE)\n\nCopyright (c) 2020-present [hai2007](https://hai2007.gitee.io/sweethome/) 走一步，再走一步。\n","readmeFilename":"README.md","gitHead":"b92c43969e5535b41d57b6d1012b673dce824599","_id":"@hai2007/algorithm@0.6.0-alpha.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-i7esLv5mWuCl44qjD+AtnOZD5k5ub2D2l2ReZDc95ayGvuaJ42sOVi8MUXz9iom8hzg8spkUvyQxYG25iToFFg==","shasum":"93ae6ee00a25cb56d2e2e7793f8af64482579ae4","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.0-alpha.0.tgz","fileCount":28,"unpackedSize":182932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxbcfCRA9TVsSAnZWagAABfIQAKP+IDX2Qq5IPhBZB2d2\nnxPlvMdeXVWxeiqUurDkaaUu/PAbEI2Yy7sRA5TNRAk9VNqmMLekFDG7xN3K\nlFtcibc17wySDVWX30gXdV/fZWaG/+vu7a/1l9SBZLSz0ndtWPC9WhSakirS\nGcws6Evqo0RKIDouB4V2Mzr5In/he0PhPdCxgD1CNV/LPSsqjWt6o3LExywY\n5ACZxU9vg2qj15dQqsibWrxJuU/KWNbq6hL1I4LmW0mthvcUsbgwWTjuzEBl\n86jjOkXp3wd8zZRcbnJhMbaf7wLO+6f83genmO9abe0BzTuVj411rblP2Bw1\n6KSO5R0qDnfC6rwWqlNEp3O6sbU3eEvrJNYvXqPObMKKZ3G7/3GQ0CPXNX7w\nuCJgZCn4XD+IQxwN/BFEXHEgvk69Zxl3j9lbIQo7WHJxHyEYTcfsZP/S1pSS\nTPjqGCZ5yzAlLizoQ6fvhESk7oAxvVHEB5G9X6JydfVZFOFB5VstMBPeIEYA\nACOJ0bKcOnJdxODb8NBCf2aySNKZVZEw/LlkD7XEw3PuTSODEzIsan1eNXHM\nwnHkn1iMb5/88AzAVHme7SFqpzd1K9R3s/DCbpAx0Z4AUaS9YgZzXJlO4SDp\nYB2g4vRhARD5U6FrEdffun6mGQe9YuMSqiFER/ELiy3jSIesL8TWx6whT29h\ngIFi\r\n=DXS2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMtojozu7O5+xZQW7Wm5EB5dEnYDpnI9HRvONq3zIeHwIgDNqYkj8Bs2/9y5I6I2tNZrlFIvg5UqMdPy0H2aHg9+8="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.0-alpha.0_1623570206936_0.20465985080218507"},"_hasShrinkwrap":false},"0.6.0-alpha.1":{"name":"@hai2007/algorithm","version":"0.6.0-alpha.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"readme":"# 🔪 algorithm.js - 一些前端常用的算法实现合集\n\n<p>\n  <a href=\"https://hai2007.gitee.io/npm-downloads?interval=7&packages=@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/dm/@hai2007/algorithm.svg\" alt=\"downloads\"></a>\n  <a href=\"https://packagephobia.now.sh/result?p=@hai2007/algorithm\"><img src=\"https://packagephobia.now.sh/badge?p=@hai2007/algorithm\" alt=\"install size\"></a>\n  <a href=\"https://www.jsdelivr.com/package/npm/@hai2007/algorithm\"><img src=\"https://data.jsdelivr.com/v1/package/npm/@hai2007/algorithm/badge\" alt=\"CDN\"></a>\n  <a href=\"https://www.npmjs.com/package/@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/v/@hai2007/algorithm.svg\" alt=\"Version\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/@hai2007/algorithm.svg\" alt=\"License\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js\">\n        <img alt=\"GitHub repo stars\" src=\"https://img.shields.io/github/stars/hai2007/algorithm.js?style=social\">\n    </a>\n</p>\n\n## Issues\n使用的时候遇到任何问题或有好的建议，请点击进入[issue](https://github.com/hai2007/algorithm.js/issues)，欢迎参与维护！\n\n## How to use?\n首先你需要通过命令行安装：\n\n```bash\nnpm install --save @hai2007/algorithm\n```\n\n安装好了以后，然后引入你需要的算法：\n\n- 基本的树结构位置生成算法\n\n```js\nimport tree from '@hai2007/algorithm/tree.js';\n```\n\n[<< 查看文档](./apis/tree.md)\n\n- 解析xhtml为json对象返回\n\n```js\nimport xhtmlToJson from '@hai2007/algorithm/xhtmlToJson.js';\n```\n\n[<< 查看文档](./apis/xhtmlToJson.md)\n\n- 设置或获取指定对象上字符串表达式对应的值\n\n```js\nimport { evalExpress, getValue, setValue } from '@hai2007/algorithm/value.js';\n```\n\n[<< 查看文档](./apis/value.md)\n\n- 把 SCSS 解析成 CSS 的算法实现\n\n```js\nimport scss from '@hai2007/algorithm/scss.js';\n```\n\n[<< 查看文档](./apis/scss.md)\n\n## Special attention\n\n如果你希望一下子引入全部方法，可以有如下方式引入：\n\n```js\nimport algorithm from '@hai2007/algorithm';\n```\n\n或\n\n```html\n<script src='https://cdn.jsdelivr.net/npm/@hai2007/algorithm'></script>\n```\n\n如果是node.js环境，请使用这种方式引入：\n\n```js\nconst algorithm = require('@hai2007/algorithm');\n```\n\n## 算法思想\n\n- 递归与分治策略\n\n把一个规模为n的问题分解为k个规模较小的子问题，这些子问题相互独立且与原问题相同，递归的解这些子问题，然后把各个子问题的解合并得到原问题的解。\n\n[<< 查看例子代码](./算法练习/递归与分治策略)\n\n- 动态规划\n\n和分治法基本思想有共同的地方，不同的是子问题往往不是独立的，有时母问题要借助子问题的解来判断，因此把已经计算好的问题记录在表格中，后续如果需要查询一下，可以避免重复计算，这是动态规划的基本思想。\n\n不过动态规划具体实现起来多种多样，不过都具有相同的填表格式，通常按照下面步骤设计算法：\n\n1）找出最优解的性质，并刻画其结构特征；\n\n2）递归的定义最优值；\n\n3）以自底向上的方式计算出最优值；\n\n4）通过计算最优值时刻意记录的判断结果来构造最优解。\n\n可以使用该算法思想设计算法的问题一般会具有二个决定性的性质：\n\n1）最优子结构性质；\n\n2）子问题重叠性质。\n\n[<< 查看例子代码](./算法练习/动态规划)\n\n- 备忘录算法\n\n和上面的算法思想差不多，不同的是备忘录为每个解过的子问题建立备忘录以备需要的时候查看，避免了相同的问题计算多次。\n\n一般来说，当一个问题的所有子问题都至少要解一次时，用动态规划比备忘录要好，因为不会有任务暂存且没有多余的计算；当子问题空间中部分问题不必解时，用备忘录比较好。\n\n不过上面不是绝对的，这样说只是想区别一下二个思想的不同，具体的时候还是要根据业务场景来在保证可行的前提下选择更好的方法。\n\n[<< 查看例子代码](./算法练习/备忘录算法)\n\n- 贪心算法\n\n算法思想很简单，和字面意思一样，每次都选择对自己最有利的，不过这是有条件的，只有在满足条件下每次选择最有利自己的才可以获取最优解。\n\n贪心选择性质和最优子结构性质是该思想最重要的性质：\n\n1）贪心选择性质：所求问题的整体最优解可以通过一系列局部最优的选择达到。\n\n2）最优子结构性质：当一个问题的最优解包含其子问题的最优解时，称此问题具有此性质。\n\n[<< 查看例子代码](./算法练习/贪心算法)\n\n- 回溯法\n\n说的直白点就是深度优先方式系统搜索问题的算法。\n\n[<< 查看例子代码](./算法练习/回溯法)\n\n- 分支限界法\n\n对比回溯法就很容易思考，用广度优先的办法，不断扩大当前节点的孩子为当前节点，主要是求解一个最优解，算法相比回溯法要简单些。\n\n[<< 查看例子代码](./算法练习/分支限界法)\n\n- 其它\n\n除了上面这些总结外，还有一些未分类的技巧，比如有些算法依赖特殊场景等。\n\n[<< 查看例子代码](./算法练习/其它)\n\n开源协议\n---------------------------------------\n[MIT](https://github.com/hai2007/algorithm.js/blob/master/LICENSE)\n\nCopyright (c) 2020-present [hai2007](https://hai2007.gitee.io/sweethome/) 走一步，再走一步。\n","readmeFilename":"README.md","gitHead":"b92c43969e5535b41d57b6d1012b673dce824599","_id":"@hai2007/algorithm@0.6.0-alpha.1","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-knIXtifu7yfeGSS9gwc8t2NbEqCrH79jugE0j3HmWIT6VBvCaIXnR4dVOUHhuBoxE+M2fznwLObFb6qq6w9b3Q==","shasum":"350a14d040cf73872a7e33f4721d6f7de3f30dd7","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.0-alpha.1.tgz","fileCount":28,"unpackedSize":183907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxb04CRA9TVsSAnZWagAAftoP/AhvA4PTH39HEzTh0/PU\nhosreaB1KQQ/PlkuIape2T2vwlUcHjRALhB7YQJIFB1HA2ZynH5gJigwv945\nlAoAqgpkVfeHP+jh43NlmsaC9QTb2kRwmUdvwETRwfIt0Q/X9dzkYtthEYhU\nzF9rPFrDTAi4Yk6sFqirk6d9fZUeG03RMJY5YmKbI4mQZPuEOL03VpNpRVgh\nwZT7rutkEXBjPpUnBHfwoNKFs+6SQSweI6euIAb+RZjUh6DzDrp4X4AfC1+3\n5X1K3hkOLx3rRjkGh3Kdlgz+P/yQJ0DZrjp4tRUepSfJt2zrxzRKvYfbYVEU\nJ8woklutWnIk2q7JkFVWjcfumMrQoktHniMNqmT7VkuO15eCn7hQZerBFMDb\nG7wR7CNYyDq5h5Zhd6gF+Jm1ShVUVLv7DQxuKFK8QsifLJ+DirhNTV+wTUVp\npEvn+/SGXd45l+T9+t7SvEUYPKamBjmPWuKsbOJYFAjY5mmt0ymVCgZUJFY6\nhCiLQZAJ/RZ7H6lD46z0rdCw6tKbH5KdWbkTW02v7c2ar3YEiCwOZhgI1ydH\nyIHhd41nyeqY3ASVHH1lhG3pbT3RM9YWUudlwbZDSVmie9UD/fEvmhJQfhXs\ngLe3zPU+f+FtxdkNUoLdJxkk8C0R3bziBQxzn3DTHg5z7sMJJNV5NBq11Ng+\n28f6\r\n=xKaM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE91C8RBU0bYZ1It4EpNsDiqTuL53jqAoSmKQog1MK+lAiEA4QgjGVPGhpUvF6EClonWBM8bleU/46oRLv/WYrtOlEI="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.0-alpha.1_1623571768270_0.7803451536063852"},"_hasShrinkwrap":false},"0.6.0-alpha.2":{"name":"@hai2007/algorithm","version":"0.6.0-alpha.2","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"readme":"# 🔪 algorithm.js - 一些前端常用的算法实现合集\n\n<p>\n  <a href=\"https://hai2007.gitee.io/npm-downloads?interval=7&packages=@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/dm/@hai2007/algorithm.svg\" alt=\"downloads\"></a>\n  <a href=\"https://packagephobia.now.sh/result?p=@hai2007/algorithm\"><img src=\"https://packagephobia.now.sh/badge?p=@hai2007/algorithm\" alt=\"install size\"></a>\n  <a href=\"https://www.jsdelivr.com/package/npm/@hai2007/algorithm\"><img src=\"https://data.jsdelivr.com/v1/package/npm/@hai2007/algorithm/badge\" alt=\"CDN\"></a>\n  <a href=\"https://www.npmjs.com/package/@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/v/@hai2007/algorithm.svg\" alt=\"Version\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/@hai2007/algorithm.svg\" alt=\"License\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js\">\n        <img alt=\"GitHub repo stars\" src=\"https://img.shields.io/github/stars/hai2007/algorithm.js?style=social\">\n    </a>\n</p>\n\n## Issues\n使用的时候遇到任何问题或有好的建议，请点击进入[issue](https://github.com/hai2007/algorithm.js/issues)，欢迎参与维护！\n\n## How to use?\n首先你需要通过命令行安装：\n\n```bash\nnpm install --save @hai2007/algorithm\n```\n\n安装好了以后，然后引入你需要的算法：\n\n- 基本的树结构位置生成算法\n\n```js\nimport tree from '@hai2007/algorithm/tree.js';\n```\n\n[<< 查看文档](./apis/tree.md)\n\n- 解析xhtml为json对象返回\n\n```js\nimport xhtmlToJson from '@hai2007/algorithm/xhtmlToJson.js';\n```\n\n[<< 查看文档](./apis/xhtmlToJson.md)\n\n- 设置或获取指定对象上字符串表达式对应的值\n\n```js\nimport { evalExpress, getValue, setValue } from '@hai2007/algorithm/value.js';\n```\n\n[<< 查看文档](./apis/value.md)\n\n- 把 SCSS 解析成 CSS 的算法实现\n\n```js\nimport scss from '@hai2007/algorithm/scss.js';\n```\n\n[<< 查看文档](./apis/scss.md)\n\n## Special attention\n\n如果你希望一下子引入全部方法，可以有如下方式引入：\n\n```js\nimport algorithm from '@hai2007/algorithm';\n```\n\n或\n\n```html\n<script src='https://cdn.jsdelivr.net/npm/@hai2007/algorithm'></script>\n```\n\n如果是node.js环境，请使用这种方式引入：\n\n```js\nconst algorithm = require('@hai2007/algorithm');\n```\n\n## 算法思想\n\n- 递归与分治策略\n\n把一个规模为n的问题分解为k个规模较小的子问题，这些子问题相互独立且与原问题相同，递归的解这些子问题，然后把各个子问题的解合并得到原问题的解。\n\n[<< 查看例子代码](./算法练习/递归与分治策略)\n\n- 动态规划\n\n和分治法基本思想有共同的地方，不同的是子问题往往不是独立的，有时母问题要借助子问题的解来判断，因此把已经计算好的问题记录在表格中，后续如果需要查询一下，可以避免重复计算，这是动态规划的基本思想。\n\n不过动态规划具体实现起来多种多样，不过都具有相同的填表格式，通常按照下面步骤设计算法：\n\n1）找出最优解的性质，并刻画其结构特征；\n\n2）递归的定义最优值；\n\n3）以自底向上的方式计算出最优值；\n\n4）通过计算最优值时刻意记录的判断结果来构造最优解。\n\n可以使用该算法思想设计算法的问题一般会具有二个决定性的性质：\n\n1）最优子结构性质；\n\n2）子问题重叠性质。\n\n[<< 查看例子代码](./算法练习/动态规划)\n\n- 备忘录算法\n\n和上面的算法思想差不多，不同的是备忘录为每个解过的子问题建立备忘录以备需要的时候查看，避免了相同的问题计算多次。\n\n一般来说，当一个问题的所有子问题都至少要解一次时，用动态规划比备忘录要好，因为不会有任务暂存且没有多余的计算；当子问题空间中部分问题不必解时，用备忘录比较好。\n\n不过上面不是绝对的，这样说只是想区别一下二个思想的不同，具体的时候还是要根据业务场景来在保证可行的前提下选择更好的方法。\n\n[<< 查看例子代码](./算法练习/备忘录算法)\n\n- 贪心算法\n\n算法思想很简单，和字面意思一样，每次都选择对自己最有利的，不过这是有条件的，只有在满足条件下每次选择最有利自己的才可以获取最优解。\n\n贪心选择性质和最优子结构性质是该思想最重要的性质：\n\n1）贪心选择性质：所求问题的整体最优解可以通过一系列局部最优的选择达到。\n\n2）最优子结构性质：当一个问题的最优解包含其子问题的最优解时，称此问题具有此性质。\n\n[<< 查看例子代码](./算法练习/贪心算法)\n\n- 回溯法\n\n说的直白点就是深度优先方式系统搜索问题的算法。\n\n[<< 查看例子代码](./算法练习/回溯法)\n\n- 分支限界法\n\n对比回溯法就很容易思考，用广度优先的办法，不断扩大当前节点的孩子为当前节点，主要是求解一个最优解，算法相比回溯法要简单些。\n\n[<< 查看例子代码](./算法练习/分支限界法)\n\n- 其它\n\n除了上面这些总结外，还有一些未分类的技巧，比如有些算法依赖特殊场景等。\n\n[<< 查看例子代码](./算法练习/其它)\n\n开源协议\n---------------------------------------\n[MIT](https://github.com/hai2007/algorithm.js/blob/master/LICENSE)\n\nCopyright (c) 2020-present [hai2007](https://hai2007.gitee.io/sweethome/) 走一步，再走一步。\n","readmeFilename":"README.md","gitHead":"b92c43969e5535b41d57b6d1012b673dce824599","_id":"@hai2007/algorithm@0.6.0-alpha.2","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xIJFOy8aJAPMzrE3Ra0ZMO/CQtF9KbX6Af0zG05/Hcpg3kqCoa1RNOTpS6o8tvob1husyfTpy1dMt3JTWm6/9A==","shasum":"d2dd0572ace0bfc5ce169e20b473c88575dd429e","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.0-alpha.2.tgz","fileCount":28,"unpackedSize":183901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxcEBCRA9TVsSAnZWagAAXZkP/0bi7afLx7h0RXRYM0mW\nWH/SAtwyQgxuapem+euKDVKyptKGwbZRLopV9gchGljWWX7/+xy71Tv23cFW\nPfWqiSmtEgmK5ofOVeWVqfg/Go3nbZyeGujXyZG+ngW9rdwNGALL/NPVOPSm\n9V6Bgv/4Ark/DXVZ+qnjyDWW/5vSQPVLEh0N2X2ZJS8oZ0tCjyoxePLcNBO5\naeHbdUTRx4SuGnQUAcswlk2zers8b609VU/hfB1VKW3XQQJW57jtaNH6TmUp\nLtC6amDR/dDpSzAbt8J3WtG97FFH0cY60ztNVtxmY1hh+Niryv1CNy8YxbHF\ndFpwuOucpoghweT4EDWK/xZR3PdVzpM8GShs9FYFN/fMeqHoeGkeKsG98+H+\nSLLL8IeiMdKLQIXlBbgeD0NK2ssevTTuqikb54+uy36tcRdKPLmAPWoDQ3aw\npuY+PjedVCOKPHscspWQ5k25SZY0By6EU8wY15UaFfNLxvLCDMLkvvNqDXF8\ntuRVK4yIs1olnQVTO7b/oSnsQjIzANbYHicRU3vZtufOfMUKVn5T63XhEVja\nFDUf4+ADT6Pzbm7nYpK5+QZZ2f9wsvwjnsTR5oeeJLCTyMrRHQh8jdPH04ry\n2nUa5booYA1/roWzSLD8ZqcSCG+JJr1XL5DDbCQCOPp1IMhxTBOEhSmBkiF8\nVsRk\r\n=NLNH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr3zypOm9DJrv3Ss54Hv1y1Qt95KiTXYfLu/z7h6DlJwIhAK+DGVa5YjEndA+ypLXyxt27PjzIAmvixeHyPHK2OC05"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.0-alpha.2_1623572737717_0.5319728057003688"},"_hasShrinkwrap":false},"0.6.0":{"name":"@hai2007/algorithm","version":"0.6.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"gitHead":"b92c43969e5535b41d57b6d1012b673dce824599","_id":"@hai2007/algorithm@0.6.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-LFU2ft3ZwC0nJWQA4r6IZ2O/7s6ScRuqTbz20eGz+r1FkIYFbHZHyX8XyGH59aCGQFHHJIo9kWYSGqaYVSIZVQ==","shasum":"9d04ccd9b9ad1b661c7b167e4194620c27d80465","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.0.tgz","fileCount":28,"unpackedSize":183987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxcGECRA9TVsSAnZWagAAmFwP/3aRZd7rboTkRpwoCfMy\nWteO+KU7bjKHH+Aro6g1513Nk2Zc9DoJdLkXO8C8Eovq+7DjfkoScCo3Y1Q8\n9jND0uYvucV8oI+7YyrCBe726YbxVwOtk+ihiL3FySZFplyOae+2zrHFJS0S\noJs2lsdWcSzbX3R6E/BOgcUNgmwedk5rOUztlVXsFF8kPayvI8WbniJ5ciZR\nxyBvuKWwKSa3m/5RVpwcsAmSmGTp073IIqXmmITg5joFvOY5rdrWM1BYnu/F\nwocbvk9K+s+Q+EszW+WMUTZEHI/qv/MmLUVWziI2iR8MK1+k/I4IMApK5Qpe\nGhBCKXneCCC3jmrN0y7OUvcFgpqaQXeeuvcomVcEMEbyrIouhWqrMkVKqlNb\nPJnuXOOA+9bH84jx9bsejffnZTGojFddr4GxgB2YmBb9wjVRz6dKrb4SVVqn\nah9c0B417yZYD8eKuNLvOC5B6EyS+s+3xkpPAHKC7QuYtJcwPNMeY0JmqSGz\n3L5qR965ZMmURVSgNci3VxNMDObxB9ySg9ZIrUd+CvrtoXdvwZgPgmqAKlGN\n3kcncY9w/jt4XOCkh3zbvF/10m6nj90qh78302Zv6RUdXP5rxgAg72IJOU6B\nKWxoTeWHNSY4qpA6FpzZJbxQj44GFRYvv+y1K6cynxrOYri6op4DzVTJqxv6\npWCE\r\n=kHYq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYMzcI//CWh64ddIAsaoDU937VzFgMWjricqFctRcknQIgFV3YYP0IZHXJsi00hTz5j3pHKSN9ep4J5lU3scFrEWc="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.0_1623572868290_0.018927603310992858"},"_hasShrinkwrap":false},"0.6.1":{"name":"@hai2007/algorithm","version":"0.6.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"gitHead":"377db81444033165ad18965c56d029a9ff676d51","_id":"@hai2007/algorithm@0.6.1","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xdLxfoZk+C06nYNxotmiVV+VzgDLHrRxKpW9w+VW5VMGGmcvzgNP8MRzqeD/7PJy/VUf1coudpCrSdtq3lKgpw==","shasum":"087133f321c98e72f25e2b1744df05869496bd39","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.1.tgz","fileCount":28,"unpackedSize":184083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxqyVCRA9TVsSAnZWagAArhwQAIFBH2NM8vHTwkoP7Hip\nv5Uhv+LkCutpBxDcwUFv27FwzWra2Y3pePuPtL0aHQj1KnGf73TqmNptEXaZ\nvFuLzgXIy6kp9LCbgbmgfgFTBLzuHDaZMWCiOkqXdY3xtX4Glmf89PFb5utH\n+QgiLPh5jzhZKn4v0qYWOZ43sxG+RWghq2DchPkHWcpdX8Esx8BOOQWauf1k\nPtstsgAheq9+tGofMvMKGANKllKXY2EXtG77pP4KYnrQXH6xKa5An1+ggcxN\nDTpdq0H1OsQGUiTy1CIKhQ7ztWOo/V3QbKwbn1TPuteKFcvEn+D6tJ8qMk5a\nJq58CaAX7lp3E8ZXU5rkGqdIjJu02WasglmUCFiw3gzdIruHDNPzzgyVt3+5\nhaxKchtHv686U8H4XpGLbtJ4QYqwaHCX/Zh2sl6TDFlQBwN1AdSsFCOw2xfZ\nF8X9xCf7uVOBhEPRKlOb+EKfqAKqhOXu+dWemgujlKkotRrJuoPj1QFKC+GN\njdO6fu7Zv4e/cts7QtBRCnNkRSOEv9BObrmGN1ROwEwa0Ol8Ktvgv9VLuDXJ\nhfsMsnrwz7e62Mkwedm/GsQ7rvUsOE9x289zhKZSdI60OTVkSaZRlT3L0+st\nkFx73SH+IGAqxXM3ex5uyEY1FM+F50lNvCEgjlYrcnKWMCP2kASPSb1BCgSi\n2k32\r\n=xS9S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtQHyLkZusetEuoeYdnpTVcYZR7+XHQ13BzYee7wWsxAiEAi5YZPr97W8v7JTzGmjaxF/9Ka7mtWmWl6xfDSQ+7Ulc="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.1_1623633045214_0.9786610205303385"},"_hasShrinkwrap":false},"0.6.2":{"name":"@hai2007/algorithm","version":"0.6.2","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"gitHead":"377db81444033165ad18965c56d029a9ff676d51","_id":"@hai2007/algorithm@0.6.2","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-RwkyenG0JV6Jh8V4pn+kH1ja8BiKr9w+Su6ghunjvKKFZBc/qc5Vnpz8HMM0hmtkkEEfsoYuldZdLn93d9au/w==","shasum":"4bf915167a8d563657b3fce35728a084f1dd4605","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.2.tgz","fileCount":28,"unpackedSize":184083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxqzNCRA9TVsSAnZWagAAG8YP/0j2lxRwpog9OpZYTQ4P\ngBBUPaKA6vsQUEcz2Zcpg0dLxBp04nbqXYRIPcTDm0ROc0ROW+LZGrWUKSp6\nClt/GcpmbgWxyZw8yxPN+2xh0pQLqYR4nqhHN+rULoXv1aaVkvH84lhgEaFE\nSO/uZ4iPZXQQ3JvY5WOm33N3ArVJQhJBBw3WN9oa3zeZ25Fflp3W93jKvgGr\nRfKWsS0y+LpYisjjgqzgu4cO+6vbuhcZOXPLBEBOFsfzpMkWwSljJe4Lme+4\nTskA7fVp0HnYkrpQzovGKSXrGZK5bmHHC3OWz1VEcbbCUlDZ2SCD4vhxszGc\nU77DBf8xgzNdAqUCZlfKk5IwcB8ftgz01lJAe4hC2BIOt8Jc1Azzf0nwSmsz\nnuSxY/C9JLTZd0p2PEGBSaagfjyI7sYYWL7GK8Tv47faM7AckkcLd7C6XRSM\neYIKOAkIic7UZwyIXLkPPjEihVMR2WDKQWrXPhFxBBH/WmQagnlmw3flz0cb\nTug8Vp7Km/GFsaAKd15HbVR6ENvX6oN2vy+yYcrBziUCS0+RbvewWoDSSYFv\nLiDxUBavrctrSbXB8PAHxhC77i8bioMPZeMpSa5cI7DtkchZSXtFJx0QgX42\nkO/5h70l/cDno+S6eli0bsJhvtpRp+ExsX5/92lIs7UPQC+v1rCi42mOORWC\nBkxk\r\n=HKcg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpDu3NhW3v7UPeS/fN9Du/4Sj0q5KSUp0Y4QdmbD04qgIhAPb9axlO88Z+RQHVsB70G5XFsVZTHPaZG46Qv7SnxeVD"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.2_1623633101016_0.17879492654501328"},"_hasShrinkwrap":false},"0.6.3":{"name":"@hai2007/algorithm","version":"0.6.3","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://github.com/hai2007/algorithm.js#readme","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"gitHead":"df49f4d1f66ec902af508092a26c156525fd30a7","_id":"@hai2007/algorithm@0.6.3","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-HmuqfrhffBGFfXkKYXGcP+sJXFfHA5V3sVJT5JgWN79mcAXQpbK7ZbGv8rFIUVH1na2OFdAjPAShZviAUOvl8Q==","shasum":"0c412aa9dd9d47b523e7216dad1e65de9c83b12c","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.3.tgz","fileCount":35,"unpackedSize":196275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzuRLCRA9TVsSAnZWagAAQqgP/RTPfmjhAOaWz5Gyen30\nr8hbJ1GbhU7M1NjamPgXVVgPUjtQPi+XqrP9YAjqNmwFavrLGIe18LIGGRmc\nlltLOTwZ2wkx5z7zOaUw1Z+nODYPZcq5RgwzlQIgLhWhMRdP+ZiuJGhWGE6c\nHM40uGPTq1E4fURMZzAW8agMKQo5Q9bGhr+VUzqKrpENkAF/8jXer0sn0U+D\nSm3jn84eIr7Ne9eS/nSQWqcRwtU3c4iWkVT9cha52bqZSH9+U6pLvv27/PVi\njyisWrIaX6RJHpfi5zQBsIK3qqbyIXgUJvu+FXbJr/D3xDwFDc5Nd+gseGIR\niQtKjSvA/JE43owGxeKC5nXKiCOo+fDY1r4dT4z4uTv69/J0h6P1zasBaKEY\nbir2kZ91lSOnmsbDrWS9FCS5/xnF6J4D2YZI6QsJUgCOaQFZdcXhmKJe0+Gf\n+gWKYbb9BNiYK8c3AL2xzEMK9tzALFvcnUjwH5SGUmPMcbfFsrrMxfKp3TKR\nBZWBqG6/F0SGYzADS4VJaAXQeQuOehk2nYeFcbDzGrbZZ/62Dbw8tjx8KAG6\nUB0/STizWfUeug19/Vj2LeVC2kAc4KeBKY5/wsuiHYMWRDJfM5WA+O//pBk0\nls/bYlMsA9pJD3SkMF4nQmJat04grOlhig0Ju0C6fBobEBh51RkLtAtvEg9f\nqukz\r\n=ZqUu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaewO4MzsWM+vUCq8fmzaH3FPk2mxormW4nS4jRqVsMAiEA4Bd57+C/zkMmzlLVaKMMhjE8kCNKA+EkNyQJSCEOGbA="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.3_1624171594280_0.47708874515144384"},"_hasShrinkwrap":false},"0.6.4":{"name":"@hai2007/algorithm","version":"0.6.4","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.6.6"},"gitHead":"90fe1bb61d9964f9ac28c6e828d8cb9520442f6a","_id":"@hai2007/algorithm@0.6.4","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-qg6sTEthm2rC0Q5oUMcJgzc0IEO2cRDwFS8GEU3idVX0k4XM5izoKjPXQjGEkxpP8C0PfXL63x9ZOlTwSRVZ+g==","shasum":"44bd7c5d4fd0f802f4e5f9e9a80f854022a86579","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.6.4.tgz","fileCount":68,"unpackedSize":950488,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKzK+CpTyqxHBV9i7VW4aSDaLvhjOCjgy20ZN0qaTvTwIhAP9BFcJrEf2bJS6awevl9xwzm4ZPQTU/cp9KpUtGACir"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.6.4_1632380738287_0.8202384917908094"},"_hasShrinkwrap":false},"0.7.0":{"name":"@hai2007/algorithm","version":"0.7.0","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.9.1"},"gitHead":"0094c2cde88a965904a18e934fc99de9a432340b","_id":"@hai2007/algorithm@0.7.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-JEyrrUQ6YNnrs+uqZ/Y4tw9CbzTTtlegfy+rNyZuQZGbtunEAHYcYaNb32sXejyQNwVWOXdDygKv5IaQT5Hx3w==","shasum":"3b43e1f9de83a72a1c9b05d2c6bca6d5d856ea34","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.0.tgz","fileCount":73,"unpackedSize":971524,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrZY02Ng7W2PJGvQOpJXyCusWG3d+0QkL/fd2FU7AMmwIhAOdaW1+yzWjVt2AmgJjg89q+cT11VwI4xRWdoXTB8LLV"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.0_1632460249433_0.5267533202068377"},"_hasShrinkwrap":false},"0.7.1":{"name":"@hai2007/algorithm","version":"0.7.1","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.9.1"},"gitHead":"9de8f59301c6be677a9a81517f9d3f78cdeb4924","_id":"@hai2007/algorithm@0.7.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-SR9/E8KGBCbJoS1LiDves6i8N7VPnu7YOlOZ5rWzc84yASz+/rYJd9DqlPd01WdDK3GjQ7NzbBEuzjzZi+QDxw==","shasum":"1770f61d9fc4269f91ae323618813b4cf1796977","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.1.tgz","fileCount":73,"unpackedSize":973291,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+zYecy7KS+9Dpa1Y2WCnntqX+Vx9p32GG0WIq2SiRvgIhAI0dWUgtpegXCDY369mWVzsLv+8GYPqB0hUJYLXRCwrr"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.1_1632468955282_0.27571103072949965"},"_hasShrinkwrap":false},"0.7.2":{"name":"@hai2007/algorithm","version":"0.7.2","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.9.1"},"gitHead":"51aa3674c6e68e3f0895ab9e42153b3e7acfdb44","_id":"@hai2007/algorithm@0.7.2","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-2dNSoFyC2fLFS61487xSPcq3eKlfRXEqsXLOypxxvWCDowJTH1ZrUxH3Glz+E/yLtfeIaxg7+rSg450T/4OeeQ==","shasum":"f9b1d5579ce47a69026816c8aad2def91f4a7011","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.2.tgz","fileCount":73,"unpackedSize":977383,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFkE+tapukR9Co3khPHREqL3Hwf1PmCO8MSBMa4yVVgAiEAgx/aXqdZt/jj/O6pZ59cYvFLaIj20nIwokmVUer6OrA="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.2_1635258535779_0.7005339488676416"},"_hasShrinkwrap":false},"0.7.3":{"name":"@hai2007/algorithm","version":"0.7.3","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && hai2007_nodejs --config ./hai2007_nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^1.0.1","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^0.9.1"},"gitHead":"5cfaa0884084ed030b0e9940ace46cf97b07d9a0","_id":"@hai2007/algorithm@0.7.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-VCBG2OS3MxBLfMq6Vhq5HOP1Oy3RyCD+SNT4OLzr6EWdf2KuepLtYgVVWsSJfnaFTy3P8gmLP251yICTk/pPDg==","shasum":"8f456f686d3a31128dc3a51b4fd5841f289e66b8","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.3.tgz","fileCount":73,"unpackedSize":975960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqISCCRA9TVsSAnZWagAAlAUP/2n/kyOZ0ZvXlbbt4Tor\ncMp/04qXuNOv7zn3uYYPVm7HtXB8B7iZ2GT69shCUJv0DOJKjaF5Mb5cg44Q\nyi59c8qazP9FSuq2TBK1nCWPJSn+A018TvTvuN7AE0YRtOXaInbwzN+vxmed\nin3pfESK8WZTpA/Iwz0JvTn5MkcFn09ZmUOcpNr6eAH0ROniNVUa+gcZ5fBk\nwCKbSPH3efQ0JtY1n2YTzhYWDHUJ7lqDylnfRei16IVf8ou8qf1/31OerQpo\n7znFRo/kTj/VKCUnP8LgkuDYAb9LoKSK2eLc656iAxhTFPggaRZaafWsV5+S\nIjJ/IR25etdOR0lAADRdq8a8vOHD+D4zVNInn4mtiaY6+WAF7/D7gLcsJMDz\nFVlSkDF83syaZ/HvK9qFPKrO9dg1M4rJhOigUnOI3jUvtnDXWOkS2GDuOab2\nPVxu5wv+Q5QsA88sv7lcRe3Hd51YAozWFuEWEdXVq2uLrwx6cGz+NzIyCQJz\n8ZYqV/o42zJj3YOnzvHv8CVxiuRJI2cuHHmQ70dhTLxptiaAIZZSZydd7J/W\nHdhYo8rfKguUr8hpi1RRiI1PmVF54Rq7i37/P3e+5cP7WmnvldAQz5gJJLlm\n0Bm7c1CcL472URCvcol4S38K2m/NDv7OHoD4HNdcd+esHMM7q8ubOACDVZxE\nUi38\r\n=8Oow\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3O7NjNlttvchLe7NBa6/hok6oTQ3bLyrTBkw57Ot26wIgIbJQxfSQTv1rmfbrWb7dqmpD5x1SPLOuH98oHaEB4tc="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.3_1638433922182_0.9059884267065195"},"_hasShrinkwrap":false},"0.7.4":{"name":"@hai2007/algorithm","version":"0.7.4","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && nodejs --config ./nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^2.2.0","async-allege-web":"^0.3.0","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^1.2.0"},"gitHead":"da7cff442d545bbb7288f317a1c226158beba9e9","_id":"@hai2007/algorithm@0.7.4","_nodeVersion":"14.17.0","_npmVersion":"8.5.1","dist":{"integrity":"sha512-pS+lsYC9d2BFtgK5eIz/wbbBdg8GsnyRcTHg7z07zfKNJXfNLYHvDYdhSALE1FRPXpHtg1Q3PtMeCmZlIGiETw==","shasum":"50284f399c66237c9883a09016e21f50fb869a1e","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.4.tgz","fileCount":71,"unpackedSize":714285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiG2OFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMBxAAgI6GJBro025Y1yIoMu8/pijZd8xnd2QssXkh5k/srEmvGEvE\r\n/evOrAvR99HKj/LSJq8p/4+xaj8dFNX1MCwVUguUZKpkGyGGYPHufJGBrSEJ\r\n98kqMgow43QnD+MIjDiyz1JWVMWzM39NJ/Iq2mZiy0B/2JSkytbmNO19ffQg\r\nplgZHuoSPuUv5+fYLTZiL5tZoUkACuRosk+Xu0aarCJ80mpF3+ok4SjQRL/S\r\n1akOrq6Rti1RNont8bFEao2LqFKAwphzSIb08RXYRbBtCIe1eVbsYjjzIhiV\r\n1HirzxKxMJFnJzGZhZJLbvFO+g3lLr/CYlCW3TbxajTU9k2qhxMkvfa1LFZ6\r\nYWtb/5Ul25quMkfGLLqEyTB64AXP92Dr16Hq9vXenuz/NE/vWlYLeZQ03+tD\r\nz9gSMol40oo1VSnjC5Je2zsYVUcozHDUpeqUx6wH1OiXupwONLP1+tzCMdb2\r\ncNDwQ8Tt3l6enb0xIBSgsCUK3Do118W3of3Y9uqzZFGDV1MwcIj4ZU3rJKrg\r\nEXK37Tc8z+prWbjeCUbF9ZBmkMyWIYWwUAFimN/rIwKYecxOOXxN8vv1iyn0\r\ngqxQiz42KUmVxAk7qQ4T/T43cNzBQbtLjzrkDFMpSxe6ZbDi65aYoFOHBG4x\r\n6wXCV5Z88KybkADBvxnMxKoy9EMDmRSiKOU=\r\n=cAdz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICr1sqitDeaY0xPqf8lnJFS4Uc4+24peH0Hc+ErG5Tj5AiEA2HZUI2cpYzS+Y4gSzhfP/JPReq/CdehpR+2RRcg+f6k="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.4_1645962117802_0.4256129562165296"},"_hasShrinkwrap":false},"0.7.5":{"name":"@hai2007/algorithm","version":"0.7.5","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && nodejs --config ./nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^2.2.0","async-allege-web":"^0.3.0","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^1.2.0"},"gitHead":"bf611f19da0188709646db6c2829b1427e8293dd","_id":"@hai2007/algorithm@0.7.5","_nodeVersion":"12.18.2","_npmVersion":"8.3.1","dist":{"integrity":"sha512-49smsP6szJ5fMlynPUm/RO3WXGK4DYewZvD6aNf0LXJ3cfKl/lKoWDKC3iKHC2/iihNSWLzXzPDG1/fztY1mIg==","shasum":"c682baa1869bf631d196c06fa022111b5f7b153c","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.5.tgz","fileCount":71,"unpackedSize":720773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHYj+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7ChAAjfHce5U1DXNYsmu98Eyv0lzzzoF+DY/OnOB5g2/C0GhSvj1d\r\n1zbeoUp9lwX9f0zfIjMFwR6W22chtvLan+JSU6ZFXcQ3Ym4nv8vMELxP/CP1\r\nzAluuRm6uxcW+yuYKY+7QPrTceuO8QPf7L6KT2Bk062hyX8volQYrqCf4VGW\r\nKW4yyPxE6o9Xg9YoT6g48qe/fwKMO1U9LDoASxJu0+7Htytwo85PrxDLQf48\r\nAeXa7JlCAjpK7awX5cvKo0Dm3QSrA2yW1XABsh5szq1mhz1ACDZZcQgpieuJ\r\nKLHZl7qRKGmSosTkWpSO29xILcoieaJ5mUclIBAUDjOQBF4ScLyU3ydoaAkh\r\n02U/rcKm8R3xl8WHDNRnHfdD1wfqAbqQ8nJVhdONXFQInzXOAHlItyQ4FzNr\r\n5kn9Vb+Q9U5LP8NIlFI6BN4i3daM+P1WQPMzD+fEu6f7paZPNVaR3i6XTuDI\r\nHR8OBPmfa0Ow+L3mto2Fj0nDnmd0DVUZXnSmaSwBGQUh+hPfT/of/pabqBaD\r\nTqxtdZk0lkErTQ5ukFIr+MiyhJKQRSeAeGRp43zhc7a3TQcLlut2y603vNes\r\n1gj3ixOP5Vx1Hb03H1P8ioc2ZX+9h4cFoUIVMBd1BqeK/iUsiU8QNhIfNpZF\r\nXrkx3SY/yMsX0F+o+QrGi/TquKDtjCHxM+Y=\r\n=APBV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCemzWSLN15wdxmIVUbZUViKhsJj12WJzIw/xvcFtPH4gIhAMppWVFQrOI8CHwmkjPCqvE+rXv9CceIH24DMsiYqsnD"}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.5_1646102782468_0.5248020537117546"},"_hasShrinkwrap":false},"0.7.6":{"name":"@hai2007/algorithm","version":"0.7.6","description":"🔪 一些前端常用的算法实现合集。","main":"./dist/algorithm.min.js","scripts":{"start":"npm install && npm run build","build":"npm run rollup && npm run uglifyjs && nodejs --config ./nodejs.config.js","rollup":"rollup --config rollup.config.js","uglifyjs":"uglifyjs ./dist/algorithm.js -m -o ./dist/algorithm.min.js"},"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"keywords":["hai2007","algorithm"],"author":{"name":"你好2007"},"license":"MIT","bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"homepage":"https://hai2007.github.io/algorithm.js","devDependencies":{"@hai2007/nodejs":"^2.2.0","async-allege-web":"^0.3.0","rollup":"^1.17.0","rollup-plugin-commonjs":"^10.0.1","rollup-plugin-node-resolve":"^5.2.0","uglify-js":"^3.10.2"},"dependencies":{"@hai2007/tool":"^1.2.0"},"gitHead":"bf611f19da0188709646db6c2829b1427e8293dd","_id":"@hai2007/algorithm@0.7.6","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-mx+8QOnf4yWnpT+z/wW+Wo9D0I2DOqhi/B0O2nwuCPAW861XmlcjAc6k4pBg4uDy/ymg4MhAm94hXklaGackPQ==","shasum":"79751a2e18127e2b0cd716e7c2b71d091520c4a6","tarball":"https://registry.npmjs.org/@hai2007/algorithm/-/algorithm-0.7.6.tgz","fileCount":71,"unpackedSize":714573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOtUjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9+A//XdB3m9Ebx09SSkWVWC6Bvp3fEW4bYKtw1jMXgFYzdEUOJPe/\r\n1W21i56kRjp6yiZPWQx4npklWH6G8goUXQMxW4Na3SzGR/TtX2QNHmZJf/MI\r\noCrWBdOhyD2sjjqU4vRHhl2dbjM/n95tnyJyIvPzCc4ortAPGVx1SF9dWsj8\r\nxBJNdbPvsjy5VMG5GxrFOlrPaDisZHTQJwYNSVdAh/uLVnKpcDlTuv6Fo40H\r\nXIe/HLI/hZft6DNoqPG7mJnmGRH3keziTI3951x9KNRkmb3u0t2/09aJZkl/\r\nd1Bo7KDVZptO98iq7V0XZNu26oRpLTdiFZXCpH3r0CUhjERIcn3k53LebBhM\r\nPW2uOVsCGPyFC2JOHgheHbTUTtFh0cQgm0dbtPg31m4QUOPeb263HLWU1Wyw\r\nHKIl/MeNMWoXNChCoIJeSqT2jUul4S7p1VjS28VeEI8sXI43bPPdN1Ih+/EM\r\npKo8YgnOjBbirIsp/m9AoaHU6oS92lP5O1nHir4p6E3wyOr3BchrWVY8g8zs\r\nuUJ/7xXNNHYbUPbNCZZaPFU1/VsDKrb8+llHUPgQoEigMKgXA2WQNDM2rzRF\r\nayQr7HDvEE8nRjpTCMDjMm70BGpsxSe6EoGObD3TWupM+PHi6R/VOIxMtsrD\r\na12BR4EixWHH0k1dYeix7N+ajhODIoBedYg=\r\n=fqmT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDtPcv2rGwbnQYfPwQYyLcaqz+B/QKWvdtVE8cF5v5PAIgDez5R0FT0v9qBaTCQ3nL4Pv87nlSbXiFTgflAaLcVSc="}]},"_npmUser":{"name":"hai2007","email":"2501482523@qq.com"},"directories":{},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/algorithm_0.7.6_1648022819734_0.1629538340983323"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-14T17:18:31.880Z","0.1.0":"2020-11-14T17:18:32.071Z","modified":"2022-04-05T16:41:31.989Z","0.1.1":"2020-11-15T06:00:48.615Z","0.1.2":"2020-11-17T12:03:09.273Z","0.2.0":"2020-11-21T15:39:57.210Z","0.3.0":"2020-11-21T15:46:26.906Z","0.4.0-alpha":"2020-11-23T16:58:37.883Z","0.4.0":"2020-11-24T13:15:03.958Z","0.4.1":"2020-11-25T03:52:15.760Z","0.4.2":"2020-11-25T05:03:50.875Z","0.5.0":"2020-12-05T19:28:16.173Z","0.5.1":"2021-01-16T04:04:26.364Z","0.6.0-alpha.0":"2021-06-13T07:43:27.084Z","0.6.0-alpha.1":"2021-06-13T08:09:28.414Z","0.6.0-alpha.2":"2021-06-13T08:25:37.945Z","0.6.0":"2021-06-13T08:27:48.425Z","0.6.1":"2021-06-14T01:10:45.468Z","0.6.2":"2021-06-14T01:11:41.188Z","0.6.3":"2021-06-20T06:46:34.401Z","0.6.4":"2021-09-23T07:05:38.503Z","0.7.0":"2021-09-24T05:10:49.643Z","0.7.1":"2021-09-24T07:35:55.528Z","0.7.2":"2021-10-26T14:28:55.953Z","0.7.3":"2021-12-02T08:32:02.450Z","0.7.4":"2022-02-27T11:41:57.999Z","0.7.5":"2022-03-01T02:46:22.686Z","0.7.6":"2022-03-23T08:06:59.935Z"},"maintainers":[{"name":"hai2007","email":"2501482523@qq.com"}],"description":"🔪 一些前端常用的算法实现合集。","homepage":"https://hai2007.github.io/algorithm.js","keywords":["hai2007","algorithm"],"repository":{"type":"git","url":"git+https://github.com/hai2007/algorithm.js.git"},"author":{"name":"你好2007"},"bugs":{"url":"https://github.com/hai2007/algorithm.js/issues"},"license":"MIT","readme":"<p align='center'>\n    <a href='https://hai2007.github.io/algorithm.js' target='_blank'>\n        <img src='./logo.png'>\n    </a>\n</p>\n\n# 🔪 algorithm.js - 一些前端常用的算法实现合集\n\n<p>\n  <a href=\"https://hai2007.gitee.io/npm-downloads?interval=7&packages=@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/dm/@hai2007/algorithm.svg\" alt=\"downloads\"></a>\n  <a href=\"https://packagephobia.now.sh/result?p=@hai2007/algorithm\"><img src=\"https://packagephobia.now.sh/badge?p=@hai2007/algorithm\" alt=\"install size\"></a>\n  <a href=\"https://www.jsdelivr.com/package/npm/@hai2007/algorithm\"><img src=\"https://data.jsdelivr.com/v1/package/npm/@hai2007/algorithm/badge\" alt=\"CDN\"></a>\n  <a href=\"https://www.npmjs.com/package/@hai2007/algorithm\"><img src=\"https://img.shields.io/npm/v/@hai2007/algorithm.svg\" alt=\"Version\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js/blob/master/LICENSE\"><img src=\"https://img.shields.io/npm/l/@hai2007/algorithm.svg\" alt=\"License\"></a>\n  <a href=\"https://github.com/hai2007/algorithm.js\">\n        <img alt=\"GitHub repo stars\" src=\"https://img.shields.io/github/stars/hai2007/algorithm.js?style=social\">\n    </a>\n</p>\n\n## Issues\n使用的时候遇到任何问题或有好的建议，请点击进入[issue](https://github.com/hai2007/algorithm.js/issues)，欢迎参与维护！\n\n## How to use?\n\n首先你需要通过命令行安装，就像这样：\n\n```\nnpm install --save @hai2007/algorithm\n```\n\n安装好了以后，然后引入你需要的算法即可（在具体方法的开头会说明），除此之外，你还可以直接引入全部方法：\n\n```js\nimport algorithm from '@hai2007/algorithm';\n```\n\n或\n\n```html\n<script src='https://cdn.jsdelivr.net/npm/@hai2007/algorithm@0'></script>\n```\n\n如果是node.js环境，请使用这种方式引入：\n\n```js\nlet algorithm = require('@hai2007/algorithm');\n```\n\n### 可以使用的接口\n\n- algorithm.tree() : 一个可以帮助你快速绘制可视化树图的辅助计算\n- algorithm.xhtmlToJson() : 帮你把一段html字符串变成任意操作的json对象\n- ......等\n\n当然，考虑到web应用打包体积的问题，比如我们希望求解一个字符串表达式的值，我们有```algorithm.evalExpress```方法，那么，更小提交的引入方式是：\n\n```js\nimport { evalExpress } from '@hai2007/algorithm/value.js';\n\nevalExpress({a:2},\"a+10\"); // 结果是数字12\n```\n\n具体的使用你可以[查阅文档](https://hai2007.github.io/algorithm.js)哦~\n\n\n如果在使用的时候，发现文档中有的方法无法使用，可能是你的版本过低导致的，你可以[点击此处](https://github.com/hai2007/algorithm.js/blob/master/CHANGELOG)查看版本日志。\n\n## 算法思想\n\n- 递归与分治策略\n\n把一个规模为n的问题分解为k个规模较小的子问题，这些子问题相互独立且与原问题相同，递归的解这些子问题，然后把各个子问题的解合并得到原问题的解。\n\n[<< 查看例子代码](./workbook/递归与分治策略)\n\n- 动态规划\n\n和分治法基本思想有共同的地方，不同的是子问题往往不是独立的，有时母问题要借助子问题的解来判断，因此把已经计算好的问题记录在表格中，后续如果需要查询一下，可以避免重复计算，这是动态规划的基本思想。\n\n不过动态规划具体实现起来多种多样，不过都具有相同的填表格式，通常按照下面步骤设计算法：\n\n1）找出最优解的性质，并刻画其结构特征；\n\n2）递归的定义最优值；\n\n3）以自底向上的方式计算出最优值；\n\n4）通过计算最优值时刻意记录的判断结果来构造最优解。\n\n可以使用该算法思想设计算法的问题一般会具有两个决定性的性质：\n\n1）最优子结构性质；\n\n2）子问题重叠性质。\n\n[<< 查看例子代码](./workbook/动态规划)\n\n- 备忘录算法\n\n和上面的算法思想差不多，不同的是备忘录为每个解过的子问题建立备忘录以备需要的时候查看，避免了相同的问题计算多次。\n\n一般来说，当一个问题的所有子问题都至少要解一次时，用动态规划比备忘录要好，因为不会有任务暂存且没有多余的计算；当子问题空间中部分问题不必解时，用备忘录比较好。\n\n不过上面不是绝对的，这样说只是想区别一下两个思想的不同，具体的时候还是要根据业务场景来在保证可行的前提下选择更好的方法。\n\n[<< 查看例子代码](./workbook/备忘录算法)\n\n- 贪心算法\n\n算法思想很简单，和字面意思一样，每次都选择对自己最有利的，不过这是有条件的，只有在满足条件下每次选择最有利自己的才可以获取最优解。\n\n贪心选择性质和最优子结构性质是该思想最重要的性质：\n\n1）贪心选择性质：所求问题的整体最优解可以通过一系列局部最优的选择达到。\n\n2）最优子结构性质：当一个问题的最优解包含其子问题的最优解时，称此问题具有此性质。\n\n[<< 查看例子代码](./workbook/贪心算法)\n\n- 回溯法\n\n说的直白点就是深度优先方式系统搜索问题的算法。\n\n[<< 查看例子代码](./workbook/回溯法)\n\n- 分支限界法\n\n对比回溯法就很容易思考，用广度优先的办法，不断扩大当前节点的孩子为当前节点，主要是求解一个最优解，算法相比回溯法要简单些。\n\n[<< 查看例子代码](./workbook/分支限界法)\n\n> 更多内容，你可以查看在线书籍[《算法设计与分析》](https://knowpedia.github.io/Algorithm-Design-And-Analysis)进行学习~\n\n开源协议\n---------------------------------------\n[MIT](https://github.com/hai2007/algorithm.js/blob/master/LICENSE)\n\nCopyright (c) 2020-present [hai2007](https://hai2007.gitee.io/sweethome/) 走一步，再走一步。\n","readmeFilename":"README.md"}