Details

The Self-Taught Computer Scientist


The Self-Taught Computer Scientist

The Beginner's Guide to Data Structures & Algorithms
1. Aufl.

von: Cory Althoff

21,99 €

Verlag: Wiley
Format: EPUB
Veröffentl.: 16.09.2021
ISBN/EAN: 9781119724339
Sprache: englisch
Anzahl Seiten: 224

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

<p><b>The follow-up to Cory Althoff's bestselling <i>The Self-Taught Programmer</i>, which inspired hundreds of thousands of professionals to learn to program outside of school!</b></p> <p>Fresh out of college and with just a year of self-study behind him, Cory Althoff was offered a dream first job as a software engineer for a well-known tech company, but he quickly found himself overwhelmed by the amount of things he needed to know, but hadn’t learned yet. This experience combined with his personal journey learning to program inspired his widely praised guide, <i>The Self-Taught Programmer</i>. Now Cory's back with another guide for the self-taught community of learners focusing on the foundations of computer science.</p> <p><i>The Self-Taught Computer Scientist</i> introduces beginner and self-taught programmers to computer science fundamentals that are essential for success in programming and software engineering fields. Computer science is a massive subject that could cover an entire lifetime of learning. This book does not aim to cover everything you would learn about if you went to school to get a computer science degree. Instead, Cory's goal is to give you an introduction to some of the most important concepts in computer science that apply to a programming career. With a focus on data structures and algorithms, <i>The Self-Taught Computer Scientist</i> helps you fill gaps in your knowledge, prepare for a technical interview, feel knowledgeable and confident on the job, and ultimately, become a better programmer.</p> <ul> <li>Learn different algorithms including linear and binary search and test your knowledge with feedback loops</li> <li>Understand what a data structure is and study arrays, linked lists, stacks, queues, hash tables, binary trees, binary heaps, and graphs</li> <li>Prepare for technical interviews and feel comfortable working with more experienced colleagues</li> <li>Discover additional resources and tools to expand your skillset and continue your learning journey</li> </ul> <br /> <p>It's as simple as this: You have to study computer science if you want to become a successful programmer, and if you don't understand computer science, you won't get hired. Ready for a career in programming, coding, or software engineering and willing to embrace an "always be learning" mindset? <i>The Self-Taught Computer Scientist</i> is for you.</p>
<p>Introduction xiv</p> <p>I Introduction to Algorithms 1</p> <p><b>1 What Is an Algorithm? 3</b></p> <p>Analyzing Algorithms 4</p> <p>Constant Time 8</p> <p>Logarithmic Time 9</p> <p>Linear Time 10</p> <p>Log-Linear Time 11</p> <p>Quadratic Time 11</p> <p>Cubic Time 13</p> <p>Exponential Time 14</p> <p>Best- Case vs. Worst-Case Complexity 15</p> <p>Space Complexity 15</p> <p>Why Is This Important? 16</p> <p>Vocabulary 17</p> <p>Challenge 18</p> <p><b>2 Recursion 19</b></p> <p>When to Use Recursion 23</p> <p>Vocabulary 23</p> <p>Challenge 23</p> <p><b>3 Search Algorithms 25</b></p> <p>Linear Search 25</p> <p>When to Use a Linear Search 27</p> <p>Binary Search 27</p> <p>When to Use a Binary Search 30</p> <p>Searching for Characters 32</p> <p>Vocabulary 34</p> <p>Challenge 35</p> <p><b>4 Sorting Algorithms 37</b></p> <p>Bubble Sort 37</p> <p>When to Use Bubble Sort 41</p> <p>Insertion Sort 42</p> <p>When to Use Insertion Sort 45</p> <p>Merge Sort 45</p> <p>When to Use Merge Sort 52</p> <p>Sorting Algorithms in Python 53</p> <p>Vocabulary 54</p> <p>Challenge 54</p> <p><b>5 String Algorithms 55</b></p> <p>Anagram Detection 55</p> <p>Palindrome Detection 56</p> <p>Last Digit 57</p> <p>Caesar Cipher 58</p> <p>Vocabulary 61</p> <p>Challenge 61</p> <p><b>6 Math 63</b></p> <p>Binary 63</p> <p>Bitwise Operators 66</p> <p>FizzBuzz 70</p> <p>Greatest Common Factor 72</p> <p>Euclid’s Algorithm 74</p> <p>Primes 75</p> <p>Vocabulary 77</p> <p>Challenge 78</p> <p><b>7 Self- Taught Inspiration: Margaret Hamilton 79</b></p> <p>II Data Structures. 81</p> <p><b>8 What Is a Data Structure? 83</b></p> <p>Vocabulary 85</p> <p>Challenge 86</p> <p><b>9 Arrays 87</b></p> <p>Array Performance 88</p> <p>Creating an Array 90</p> <p>Moving Zeros 91</p> <p>Combining Two Lists 94</p> <p>Finding the Duplicates in a List 95</p> <p>Finding the Intersection of Two Lists 98</p> <p>Vocabulary 99</p> <p>Challenge 100</p> <p><b>10 Linked Lists 101</b></p> <p>Linked List Performance 103</p> <p>Create a Linked List 104</p> <p>Search a Linked List 107</p> <p>Removing a Node from a Linked List 108</p> <p>Reverse a Linked List 109</p> <p>Finding a Linked List Cycle 110</p> <p>Vocabulary 111</p> <p>Challenges 112</p> <p><b>11 Stacks 113</b></p> <p>When to Use Stacks 114</p> <p>Creating a Stack 115</p> <p>Using Stacks to Reverse Strings 119</p> <p>Min Stack 120</p> <p>Stacked Parentheses 123</p> <p>Vocabulary 125</p> <p>Challenges 125</p> <p><b>12 Queues 127</b></p> <p>When to Use Queues 128</p> <p>Creating a Queue 129</p> <p>Python’s Built- In Queue Class 134</p> <p>Create a Queue Using Two Stacks 134</p> <p>Vocabulary 136</p> <p>Challenge 136</p> <p><b>13 Hash Tables 137</b></p> <p>When to Use Hash Tables 140</p> <p>Characters in a String 141</p> <p>Two Sum 143</p> <p>Vocabulary 144</p> <p>Challenge 145</p> <p><b>14 Binary Trees 147</b></p> <p>When to Use Trees 150</p> <p>Creating a Binary Tree 153</p> <p>Breadth- First Tree Traversal 155</p> <p>More Tree Traversals 157</p> <p>Invert a Binary Tree 160</p> <p>Vocabulary 162</p> <p>Challenges 162</p> <p><b>15 Binary Heaps 163</b></p> <p>When to Use Heaps 167</p> <p>Creating a Heap 167</p> <p>Connecting Ropes with Minimal Cost 169</p> <p>Vocabulary 171</p> <p>Challenge 171</p> <p><b>16 Graphs 173</b></p> <p>When to Use Graphs 177</p> <p>Creating a Graph 178</p> <p>Dijkstra’s Algorithm 180</p> <p>Vocabulary 186</p> <p>Challenge 187</p> <p><b>17 Self- Taught Inspiration: Elon Musk 189</b></p> <p><b>18 Next Steps 191</b></p> <p>What’s Next? 191</p> <p>Climbing the Freelance Ladder 192</p> <p>How to Get an Interview 192</p> <p>How to Prepare for a Technical Interview 193</p> <p>Additional Resources 194</p> <p>Final Thoughts 194</p> <p>Index 195</p>
<p><b>CORY ALTHOFF</b> is a programmer, speaker, and author whose work includes <i>The Self-Taught Programmer</i> and <i>The Self-Taught Computer Scientist</i>. After graduating with a major in political science, Cory taught himself to program, eventually becoming a software engineer at eBay. Cory's books have been translated into eight languages, and he has been featured in publications like Forbes and CNBC. Over 250K developers are part of the self-taught programmer community he created through his popular Facebook group, course, and newsletter. Cory is a senior vice president at CompTIA, where he helps people learn the skills they need to have successful careers in tech. Cory lives in California with his wife and daughter.</p>
<p><b>Prepare for an exciting new career in software development</b></p> <p>The <i>Self-Taught Computer Scientist</i> is Cory Althoff's follow-up to The <i>Self-Taught Programmer,</i> which inspired hundreds of thousands of professionals to learn how to program outside of school.</p> <p>In <i>The Self-Taught Programmer,</i> Cory showed readers why you don't need a computer science degree to program professionally and taught the programming fundamentals he used to go from a complete beginner to a software engineer at eBay without one.</p> <p>In <i>The Self-Taught Computer Scientist,</i> Cory teaches you the most important computer science topics that all self-taught programmers should understand to have outstanding careers. The book focuses on data structures and algorithms: two subjects all future programmers need to understand. <i>The Self-Taught Computer Scientist</i> will not only make you a better programmer; it will also help you pass your technical interview: the interview all programmers have to pass to land a new job.</p> <p>Whether you are preparing to apply for jobs or sharpen your knowledge on data structures and algorithms, reading <i>The Self-Taught Computer Scientist</i> will improve your programming career. It's written for complete beginners, so you should have no problem reading it even if you’ve never studied computer science before.</p>

Diese Produkte könnten Sie auch interessieren:

Computational Intelligence
Computational Intelligence
von: Diego Andina, Duc Truong Pham
PDF ebook
96,29 €
Advances in Modeling Agricultural Systems
Advances in Modeling Agricultural Systems
von: Petraq Papajorgji, Panos M. Pardalos
PDF ebook
149,79 €
From Combinatorics to Philosophy
From Combinatorics to Philosophy
von: Ernesto Damiani, Ottavio D'Antona, Vincenzo Marra, Fabrizio Palombi
PDF ebook
149,79 €