{"version":1,"pages":[{"id":"sc354KZmgteAA9SGT9BJ","title":"Fall 2026 Textbook","pathname":"/cs61b-textbook-fall-2026","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"JGcEKBmuBfKU2QWMTZiz","title":"Contributors","pathname":"/cs61b-textbook-fall-2026/readme-1","siteSpaceId":"sitesp_cw3v4","description":"61B Course Staff who helped contribute to this amazing 61Book!"},{"id":"ttsggefG4OZ1gpgckbCb","title":"DISCLAIMER","pathname":"/cs61b-textbook-fall-2026/disclaimer","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"yJOl2nGMdDobUmDK5JMa","title":"1. Introduction","pathname":"/cs61b-textbook-fall-2026/1.-introduction","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"YPMyt71NKXdhqLdmIxdg","title":"1.1 Your First Java Program","pathname":"/cs61b-textbook-fall-2026/1.-introduction/1.1-your-first-java-program","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"1. Introduction"}]},{"id":"a2xt8ktCeacA0qnQu7GO","title":"1.2 Basic Java Features","pathname":"/cs61b-textbook-fall-2026/1.-introduction/1.2-basic-java-features","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"1. Introduction"}]},{"id":"9jdwLHOhFvFwu5WjOXRY","title":"1.3 Java Workflow","pathname":"/cs61b-textbook-fall-2026/1.-introduction/1.3-java-workflow","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"1. Introduction"}]},{"id":"smY3eZ8IZYTnhSmiHNNB","title":"2. Defining and Using Classes","pathname":"/cs61b-textbook-fall-2026/2.-defining-and-using-classes","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"z45mcbmQ5SM1m5eDoWJy","title":"3. References, Recursion, and Lists","pathname":"/cs61b-textbook-fall-2026/3.-references-recursion-and-lists","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"DsnVzmwhSUIiQ0f9TbQi","title":"4. IntLists","pathname":"/cs61b-textbook-fall-2026/4.-intlists","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"tSbXPoidMT83oSy3mgVT","title":"5. Testing","pathname":"/cs61b-textbook-fall-2026/5.-testing","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"iQSFo9YButx75knQj5Ka","title":"6. SLLists","pathname":"/cs61b-textbook-fall-2026/6.-sllists","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"27GDOeRABEhCQFIhSfJO","title":"7. DLLists and Arrays","pathname":"/cs61b-textbook-fall-2026/7.-dllists-and-arrays","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"RwEVA1nRYN0xZTp6I5sI","title":"8. Resizing ArrayList","pathname":"/cs61b-textbook-fall-2026/8.-resizing-arraylist","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"fUHZ7QNQoR7pGr2lxF66","title":"9. Inheritance I: Interface and Implementation Inheritance","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"ud01BZgBr2WsXOFM1zIT","title":"9.1 The Problem of Generality","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.1-the-problem-of-generality","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"heHrx4dyzq5uoKBkC1cJ","title":"9.2 Hypernyms, Hyponyms, and the Implements Keyword","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.2-hypernyms-hyponyms-and-the-implements-keyword","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"I73n1HDw7cobXULcAcxN","title":"9.3 Overriding, Interface Inheritance","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.3-overriding-interface-inheritance","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"5LjAMHgNyGI6LcmNDGeP","title":"9.4 Implementation Inheritance, default","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.4-implementation-inheritance-default","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"9PkXlZ4ARYwKECej9zVg","title":"9.5 Implementation vs. Interface Inheritance","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.5-implementation-vs.-interface-inheritance","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"uKzo0Vf3vc8XfufL8dSk","title":"9.6 Abstract Data Types","pathname":"/cs61b-textbook-fall-2026/9.-inheritance-i-interface-and-implementation-inheritance/9.6-abstract-data-types","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"9. Inheritance I: Interface and Implementation Inheritance"}]},{"id":"LiygKpUAATyDfdDndfqs","title":"10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic Functions","pathname":"/cs61b-textbook-fall-2026/10.-inheritance-ii-extends-casting-higher-order-functions","siteSpaceId":"sitesp_cw3v4","description":"By Josh Hug"},{"id":"ci7WzUTMJke87m8lI0HR","title":"10.1 Polymorphism vs. Function Passing","pathname":"/cs61b-textbook-fall-2026/10.-inheritance-ii-extends-casting-higher-order-functions/10.1-subtype-polymorphism-vs.-function-passing","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic Functions"}]},{"id":"dTcLrFHoGgeTeuYH1VIp","title":"10.2 Comparables and Comparators","pathname":"/cs61b-textbook-fall-2026/10.-inheritance-ii-extends-casting-higher-order-functions/10.2-encapsulation","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic Functions"}]},{"id":"cWBCOGjWcLqZO3j4gwlI","title":"10.3 Writing a Max Function","pathname":"/cs61b-textbook-fall-2026/10.-inheritance-ii-extends-casting-higher-order-functions/10.3-casting","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic Functions"}]},{"id":"GJHym4qfUpkErIeyhoY2","title":"10.4 Summary","pathname":"/cs61b-textbook-fall-2026/10.-inheritance-ii-extends-casting-higher-order-functions/10.4-higher-order-functions-in-java","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic Functions"}]},{"id":"ygvGVfj993R2L5Hi2sVL","title":"11. Inheritance III: Iterators, Object Methods","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"Cps0VROi294y6yqpRZNs","title":"11.1 Lists and Sets in Java","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.1-lists-and-sets-in-java","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"hBiU259I4lHgqFZmI8Hp","title":"11.2 Exceptions","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.2-exceptions","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"ppHBF3fwtb0lQhhhsg8s","title":"11.3 Iteration","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.3-iteration","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"oe4WSpo6GpNbkqMzklKL","title":"11.4 Object Methods","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.4-object-methods","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"ZLn4gRPJTsm8FvU6C6vd","title":"11.5 Chapter Summary","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.5-chapter-summary","siteSpaceId":"sitesp_cw3v4","description":"Summary of the main points in this chapter.","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"9xO7xg0Iaa84n2vfHcWE","title":"11.6 Exercises","pathname":"/cs61b-textbook-fall-2026/11.-inheritance-iv-iterators-object-methods/11.6-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"11. Inheritance III: Iterators, Object Methods"}]},{"id":"gwGcVQWTil1R6jFwbYIr","title":"12. Asymptotics I","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i","siteSpaceId":"sitesp_cw3v4","description":"By: Thomas Lee"},{"id":"X6kyrABLhjXBTCgUeiYA","title":"12.1 An Introduction to Asymptotic Analysis","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.1-an-introduction-to-asymptotic-analysis","siteSpaceId":"sitesp_cw3v4","description":"We always have to start somewhere.","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"8WRJBwe6GfPKUMPzztoz","title":"12.2 Runtime Characterization","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.2-runtime-characterization","siteSpaceId":"sitesp_cw3v4","description":"Techniques for Measuring Computational Cost.","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"R0oR1llK7HVWc8l9Uo7b","title":"12.3 Checkpoint: An Exercise","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.3-checkpoint-an-exercise","siteSpaceId":"sitesp_cw3v4","description":"Some much needed practice.","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"SOwlX1ykzqjBnxxqDfoB","title":"12.4 Asymptotic Behavior","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.4-asymptotic-behavior","siteSpaceId":"sitesp_cw3v4","description":"Be on your best behavior!","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"YpyBSP1ct2nQ7KCCboKB","title":"12.5 Simplified Analysis Process","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.5-simplified-analysis-process","siteSpaceId":"sitesp_cw3v4","description":"It's not that simple.","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"7glM2YVwKleJIEyfHKuG","title":"12.6 Summary","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.6-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"whe9GyvwfprNzlvPckkv","title":"12.7 Exercises","pathname":"/cs61b-textbook-fall-2026/12.-asymptotics-i/12.7-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"12. Asymptotics I"}]},{"id":"jSaRL5YMqCcj0m27goVZ","title":"13. Asymptotics II","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii","siteSpaceId":"sitesp_cw3v4","description":"There's no magic shortcut."},{"id":"DWY75yCtzBjBFEQ9KlKz","title":"13.1 Big Theta","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.1-big-theta","siteSpaceId":"sitesp_cw3v4","description":"Not to be confused with Big-O.","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"I7L2Fouxrg3XuzqjPPw5","title":"13.2 Big O","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.2-big-o","siteSpaceId":"sitesp_cw3v4","description":"Not to be confused with Big-Theta.","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"wMfFKpv9C95tO2OFWwB1","title":"13.3 For Loops","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.3-for-loops","siteSpaceId":"sitesp_cw3v4","description":"Count, count, count...","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"altFf0SnaPDSdE3AWxi9","title":"13.4 For Loops Print Party","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.4-for-loops-print-party","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"FPvSBBPuB1ikgFfxOmP5","title":"13.5 Summary","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.5-summary","siteSpaceId":"sitesp_cw3v4","description":"Wrapping up our asymptotics adventures.","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"Pz6P2beta20ndi6Pslgw","title":"13.6 Exercises","pathname":"/cs61b-textbook-fall-2026/13.-asymptotics-ii/13.6-exercises","siteSpaceId":"sitesp_cw3v4","description":"Doing more practices is the best way to gain intuition when it comes to asymptotics!","breadcrumbs":[{"label":"13. Asymptotics II"}]},{"id":"jUkysjxyOeEFoTqfa21g","title":"14. Asymptotics III","pathname":"/cs61b-textbook-fall-2026/14.-asymptotics-iii","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"C9bOihfuIS6raaPjwxcR","title":"14.1 Recursion","pathname":"/cs61b-textbook-fall-2026/14.-asymptotics-iii/14.1-recursion","siteSpaceId":"sitesp_cw3v4","description":"Here we go again...","breadcrumbs":[{"label":"14. Asymptotics III"}]},{"id":"pVi1B27F8EMmMgk8LLAP","title":"14.2 Binary Search","pathname":"/cs61b-textbook-fall-2026/14.-asymptotics-iii/14.2-binary-search","siteSpaceId":"sitesp_cw3v4","description":"hi-lo!","breadcrumbs":[{"label":"14. Asymptotics III"}]},{"id":"7nyAqi0FL6RHRrfmLSFx","title":"14.3 Mergesort","pathname":"/cs61b-textbook-fall-2026/14.-asymptotics-iii/14.3-mergesort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"14. Asymptotics III"}]},{"id":"YEPybzSCGa95qYiLi4O2","title":"14.4 B-trees Big O","pathname":"/cs61b-textbook-fall-2026/14.-asymptotics-iii/14.4-b-trees-big-o","siteSpaceId":"sitesp_cw3v4","description":"A short digression on asymptotics","breadcrumbs":[{"label":"14. Asymptotics III"}]},{"id":"klPg7VVAWqvXWd5CjeMx","title":"15. Disjoint Sets","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets","siteSpaceId":"sitesp_cw3v4","description":"By Dhruti Pandya and Mihir Mirchandani"},{"id":"6lLP8aYHLTp8gF9i7QR0","title":"15.1 Introduction","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.1-introduction","siteSpaceId":"sitesp_cw3v4","description":"🚨 New Data Structure Alert 🚨: Disjoint Sets","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"dV4zabYdKrdzqd90n5T4","title":"15.2 Quick Find","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.2-quick-find","siteSpaceId":"sitesp_cw3v4","description":"Keeping track of set membership...","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"E0ZYc71F9ecTZajJGZ6R","title":"15.3 Quick Union","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.3-quick-union","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"zHwYUQKrz0dCnQdbyW7f","title":"15.4 Weighted Quick Union (WQU)","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.4-weighted-quick-union-wqu","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"mhkHV2ALjVRkYWE3DkI4","title":"15.5 Weighted Quick Union with Path Compression","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.5-weighted-quick-union-with-path-compression","siteSpaceId":"sitesp_cw3v4","description":"Weighted Quick Union is pretty good, but we can do even better!","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"6tWD09nvWuIxySNCEk7V","title":"15.6 Exercises","pathname":"/cs61b-textbook-fall-2026/15.-disjoint-sets/15.6-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"15. Disjoint Sets"}]},{"id":"tP3adiUIQBJCIlVrNOTj","title":"16. Binary Search Trees","pathname":"/cs61b-textbook-fall-2026/16.-bsts","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"ea7XZeqIg6ji6ecbyROP","title":"16.1 Binary Search Trees","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.1-binary-search-trees","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"O0THCugsWxHCVvoZNgsg","title":"16.2 BST Definitions","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.2-bst-definitions","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"lSobYIwaaJ392lJLk3P8","title":"16.3 BST Operations","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.3-bst-operations","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"S8rDzvgjPknCZtgvBgBO","title":"16.4 BSTs as Sets and Maps","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.4-bsts-as-sets-and-maps","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"RL5p0dXupmgKisYEg8bx","title":"16.5 BST Performance","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.5-bst-performance","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"i0FiRMMsnhlAmd45Hxa5","title":"16.6 Big O vs. Worst Case","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.6-big-o-vs.-worst-case","siteSpaceId":"sitesp_cw3v4","description":"A short digression on asymptotics","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"ou0AMJjdITgqWPsI2Zoo","title":"16.7 Summary","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.7-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"bICMRorPvBtwb2GZdmg7","title":"16.8 Exercises","pathname":"/cs61b-textbook-fall-2026/16.-bsts/16.8-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"16. Binary Search Trees"}]},{"id":"AXyxj0fzS3g8lWvrzBmb","title":"17. B-Trees","pathname":"/cs61b-textbook-fall-2026/17.-b-trees","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"oSei4b61dJ2pr92EtkML","title":"17.1 B-Tree Operations","pathname":"/cs61b-textbook-fall-2026/17.-b-trees/17.1-b-tree-operations","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"17. B-Trees"}]},{"id":"H89nDfvOyhLWsMSmTWnW","title":"17.2 B-Tree Invariants","pathname":"/cs61b-textbook-fall-2026/17.-b-trees/17.2-b-tree-invariants","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"17. B-Trees"}]},{"id":"als1SdcnzknctYxVG4tk","title":"17.3 B-Tree Performance","pathname":"/cs61b-textbook-fall-2026/17.-b-trees/17.3-b-tree-performance","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"17. B-Trees"}]},{"id":"o3TkFw9kEZQruOXHDXWQ","title":"17.4 Summary","pathname":"/cs61b-textbook-fall-2026/17.-b-trees/17.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"17. B-Trees"}]},{"id":"c8K3ZJ2fXw3c5tJGhAGd","title":"17.5 Exercises","pathname":"/cs61b-textbook-fall-2026/17.-b-trees/17.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"17. B-Trees"}]},{"id":"CLpt0Bfc58xw8xD6cbkk","title":"18. Red Black Trees","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees","siteSpaceId":"sitesp_cw3v4","description":"Time for some colors."},{"id":"K2eswHqlaNoQ5djdBWoZ","title":"18.1 Rotating Trees","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.1-rotating-trees","siteSpaceId":"sitesp_cw3v4","description":"Just like Ferris Wheels.","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"YD3qCCnPKlbB91clhcmi","title":"18.2 Creating LLRB Trees","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.2-creating-llrb-trees","siteSpaceId":"sitesp_cw3v4","description":"Software Engineers? More like Tree Engineers","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"0dJYt254RwPtOlV3WwlO","title":"18.3 Inserting LLRB Trees","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.3-inserting-llrb-trees","siteSpaceId":"sitesp_cw3v4","description":"Some Tree Maintenance.","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"jjYKn2bn5RyEy6UQhIxy","title":"18.4 Runtime Analysis","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.4-runtime-analysis","siteSpaceId":"sitesp_cw3v4","description":"Short and Sweet.","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"JOitevVx7EI1zDXTiRkt","title":"18.5 Summary","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.5-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"F2rZwnuompasWPPd11TW","title":"18.6 Exercises","pathname":"/cs61b-textbook-fall-2026/18.-red-black-trees/18.6-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"18. Red Black Trees"}]},{"id":"OQwVC12oYGYA1r7Xtw9j","title":"19. Heaps and Priority Queues","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues","siteSpaceId":"sitesp_cw3v4","description":"By Dhruti Pandya and Angel Aldaco"},{"id":"vGsxsUydCyPXtTK0BiuW","title":"19.1 Priority Queues","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues/19.1-priority-queues","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"19. Heaps and Priority Queues"}]},{"id":"MNbvJZpqxN44mTM0qEhm","title":"19.2 Heaps","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues/19.2-heaps","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"19. Heaps and Priority Queues"}]},{"id":"zroEh1EisjRY8YvNQMoI","title":"19.3 PQ Implementation","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues/19.3-pq-implementation","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"19. Heaps and Priority Queues"}]},{"id":"gbPaELttEIu6hoFgl4f1","title":"19.4 Summary","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues/19.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"19. Heaps and Priority Queues"}]},{"id":"lA9g1OAjYl4gMWaWi7xV","title":"19.5 Exercises","pathname":"/cs61b-textbook-fall-2026/19.-heaps-and-priority-queues/19.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"19. Heaps and Priority Queues"}]},{"id":"gtvDs5fYSBeoP7O3UUad","title":"20. Tree Traversals and Graphs","pathname":"/cs61b-textbook-fall-2026/20.-tree-traversals-and-graphs","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani and Dhruti Pandya"},{"id":"k86STr9hlBk3gHe5UKhw","title":"20.1 Tree Recap","pathname":"/cs61b-textbook-fall-2026/20.-tree-traversals-and-graphs/20.1-tree-recap","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"20. Tree Traversals and Graphs"}]},{"id":"DKXT8pu9rrYqwn8lGGH8","title":"20.2 Tree Traversals","pathname":"/cs61b-textbook-fall-2026/20.-tree-traversals-and-graphs/20.2-tree-traversals","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"20. Tree Traversals and Graphs"}]},{"id":"hUQ5rcdbpdwZA5QBWbeo","title":"20.3 Graphs","pathname":"/cs61b-textbook-fall-2026/20.-tree-traversals-and-graphs/20.3-graphs","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"20. Tree Traversals and Graphs"}]},{"id":"wAjclbBDO2YQYGqqon2u","title":"20.4 Graph Problems","pathname":"/cs61b-textbook-fall-2026/20.-tree-traversals-and-graphs/20.4-graph-problems","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"20. Tree Traversals and Graphs"}]},{"id":"h4EMdx3RZNcncedWuAvo","title":"21. Graph Traversals and Implementations","pathname":"/cs61b-textbook-fall-2026/21.-graph-traversals-and-implementations","siteSpaceId":"sitesp_cw3v4","description":"By William Lee and Mihir Mirchandani"},{"id":"Tm7Kw0uuJIEbMRdFhFBt","title":"21.1 BFS & DFS","pathname":"/cs61b-textbook-fall-2026/21.-graph-traversals-and-implementations/21.1-bfs-and-dfs","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"21. Graph Traversals and Implementations"}]},{"id":"CwPvyq0gl9qz6XTZbUHz","title":"21.2 Representing Graphs","pathname":"/cs61b-textbook-fall-2026/21.-graph-traversals-and-implementations/21.2-representing-graphs","siteSpaceId":"sitesp_cw3v4","description":"How do we create a graph in Java?","breadcrumbs":[{"label":"21. Graph Traversals and Implementations"}]},{"id":"FnWSG1sTVBhjkO7n3Oxu","title":"21.3 Summary","pathname":"/cs61b-textbook-fall-2026/21.-graph-traversals-and-implementations/21.3-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"21. Graph Traversals and Implementations"}]},{"id":"mnqy5gEofroGThLnNALC","title":"21.4 Exercises","pathname":"/cs61b-textbook-fall-2026/21.-graph-traversals-and-implementations/21.4-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"21. Graph Traversals and Implementations"}]},{"id":"t3K2e8UVF69yw56gEeeZ","title":"22. Shortest Paths","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths","siteSpaceId":"sitesp_cw3v4","description":"By: Mihir Mirchandani and Teresa Luo"},{"id":"RIne1njhxfejffHLaTQ0","title":"22.1 Introduction","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths/22.1-introduction","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"22. Shortest Paths"}]},{"id":"DMQnLRwuVYDAeIeFWYU1","title":"22.2 Dijkstra's Algorithm","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths/22.2-dijkstras-algorithm","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"22. Shortest Paths"}]},{"id":"LBaUz56g0sS8xq9910ar","title":"22.3 A* Algorithm","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths/22.3-a-algorithm","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"22. Shortest Paths"}]},{"id":"oBuapTu1DD4KiChhgx00","title":"22.4 Summary","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths/22.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"22. Shortest Paths"}]},{"id":"DzZCKbcNq0IeLdZdLeAJ","title":"22.5 Exercises","pathname":"/cs61b-textbook-fall-2026/22.-shortest-paths/22.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"22. Shortest Paths"}]},{"id":"YKy74aGekNJUeuJ1aLOt","title":"23. Minimum Spanning Trees","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees","siteSpaceId":"sitesp_cw3v4","description":"By Teresa Luo and Mihir Mirchandani"},{"id":"vKXPfcKQoZDs2QizH2wo","title":"23.1 MSTs and Cut Property","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees/23.1-msts-and-cut-property","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"23. Minimum Spanning Trees"}]},{"id":"cAKUof6cgLQFGudUTkUd","title":"23.2 Prim's Algorithm","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees/23.2-prims-algorithm","siteSpaceId":"sitesp_cw3v4","description":"Finding MST.","breadcrumbs":[{"label":"23. Minimum Spanning Trees"}]},{"id":"Hpbgyae0SJOvdJDnO5zF","title":"23.3 Kruskal's Algorithm","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees/23.3-kruskals-algorithm","siteSpaceId":"sitesp_cw3v4","description":"Finding MST.","breadcrumbs":[{"label":"23. Minimum Spanning Trees"}]},{"id":"ytjX6wrQ9tH4e1zh88iP","title":"23.4 Chapter Summary","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees/23.4-chapter-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"23. Minimum Spanning Trees"}]},{"id":"uW4vXchAT66nZB9wWMCA","title":"23.5 MST Exercises","pathname":"/cs61b-textbook-fall-2026/23.-minimum-spanning-trees/23.5-mst-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"23. Minimum Spanning Trees"}]},{"id":"p6XpfakAhy9buWe50Ljj","title":"24. Reductions and Decomposition","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani"},{"id":"4DUqxk37ysC5XoWJ82vv","title":"24.1 Topological Sorts and DAGs","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition/24.1-topological-sorts-and-dags","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"24. Reductions and Decomposition"}]},{"id":"20Cp2avI4IuQBOoBQcN5","title":"24.2 Shortest Paths on DAGs","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition/24.2-shortest-paths-on-dags","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"24. Reductions and Decomposition"}]},{"id":"eEBWHgcqLeYDUkxDi480","title":"24.3 Longest Path","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition/24.3-longest-path","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"24. Reductions and Decomposition"}]},{"id":"3ace6e8okuTuB5HFOEoQ","title":"24.4 Reductions and Decomposition","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition/24.4-reductions-and-decomposition","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"24. Reductions and Decomposition"}]},{"id":"zCH88cknlkdV0mLJp53o","title":"24.5 Exercises","pathname":"/cs61b-textbook-fall-2026/24.-reductions-and-decomposition/24.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"24. Reductions and Decomposition"}]},{"id":"qnZ6iX5SDchhnppVhJDQ","title":"25. Hashing I","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i","siteSpaceId":"sitesp_cw3v4","description":"By William Lee and Angel Aldaco"},{"id":"XIjN6GzLiJkkAsTllMWT","title":"25.1 Introduction to Hashing: Data Indexed Arrays","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.1-introduction-to-hashing-data-indexed-arrays","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"eeKZlAvLdNj7vRkbyVtY","title":"24.1.1 A first attempt: DataIndexedIntegerSet","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.1-introduction-to-hashing-data-indexed-arrays/24.1.1-a-first-attempt-dataindexedintegerset","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"},{"label":"25.1 Introduction to Hashing: Data Indexed Arrays"}]},{"id":"fHr3iHThp5pWUv7QTSqK","title":"24.1.2 A second attempt: DataIndexedWordSet","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.1-introduction-to-hashing-data-indexed-arrays/24.1.2-a-second-attempt-dataindexedwordset","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"},{"label":"25.1 Introduction to Hashing: Data Indexed Arrays"}]},{"id":"9RqnJLy8HV7PJduArby1","title":"24.1.3 A third attempt: DataIndexedStringSet","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.1-introduction-to-hashing-data-indexed-arrays/24.1.3-a-third-attempt-dataindexedstringset","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"},{"label":"25.1 Introduction to Hashing: Data Indexed Arrays"}]},{"id":"TLK9x4tV9W5FrJG1xyyj","title":"25.2 Hash Code","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.2-hash-code","siteSpaceId":"sitesp_cw3v4","description":"The core mechanism of hashing!","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"n4RJBu2kZEcnSgv84gLo","title":"25.3 \"Valid\" & \"Good\" Hashcodes","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.3-valid-and-good-hashcodes","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"mdmI9mW43l54bcQTHkSr","title":"25.4 Handling Collisions: Linear Probing and External Chaining","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.4-handling-collisions-linear-probing-and-external-chaining","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"T1EgJQYFgrFCkKsdMpPP","title":"25.5 Resizing & Hash Table Performance","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.5-resizing-and-hash-table-performance","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"KeSRnElpqyaMH2cy3tNk","title":"25.6 Summary","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.6-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"Abgq3h7yEzcDheoPAsHc","title":"25.7 Exercises","pathname":"/cs61b-textbook-fall-2026/25.-hashing-i/25.7-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"25. Hashing I"}]},{"id":"r1S9kTGuYstGYrDHFzQt","title":"26. Hashing II","pathname":"/cs61b-textbook-fall-2026/26.-hashing-ii","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani and William Lee"},{"id":"eIPpzZigZLZUEI97mpe8","title":"26.1 Hash Table Recap, Default Hash Function","pathname":"/cs61b-textbook-fall-2026/26.-hashing-ii/26.1-hash-table-recap-default-hash-function","siteSpaceId":"sitesp_cw3v4","description":"\"The whole point is that we have a bunch of lists that are all short.\" - Professor Hug.","breadcrumbs":[{"label":"26. Hashing II"}]},{"id":"UihhkAaXuSYYoqtNWIrQ","title":"26.2 Distribution By Other Hash Functions","pathname":"/cs61b-textbook-fall-2026/26.-hashing-ii/26.2-distribution-by-other-hash-functions","siteSpaceId":"sitesp_cw3v4","description":"HashMaps/Tables have fast lookup times, but behind that \"superpower\" is a hash function.","breadcrumbs":[{"label":"26. Hashing II"}]},{"id":"VKWxP0YkHtPtkho9k6oL","title":"26.3 Contains & Duplicate Items","pathname":"/cs61b-textbook-fall-2026/26.-hashing-ii/26.3-contains-and-duplicate-items","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"26. Hashing II"}]},{"id":"4D1urexVh9hd7knOBup3","title":"26.4 Mutable vs. Immutable Types","pathname":"/cs61b-textbook-fall-2026/26.-hashing-ii/26.4-mutable-vs.-immutable-types","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"26. Hashing II"}]},{"id":"g4HfvLc7OExyQGC47bKw","title":"27. Prefix Operations and Tries","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries","siteSpaceId":"sitesp_cw3v4","description":"By: Thomas Lee"},{"id":"dPllnZoMTZiYMxzMR18O","title":"27.1 Introduction to Tries","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries/27.1-introduction-to-tries","siteSpaceId":"sitesp_cw3v4","description":"Do or do not. There is no Trie.","breadcrumbs":[{"label":"27. Prefix Operations and Tries"}]},{"id":"FDohgduH5ViFwkDLf1Sa","title":"27.2 Trie Implementation","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries/27.2-trie-implementation","siteSpaceId":"sitesp_cw3v4","description":"Giving it the old college Trie.","breadcrumbs":[{"label":"27. Prefix Operations and Tries"}]},{"id":"G9cy9geerfnVuVOiZLsK","title":"27.3 Trie String Operations","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries/27.3-trie-string-operations","siteSpaceId":"sitesp_cw3v4","description":"Trie, Trie again.","breadcrumbs":[{"label":"27. Prefix Operations and Tries"}]},{"id":"ccabtamMRyohUEzueIJ9","title":"27.4 Summary","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries/27.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"27. Prefix Operations and Tries"}]},{"id":"FLvCzm3Rif8yCa9geApg","title":"27.5 Exercises","pathname":"/cs61b-textbook-fall-2026/27.-prefix-operations-and-tries/27.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"27. Prefix Operations and Tries"}]},{"id":"Wcbjz6GhItrnYIcSEjmm","title":"28. Software Engineering I","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i","siteSpaceId":"sitesp_cw3v4","description":"By Aniruth Narayanan"},{"id":"falNBw7Yhu6HkPaPjANX","title":"28.1 Introduction to Software Engineering","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i/28.1-introduction-to-software-engineering","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"28. Software Engineering I"}]},{"id":"yi6o1cR7iGEv5Q5MFCY0","title":"28.2 Complexity","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i/28.2-complexity","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"28. Software Engineering I"}]},{"id":"dFqfBZpAVulDJsnhVZJo","title":"28.3 Strategic vs Tactical Programming","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i/28.3-strategic-vs-tactical-programming","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"28. Software Engineering I"}]},{"id":"zT9FqIuimwRv4M4UtBlH","title":"28.4 Real World Examples","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i/28.4-real-world-examples","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"28. Software Engineering I"}]},{"id":"4v52TiOAP51ICLjSTEMG","title":"28.5 Summary, Exercises","pathname":"/cs61b-textbook-fall-2026/28.-software-engineering-i/28.5-summary-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"28. Software Engineering I"}]},{"id":"lDLhlPeITXhqacBiZC4U","title":"29. Software Engineering II","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii","siteSpaceId":"sitesp_cw3v4","description":"By Thomas Lee and Mihir Mirchandani"},{"id":"qcg49LWHZ031jHIfO46n","title":"29.1 Complexity II","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii/29.1-complexity-ii","siteSpaceId":"sitesp_cw3v4","description":"Complexity comshmexity.","breadcrumbs":[{"label":"29. Software Engineering II"}]},{"id":"h6fTrbmtAHqg9kjEVeHy","title":"29.2 Sources of Complexity","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii/29.2-sources-of-complexity","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"29. Software Engineering II"}]},{"id":"tfIGpQqqAnMebuGmtCAN","title":"29.3 Modular Design","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii/29.3-modular-design","siteSpaceId":"sitesp_cw3v4","description":"A tool for managing complexity.","breadcrumbs":[{"label":"29. Software Engineering II"}]},{"id":"OpApcesnWCLkeigoHbqd","title":"29.4 Teamwork","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii/29.4-teamwork","siteSpaceId":"sitesp_cw3v4","description":"\"There is no I in TEAM\"","breadcrumbs":[{"label":"29. Software Engineering II"}]},{"id":"VBlNeQgk5l49QoyM8Vob","title":"29.5 Exerises","pathname":"/cs61b-textbook-fall-2026/29.-software-engineering-ii/29.5-exerises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"29. Software Engineering II"}]},{"id":"D9MXJqAYf3FuYluDNKP7","title":"30. Basic Sorts","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"7vwPIyor5Ty7NjxTkRqz","title":"30.1 The Sorting Problem","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.1-the-sorting-problem","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"S7Ck7dBoD9ApRPoI9VY8","title":"30.2 Selection Sort & Heapsort","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.2-selection-sort-and-heapsort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"CItUEwOL5sjpF4rOa6Pq","title":"30.3 Mergesort","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.3-mergesort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"ssiqKjxuEN6qSQjLsUCc","title":"30.4 Insertion Sort","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.4-insertion-sort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"T3BhemWvx7cveMZm0jGn","title":"30.5 Summary","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.5-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"uMzmeClqMlDiaBAKmC4m","title":"30.6 Exercises","pathname":"/cs61b-textbook-fall-2026/30.-basic-sorts/30.6-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"30. Basic Sorts"}]},{"id":"ByYHqLcEfgoY75LmNK9H","title":"31. Quicksort","pathname":"/cs61b-textbook-fall-2026/31.-quicksort","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"D7EWFZymMJ1NZm3mqa7M","title":"31.1 Partitioning","pathname":"/cs61b-textbook-fall-2026/31.-quicksort/31.1-partitioning","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"31. Quicksort"}]},{"id":"Rv4PIXp98K1BJm0ZsNPd","title":"31.2 Quicksort Algorithm","pathname":"/cs61b-textbook-fall-2026/31.-quicksort/31.2-quicksort-algorithm","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"31. Quicksort"}]},{"id":"gqzLNG9afIHr7Uctsrx6","title":"31.3 Quicksort Performance Caveats","pathname":"/cs61b-textbook-fall-2026/31.-quicksort/31.3-quicksort-performance-caveats","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"31. Quicksort"}]},{"id":"766VJW7mXAOSGCsAnQks","title":"31.4 Summary","pathname":"/cs61b-textbook-fall-2026/31.-quicksort/31.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"31. Quicksort"}]},{"id":"8xxOXGloyvyMnxClPNI7","title":"31.5 Exercises","pathname":"/cs61b-textbook-fall-2026/31.-quicksort/31.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"31. Quicksort"}]},{"id":"8Mv0ZWwcP22GD68zBBSu","title":"32. More Quick Sort, Sorting Summary","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary","siteSpaceId":"sitesp_cw3v4","description":"By Teresa Luo and Nathalys Pham"},{"id":"rLEeQLAfdYwWlnVjSCw0","title":"32.1 Quicksort Flavors vs. MergeSort","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary/32.1-quicksort-flavors-vs.-mergesort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"32. More Quick Sort, Sorting Summary"}]},{"id":"hdQoDQxJ9SNgEHeH4zuS","title":"32.2 Quick Select","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary/32.2-quick-select","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"32. More Quick Sort, Sorting Summary"}]},{"id":"5Gvv1vYtePMkH17tekOm","title":"32.3 Stability, Adaptiveness, and Optimization","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary/32.3-stability-adaptiveness-and-optimization","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"32. More Quick Sort, Sorting Summary"}]},{"id":"hcQjKIW8ou50pEMfEYca","title":"32.4 Summary","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary/32.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"32. More Quick Sort, Sorting Summary"}]},{"id":"gLjIrblMI86XEaXUK9uD","title":"32.5 Exercises","pathname":"/cs61b-textbook-fall-2026/32.-more-quick-sort-sorting-summary/32.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"32. More Quick Sort, Sorting Summary"}]},{"id":"HnYOtTxucNeCbOUixMSV","title":"33. Sorting and Algorithmic Bounds","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds","siteSpaceId":"sitesp_cw3v4","description":"By William Lee and Angel Aldaco"},{"id":"sDBBIig5rcJhlste00iD","title":"33.1 Sorting Summary","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds/33.1-sorting-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"33. Sorting and Algorithmic Bounds"}]},{"id":"ddcTETv0IQ8vbbMGvQGb","title":"33.2 Math Problems Out of Nowhere","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds/33.2-math-problems-out-of-nowhere","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"33. Sorting and Algorithmic Bounds"}]},{"id":"zcYoZgyRuBeGamG1aAtB","title":"33.3 Theoretical Bounds on Sorting","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds/33.3-theoretical-bounds-on-sorting","siteSpaceId":"sitesp_cw3v4","description":"What is the best time we can get for sorting?","breadcrumbs":[{"label":"33. Sorting and Algorithmic Bounds"}]},{"id":"VUAztgO4KOEpRZsCZG1Y","title":"33.4 Summary","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds/33.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"33. Sorting and Algorithmic Bounds"}]},{"id":"Tgf3FEdImLBe2cFx5tJA","title":"33.5 Exercises","pathname":"/cs61b-textbook-fall-2026/33.-sorting-and-algorithmic-bounds/33.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"33. Sorting and Algorithmic Bounds"}]},{"id":"l8JVyucZEFwClwDFdO24","title":"34. Radix Sorts","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani"},{"id":"kgidCL17hYTqdowo34Cs","title":"34.1 Counting Sort","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts/34.1-counting-sort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"34. Radix Sorts"}]},{"id":"KvVOnkIUgLMhANdtWCzg","title":"34.2 LSD Radix Sort","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts/34.2-lsd-radix-sort","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"34. Radix Sorts"}]},{"id":"nSzq2enjwpg0TjwtEBiZ","title":"34.3 MSD Radix Sort","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts/34.3-msd-radix-sort","siteSpaceId":"sitesp_cw3v4","description":"Basic idea: Just like LSD, but sort from leftmost digit towards the right.","breadcrumbs":[{"label":"34. Radix Sorts"}]},{"id":"oQXADOL5PHxeIFeuOKgt","title":"34.4 Summary","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts/34.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"34. Radix Sorts"}]},{"id":"jIZ2Ik1jSdnMNWe3ySnP","title":"34.5 Exercises","pathname":"/cs61b-textbook-fall-2026/34.-radix-sorts/34.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"34. Radix Sorts"}]},{"id":"WZ9pZLV1DKhUMDUddOMj","title":"35. Sorting and Data Structures Conclusion","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani and William Lee"},{"id":"leSKw7SZKVOzMXgMmdVL","title":"35.1 Radix vs. Comparison Sorting","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion/35.1-radix-vs.-comparison-sorting","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"35. Sorting and Data Structures Conclusion"}]},{"id":"mCJqma6V3pJ9a1KLciLI","title":"35.2 The Just-In-Time Compiler","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion/35.2-the-just-in-time-compiler","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"35. Sorting and Data Structures Conclusion"}]},{"id":"JKUYL5mis9l6i7axHYyR","title":"35.3 Radix Sorting Integers","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion/35.3-radix-sorting-integers","siteSpaceId":"sitesp_cw3v4","description":"ft. Obama","breadcrumbs":[{"label":"35. Sorting and Data Structures Conclusion"}]},{"id":"u843YLLTsksvAX6rMDoL","title":"35.4 Summary","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion/35.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"35. Sorting and Data Structures Conclusion"}]},{"id":"06FfLMYZEippZ0DHqehy","title":"35.5 Exercises","pathname":"/cs61b-textbook-fall-2026/35.-sorting-and-data-structures-conclusion/35.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"35. Sorting and Data Structures Conclusion"}]},{"id":"vk6qE6ySANyzp9cxcF4N","title":"36. Software Engineering III","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii","siteSpaceId":"sitesp_cw3v4","description":"By William Lee and Teresa Luo"},{"id":"SlMlZlzPDli0iobx5G1j","title":"36.1 Candy Crush, SnapChat, and Friends","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii/36.1-candy-crush-snapchat-and-friends","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"36. Software Engineering III"}]},{"id":"Y8j6eeJCVvtuK7wImDaO","title":"36.2 The Ledger of Harms","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii/36.2-the-ledger-of-harms","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"36. Software Engineering III"}]},{"id":"OIIRVvZnyvuA5MGUGGzr","title":"36.3 Your Life","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii/36.3-your-life","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"36. Software Engineering III"}]},{"id":"gsP0shT4IxrkKoiyeobT","title":"36.4 Summary","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii/36.4-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"36. Software Engineering III"}]},{"id":"gSPBXGDoVcVjJFwinTxN","title":"36.5 Exercises","pathname":"/cs61b-textbook-fall-2026/36.-software-engineering-iii/36.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"36. Software Engineering III"}]},{"id":"HhiNi47rZK7P8nFwKJyZ","title":"37. Software Engineering IV","pathname":"/cs61b-textbook-fall-2026/37.-software-engineering-iv","siteSpaceId":"sitesp_cw3v4","description":"By Mihir Mirchandani"},{"id":"cbw6OfRQkAfJMouzSsRR","title":"37.1 The end is near","pathname":"/cs61b-textbook-fall-2026/37.-software-engineering-iv/37.1-the-end-is-near","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"37. Software Engineering IV"}]},{"id":"Nt23UQ5LjFDTpnOEWhW6","title":"38. Compression and Complexity","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity","siteSpaceId":"sitesp_cw3v4","description":"By Dhruti Pandya and Stella Kaval"},{"id":"c3qFGXuYuOlQ9ZoLjXXG","title":"38.1 Introduction to Compression","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.1-introduction-to-compression","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"KzZooZi0UTj4AMpMdUbA","title":"38.2 Prefix-free Codes","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.2-prefix-free-codes","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"Mjb7xyWFiRR9uHwDmpyE","title":"38.3 Shannon-Fano Codes","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.3-shannon-fano-codes","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"kzQU44mNoYlN1b0yoOCo","title":"38.4 Huffman Coding Conceptuals","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.4-huffman-coding-conceptuals","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"OV4ziyAGvxnVetxJcixN","title":"38.5 Compression Theory","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.5-compression-theory","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"nUZTpfBZ5CNv4S4SupQV","title":"38.6 LZW Compression","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.6-lzw-compression","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"Cm7pK30Owdef8ImdeoyZ","title":"38.7 Summary","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.7-summary","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"CiefqRTx6uYvq7En4NoJ","title":"38.8 Exercises","pathname":"/cs61b-textbook-fall-2026/38.-compression-and-complexity/38.8-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"38. Compression and Complexity"}]},{"id":"2cjFyrpU9iq57p6Fhkrn","title":"39. Compression, Complexity, P = NP","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np","siteSpaceId":"sitesp_cw3v4","description":""},{"id":"64tbyIuPLUsz179Rd7Zd","title":"39.1 Models of Compression","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np/39.1-models-of-compression","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"39. Compression, Complexity, P = NP"}]},{"id":"izgTyXdVkj0xbPirgRQQ","title":"39.2 Optimal Compression, Kolmogorov Complexity","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np/39.2-optimal-compression-kolmogorov-complexity","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"39. Compression, Complexity, P = NP"}]},{"id":"hGN8icbakMTnKjE3BkK9","title":"39.3 Space/Time-Bounded Compression","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np/39.3-space-time-bounded-compression","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"39. Compression, Complexity, P = NP"}]},{"id":"y49gUshbk0JUvysy32eW","title":"39.4 P = NP","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np/39.4-p-np","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"39. Compression, Complexity, P = NP"}]},{"id":"wkMy5Udw6wQKEpJIt7n5","title":"39.5 Exercises","pathname":"/cs61b-textbook-fall-2026/39.-compression-complexity-p-np/39.5-exercises","siteSpaceId":"sitesp_cw3v4","description":"","breadcrumbs":[{"label":"39. Compression, Complexity, P = NP"}]}]}