Muutke küpsiste eelistusi

E-raamat: Self-Taught Computer Scientist: The Beginner's Guide to Data Structures & Algorithms

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 16-Sep-2021
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9781119724339
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 24,38 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 16-Sep-2021
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9781119724339
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

The follow-up to Cory Althoff's bestselling The Self-Taught Programmer, which inspired hundreds of thousands of professionals to learn to program outside of school!

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 hadnt learned yet. This experience combined with his personal journey learning to program inspired his widely praised guide, The Self-Taught Programmer. Now Cory's back with another guide for the self-taught community of learners focusing on the foundations of computer science.

The Self-Taught Computer Scientist 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, The Self-Taught Computer Scientist 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.





Learn different algorithms including linear and binary search and test your knowledge with feedback loops Understand what a data structure is and study arrays, linked lists, stacks, queues, hash tables, binary trees, binary heaps, and graphs Prepare for technical interviews and feel comfortable working with more experienced colleagues Discover additional resources and tools to expand your skillset and continue your learning journey



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? The Self-Taught Computer Scientist is for you.
Introduction xiv
I Introduction to Algorithms
1(80)
1 What Is an Algorithm?
3(16)
Analyzing Algorithms
4(4)
Constant Time
8(1)
Logarithmic Time
9(1)
Linear Time
10(1)
Log-Linear Time
11(1)
Quadratic Time
11(2)
Cubic Time
13(1)
Exponential Time
14(1)
Best-Case vs. Worst-Case Complexity
15(1)
Space Complexity
15(1)
Why Is This Important?
16(1)
Vocabulary
17(1)
Challenge
18(1)
2 Recursion
19(6)
When to Use Recursion
23(1)
Vocabulary
23(1)
Challenge
23(2)
3 Search Algorithms
25(12)
Linear Search
25(2)
When to Use a Linear Search
27(1)
Binary Search
27(3)
When to Use a Binary Search
30(2)
Searching for Characters
32(2)
Vocabulary
34(1)
Challenge
35(2)
4 Sorting Algorithms
37(18)
Bubble Sort
37(4)
When to Use Bubble Sort
41(1)
Insertion Sort
42(3)
When to Use Insertion Sort
45(1)
Merge Sort
45(7)
When to Use Merge Sort
52(1)
Sorting Algorithms in Python
53(1)
Vocabulary
54(1)
Challenge
54(1)
5 String Algorithms
55(8)
Anagram Detection
55(1)
Palindrome Detection
56(1)
Last Digit
57(1)
Caesar Cipher
58(3)
Vocabulary
61(1)
Challenge
61(2)
6 Math
63(16)
Binary
63(3)
Bitwise Operators
66(4)
FizzBuzz
70(2)
Greatest Common Factor
72(2)
Euclid's Algorithm
74(1)
Primes
75(2)
Vocabulary
77(1)
Challenge
78(1)
7 Self-Taught Inspiration: Margaret Hamilton
79(2)
II Data Structures
81(114)
8 What Is a Data Structure?
83(4)
Vocabulary
85(1)
Challenge
86(1)
9 Arrays
87(14)
Array Performance
88(2)
Creating an Array
90(1)
Moving Zeros
91(3)
Combining Two Lists
94(1)
Finding the Duplicates in a List
95(3)
Finding the Intersection of Two Lists
98(1)
Vocabulary
99(1)
Challenge
100(1)
10 Linked Lists
101(12)
Linked List Performance
103(1)
Create a Linked List
104(3)
Search a Linked List
107(1)
Removing a Node from a Linked List
108(2)
Reverse a Linked List
109(1)
Finding a Linked List Cycle
110(1)
Vocabulary
111(1)
Challenges
112(1)
11 Stacks
113(14)
When to Use Stacks
114(1)
Creating a Stack
115(4)
Using Stacks to Reverse Strings
119(1)
Min Stack
120(3)
Stacked Parentheses
123(2)
Vocabulary
125(1)
Challenges
125(2)
12 Queues
127(10)
When to Use Queues
128(1)
Creating a Queue
129(5)
Python's Built-In Queue Class
134(1)
Create a Queue Using Two Stacks
134(2)
Vocabulary
136(1)
Challenge
136(1)
13 Hash Tables
137(10)
When to Use Hash Tables
140(1)
Characters in a String
141(2)
Two Sum
143(1)
Vocabulary
144(1)
Challenge
145(2)
14 Binary Trees
147(16)
When to Use Trees
150(3)
Creating a Binary Tree
153(2)
Breadth-First Tree Traversal
155(2)
More Tree Traversals
157(3)
Invert a Binary Tree
160(2)
Vocabulary
162(1)
Challenges
162(1)
15 Binary Heaps
163(10)
When to Use Heaps
167(1)
Creating a Heap
167(2)
Connecting Ropes with Minimal Cost
169(2)
Vocabulary
171(1)
Challenge
171(2)
16 Graphs
173(16)
When to Use Graphs
177(1)
Creating a Graph
178(2)
Dijkstra's Algorithm
180(6)
Vocabulary
186(1)
Challenge
187(2)
17 Self-Taught Inspiration: Elon Musk
189(2)
18 Next Steps
191(4)
What's Next?
191(1)
Climbing the Freelance Ladder
192(1)
How to Get an Interview
192(1)
How to Prepare for a Technical Interview
193(1)
Additional Resources
194(1)
Final Thoughts
194(1)
Index 195
CORY ALTHOFF is a programmer, speaker, and author whose work includes The Self-Taught Programmer and The Self-Taught Computer Scientist. 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.