{"product_id":"the-selftaught-computer-scientist-9781119724414","title":"The SelfTaught Computer Scientist","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eIntroduction xiv\u003c\/p\u003e \u003cp\u003eI Introduction to Algorithms 1\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 What Is an Algorithm? 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAnalyzing Algorithms 4\u003c\/p\u003e \u003cp\u003eConstant Time 8\u003c\/p\u003e \u003cp\u003eLogarithmic Time 9\u003c\/p\u003e \u003cp\u003eLinear Time 10\u003c\/p\u003e \u003cp\u003eLog-Linear Time 11\u003c\/p\u003e \u003cp\u003eQuadratic Time 11\u003c\/p\u003e \u003cp\u003eCubic Time 13\u003c\/p\u003e \u003cp\u003eExponential Time 14\u003c\/p\u003e \u003cp\u003eBest- Case vs. Worst-Case Complexity 15\u003c\/p\u003e \u003cp\u003eSpace Complexity 15\u003c\/p\u003e \u003cp\u003eWhy Is This Important? 16\u003c\/p\u003e \u003cp\u003eVocabulary 17\u003c\/p\u003e \u003cp\u003eChallenge 18\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Recursion 19\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Recursion 23\u003c\/p\u003e \u003cp\u003eVocabulary 23\u003c\/p\u003e \u003cp\u003eChallenge 23\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Search Algorithms 25\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLinear Search 25\u003c\/p\u003e \u003cp\u003eWhen to Use a Linear Search 27\u003c\/p\u003e \u003cp\u003eBinary Search 27\u003c\/p\u003e \u003cp\u003eWhen to Use a Binary Search 30\u003c\/p\u003e \u003cp\u003eSearching for Characters 32\u003c\/p\u003e \u003cp\u003eVocabulary 34\u003c\/p\u003e \u003cp\u003eChallenge 35\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Sorting Algorithms 37\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBubble Sort 37\u003c\/p\u003e \u003cp\u003eWhen to Use Bubble Sort 41\u003c\/p\u003e \u003cp\u003eInsertion Sort 42\u003c\/p\u003e \u003cp\u003eWhen to Use Insertion Sort 45\u003c\/p\u003e \u003cp\u003eMerge Sort 45\u003c\/p\u003e \u003cp\u003eWhen to Use Merge Sort 52\u003c\/p\u003e \u003cp\u003eSorting Algorithms in Python 53\u003c\/p\u003e \u003cp\u003eVocabulary 54\u003c\/p\u003e \u003cp\u003eChallenge 54\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 String Algorithms 55\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAnagram Detection 55\u003c\/p\u003e \u003cp\u003ePalindrome Detection 56\u003c\/p\u003e \u003cp\u003eLast Digit 57\u003c\/p\u003e \u003cp\u003eCaesar Cipher 58\u003c\/p\u003e \u003cp\u003eVocabulary 61\u003c\/p\u003e \u003cp\u003eChallenge 61\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Math 63\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBinary 63\u003c\/p\u003e \u003cp\u003eBitwise Operators 66\u003c\/p\u003e \u003cp\u003eFizzBuzz 70\u003c\/p\u003e \u003cp\u003eGreatest Common Factor 72\u003c\/p\u003e \u003cp\u003eEuclid’s Algorithm 74\u003c\/p\u003e \u003cp\u003ePrimes 75\u003c\/p\u003e \u003cp\u003eVocabulary 77\u003c\/p\u003e \u003cp\u003eChallenge 78\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Self- Taught Inspiration: Margaret Hamilton 79\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eII Data Structures. 81\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 What Is a Data Structure? 83\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eVocabulary 85\u003c\/p\u003e \u003cp\u003eChallenge 86\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Arrays 87\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eArray Performance 88\u003c\/p\u003e \u003cp\u003eCreating an Array 90\u003c\/p\u003e \u003cp\u003eMoving Zeros 91\u003c\/p\u003e \u003cp\u003eCombining Two Lists 94\u003c\/p\u003e \u003cp\u003eFinding the Duplicates in a List 95\u003c\/p\u003e \u003cp\u003eFinding the Intersection of Two Lists 98\u003c\/p\u003e \u003cp\u003eVocabulary 99\u003c\/p\u003e \u003cp\u003eChallenge 100\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Linked Lists 101\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLinked List Performance 103\u003c\/p\u003e \u003cp\u003eCreate a Linked List 104\u003c\/p\u003e \u003cp\u003eSearch a Linked List 107\u003c\/p\u003e \u003cp\u003eRemoving a Node from a Linked List 108\u003c\/p\u003e \u003cp\u003eReverse a Linked List 109\u003c\/p\u003e \u003cp\u003eFinding a Linked List Cycle 110\u003c\/p\u003e \u003cp\u003eVocabulary 111\u003c\/p\u003e \u003cp\u003eChallenges 112\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Stacks 113\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Stacks 114\u003c\/p\u003e \u003cp\u003eCreating a Stack 115\u003c\/p\u003e \u003cp\u003eUsing Stacks to Reverse Strings 119\u003c\/p\u003e \u003cp\u003eMin Stack 120\u003c\/p\u003e \u003cp\u003eStacked Parentheses 123\u003c\/p\u003e \u003cp\u003eVocabulary 125\u003c\/p\u003e \u003cp\u003eChallenges 125\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Queues 127\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Queues 128\u003c\/p\u003e \u003cp\u003eCreating a Queue 129\u003c\/p\u003e \u003cp\u003ePython’s Built- In Queue Class 134\u003c\/p\u003e \u003cp\u003eCreate a Queue Using Two Stacks 134\u003c\/p\u003e \u003cp\u003eVocabulary 136\u003c\/p\u003e \u003cp\u003eChallenge 136\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Hash Tables 137\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Hash Tables 140\u003c\/p\u003e \u003cp\u003eCharacters in a String 141\u003c\/p\u003e \u003cp\u003eTwo Sum 143\u003c\/p\u003e \u003cp\u003eVocabulary 144\u003c\/p\u003e \u003cp\u003eChallenge 145\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Binary Trees 147\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Trees 150\u003c\/p\u003e \u003cp\u003eCreating a Binary Tree 153\u003c\/p\u003e \u003cp\u003eBreadth- First Tree Traversal 155\u003c\/p\u003e \u003cp\u003eMore Tree Traversals 157\u003c\/p\u003e \u003cp\u003eInvert a Binary Tree 160\u003c\/p\u003e \u003cp\u003eVocabulary 162\u003c\/p\u003e \u003cp\u003eChallenges 162\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 Binary Heaps 163\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Heaps 167\u003c\/p\u003e \u003cp\u003eCreating a Heap 167\u003c\/p\u003e \u003cp\u003eConnecting Ropes with Minimal Cost 169\u003c\/p\u003e \u003cp\u003eVocabulary 171\u003c\/p\u003e \u003cp\u003eChallenge 171\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Graphs 173\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhen to Use Graphs 177\u003c\/p\u003e \u003cp\u003eCreating a Graph 178\u003c\/p\u003e \u003cp\u003eDijkstra’s Algorithm 180\u003c\/p\u003e \u003cp\u003eVocabulary 186\u003c\/p\u003e \u003cp\u003eChallenge 187\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Self- Taught Inspiration: Elon Musk 189\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Next Steps 191\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat’s Next? 191\u003c\/p\u003e \u003cp\u003eClimbing the Freelance Ladder 192\u003c\/p\u003e \u003cp\u003eHow to Get an Interview 192\u003c\/p\u003e \u003cp\u003eHow to Prepare for a Technical Interview 193\u003c\/p\u003e \u003cp\u003eAdditional Resources 194\u003c\/p\u003e \u003cp\u003eFinal Thoughts 194\u003c\/p\u003e \u003cp\u003eIndex 195\u003c\/p\u003e","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":49407132729687,"sku":"9781119724414","price":21.25,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781119724414.jpg?v=1730498294","url":"https:\/\/bookcurl.com\/products\/the-selftaught-computer-scientist-9781119724414","provider":"Book Curl","version":"1.0","type":"link"}