{"version":1,"pages":[{"id":"cDCFy6RzJB2rJVBBx981","title":"Welcome","pathname":"/sh-intro-to-algs","siteSpaceId":"sitesp_ybIHQ","icon":"hand-wave","description":"This section states the purpose of the guide, provides details about the author, and references any external sources utilized."},{"id":"gRK9Ejpim0t7RJUjWsWq","title":"Revision History","pathname":"/sh-intro-to-algs/revision-history","siteSpaceId":"sitesp_ybIHQ","icon":"code-merge"},{"id":"CyH2xJQs9yWJ1S8BYNav","title":"1. The Role of Algorithms in Computing","pathname":"/sh-intro-to-algs/part-i-foundations/chapter-1","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","description":"","breadcrumbs":[{"label":"Part I - Foundations","icon":"book-open"}]},{"id":"zA7heglF5rFKhWKTJDYG","title":"2. Getting Started","pathname":"/sh-intro-to-algs/part-i-foundations/2.-getting-started","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part I - Foundations","icon":"book-open"}]},{"id":"5KVhmdT2RsHvWhXCvOKm","title":"3. Characterizing Running Times","pathname":"/sh-intro-to-algs/part-i-foundations/3.-characterizing-running-times","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part I - Foundations","icon":"book-open"}]},{"id":"qDo4wZ6H2Dz7Uj09O529","title":"4. Divide-and-Conquer","pathname":"/sh-intro-to-algs/part-i-foundations/4.-divide-and-conquer","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part I - Foundations","icon":"book-open"}]},{"id":"mQYLcUFZsQrVTnpSqO7i","title":"5. Probabilistic Analysis and Randomized Algorithms","pathname":"/sh-intro-to-algs/part-i-foundations/5.-probabilistic-analysis-and-randomized-algorithms","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part I - Foundations","icon":"book-open"}]},{"id":"Lgu80N2DdSihlUXvitIo","title":"6. Heapsort","pathname":"/sh-intro-to-algs/part-ii-sorting-and-order-statistics/6.-heapsort","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part II - Sorting and Order Statistics","icon":"book-open"}]},{"id":"SI8Fb8rqFxtf2MzRkWPa","title":"7. Quicksort","pathname":"/sh-intro-to-algs/part-ii-sorting-and-order-statistics/7.-quicksort","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part II - Sorting and Order Statistics","icon":"book-open"}]},{"id":"4E372jZm1qenmG0krYw8","title":"8. Sorting in Linear Time","pathname":"/sh-intro-to-algs/part-ii-sorting-and-order-statistics/8.-sorting-in-linear-time","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part II - Sorting and Order Statistics","icon":"book-open"}]},{"id":"cdLIyqhy3iXDERgtcvGc","title":"9. Medians and Order Statistics","pathname":"/sh-intro-to-algs/part-ii-sorting-and-order-statistics/9.-medians-and-order-statistics","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part II - Sorting and Order Statistics","icon":"book-open"}]},{"id":"UXgnzNc69Jx72RtcPGki","title":"10. Elementary Data Structures","pathname":"/sh-intro-to-algs/part-iii-data-structures/10.-elementary-data-structures","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part III - Data Structures","icon":"book-open"}]},{"id":"SO2eNkeSzYNTveauA1OH","title":"11. Hash Tables","pathname":"/sh-intro-to-algs/part-iii-data-structures/11.-hash-tables","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part III - Data Structures","icon":"book-open"}]},{"id":"7oyCLcfCUHCnlQ7ZiB4O","title":"12. Binary Search Trees","pathname":"/sh-intro-to-algs/part-iii-data-structures/12.-binary-search-trees","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part III - Data Structures","icon":"book-open"}]},{"id":"7duO80s90cFdinuZyAVq","title":"13. Red-Black Trees","pathname":"/sh-intro-to-algs/part-iii-data-structures/13.-red-black-trees","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part III - Data Structures","icon":"book-open"}]},{"id":"wYsjY0NH80JKdYrQTGU5","title":"14. Dynamic Programming","pathname":"/sh-intro-to-algs/part-iv-advanced-design-and-analysis-techniques/14.-dynamic-programming","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part IV - Advanced Design and Analysis Techniques","icon":"book-open"}]},{"id":"F63YYuVf6Mu0ApQd5WNy","title":"15. Greedy Algorithms","pathname":"/sh-intro-to-algs/part-iv-advanced-design-and-analysis-techniques/15.-greedy-algorithms","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part IV - Advanced Design and Analysis Techniques","icon":"book-open"}]},{"id":"27BrwqXLJtJjrKfWMYxL","title":"16. Amortized Analysis","pathname":"/sh-intro-to-algs/part-iv-advanced-design-and-analysis-techniques/16.-amortized-analysis","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part IV - Advanced Design and Analysis Techniques","icon":"book-open"}]},{"id":"rdqQlt5DOMCUk4bpwYDv","title":"17. Augmenting Data Structures","pathname":"/sh-intro-to-algs/part-v-advanced-data-structures/17.-augmenting-data-structures","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part V - Advanced Data Structures","icon":"book-open"}]},{"id":"ORBqoKAuNASJp5HWjfqY","title":"18. B-Trees","pathname":"/sh-intro-to-algs/part-v-advanced-data-structures/18.-b-trees","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part V - Advanced Data Structures","icon":"book-open"}]},{"id":"OTwlHTuZmSmjtZFEkjcK","title":"19. Data Structures for Disjoint Sets","pathname":"/sh-intro-to-algs/part-v-advanced-data-structures/19.-data-structures-for-disjoint-sets","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part V - Advanced Data Structures","icon":"book-open"}]},{"id":"hfiEoD6l00V7SAvusaGC","title":"20. Elementary Graph Algorithms","pathname":"/sh-intro-to-algs/part-vi-graph-algorithms/20.-elementary-graph-algorithms","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VI - Graph Algorithms","icon":"book-open"}]},{"id":"GUGWhWz8uZ8iJVGKSyd9","title":"21. Minimum Spanning Trees","pathname":"/sh-intro-to-algs/part-vi-graph-algorithms/21.-minimum-spanning-trees","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VI - Graph Algorithms","icon":"book-open"}]},{"id":"otqJJ41fbS13YgtdVdJw","title":"22.  Single-Source Shortest Paths","pathname":"/sh-intro-to-algs/part-vi-graph-algorithms/22.-single-source-shortest-paths","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VI - Graph Algorithms","icon":"book-open"}]},{"id":"JjjojIyKxaiBPzzLwvtg","title":"31. Number-Theoretic Algorithms","pathname":"/sh-intro-to-algs/part-vii-selected-topics/chapter-31","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VII - Selected Topics","icon":"book-open"}]},{"id":"cEHgDv7NGBquDGHeLyQ4","title":"A. Summations","pathname":"/sh-intro-to-algs/part-viii-appendix-mathematical-background/appendix-a","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","description":"","breadcrumbs":[{"label":"Part VIII - Appendix: Mathematical Background","icon":"book-open"}]},{"id":"ZXxfwYY21Yz9PCv9X7ja","title":"B. Sets, Etc.","pathname":"/sh-intro-to-algs/part-viii-appendix-mathematical-background/appendix-b","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VIII - Appendix: Mathematical Background","icon":"book-open"}]},{"id":"QwHFLVleY7QejI9V4gc3","title":"C. Counting and Probability","pathname":"/sh-intro-to-algs/part-viii-appendix-mathematical-background/appendix-c","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VIII - Appendix: Mathematical Background","icon":"book-open"}]},{"id":"oa0XskrCEgbVlYaOnehE","title":"D. Matrices","pathname":"/sh-intro-to-algs/part-viii-appendix-mathematical-background/appendix-d","siteSpaceId":"sitesp_ybIHQ","icon":"book-section","breadcrumbs":[{"label":"Part VIII - Appendix: Mathematical Background","icon":"book-open"}]}]}