tomdwipo / awesome-ios-books

📚 Directory of iOS books

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome iOS Books

Directory of iOS books

Awesome Books Last updated
Awesome 97 Apr 3, 2023

How to Use

  • Simply press command + F to search for a keyword
  • Go through our Content Menu

Content Menu

iOS

Objective-C

Swift

Functional Swift

UI

SwiftUI

Combine

Architecture

Multithreading

Data Structures and Algorithms

Database

ARKit

Machine Learning

Metal

Catalyst

Game Development

Reverse Engineering

Network

Testing

watchOS

tvOS

macOS

Server Side Swift

Interview

🇷🇺 Russian books

Other Awesome Lists

Contributing and License

  • See the guide
  • Distributed under the MIT license. See LICENSE for more information.

Contributors

How can I learn algorithms and data structures from scratch?

Day −∞ to 0: Stick to a programming language like C or C++. Make sure that you are comfortable with pointers/objects.

Day 1: Understand the concept of Algorithmic complexity. Skip the theory for now, but for every piece of code you write, you should be able to derive both time and space complexity.

Day 2 - 10: Let’s start with some simple data structures,

Arrays Linked Lists Strings Stacks Queues Understand their basic operations (insert, delete, search, traversal) and their complexity - Big-O Algorithm Complexity Cheat Sheet, and code them all.

Day 11 - 25: Let’s now learn some simple algorithms,

Sorting - Insertion sort, Merge sort, Quick sort, Heap sort, Bucket sort, Counting sort, Radix sort, External sorting Search - Linear search, Binary Search (along with its variants). Prime Numbers - Sieve of Eratosthenes, Primality test Strings - String searching, LCS, Palindrome detection Miscellaneous - Euclidean algorithm, Matrix multiplication, Fibonacci Numbers, Pascal's Triangle, Max Subarray problem Day 26 - 50: Once you are comfortable with everything above, start doing problems from,

Cracking the Coding Interview Elements of Programming Interviews Programming Interviews Exposed: Secrets to Landing Your Next Job GeeksforGeeks HackerRank InterviewBit Stick to chapters of arrays, linked lists, strings, stacks, queues and complexity.

Day 51 - 60: Let’s learn some non-linear data structures,

Tree Binary Tree, Binary Search Tree - Tree traversals, Lowest common ancestor, Depth, Height & Diameter, Finding k-th smallest element Heaps Hash table - 4 sum problem, Checking if sudoku solution is valid Graph - Breadth-first search, Depth-first search, Topological sorting, Minimum spanning tree, Shortest path problem, Day 61- 90: Refer to the previous resources and start doing problems from trees, hash tables, heaps and graphs.

Day 91 - 100: Understand Computational complexity theory and NP-completeness, Knapsack problem, Travelling salesman problem, SAT problem and so on.

Day 101 - ∞ : You are now better than most of the CS undergrads. Keep revising the above topics and start competitive programming! Good luck!

About

📚 Directory of iOS books

License:MIT License