
عنوان:
50Algorithms Every Programmer Should Know - Second Edition
نویسنده:
Imran Ahmad
انتشارات:
Packt Publishing
تاریخ انتشار:
2023
حجم:
5.4MB
معرفی کتاب:" ۵۰ الگوریتم که هر برنامهنویسی باید بداند: مجموعهای بینظیر از راهحلهای الگوریتمی برای مسائل دنیای واقعی ویرایش دوم "
معرفی کلی
با کتاب 50 Algorithms Every Programmer Should Know، با ارزش همیشگی الگوریتمها آشنا شوید. این کتاب جامع، طیف گستردهای از الگوریتمهای ضروری را پوشش میدهد و تنها به پیادهسازی بسنده نمیکند، بلکه اصول بنیادی آنها را نیز آموزش میدهد. چه در حال یادگیری مباحث کلاسیک باشید و چه موضوعات مدرن مانند Neural Networks یا Cryptography، این کتاب اطمینان میدهد که میتوانید مهارتهای خود را برای حل چالشهای واقعی بهکار بگیرید.
این کتاب به شما کمک میکند تا:
- الگوریتمهایی کارآمد برای حل مسائل محاسباتی توسعه داده و پیادهسازی کنید
- مدلهای Machine Learning شامل معماریهای مدرن Deep Learning را درک کرده و بسازید
- بهصورت مؤثر مسائل مربوط به گرافها را با استفاده از Graph Algorithms تحلیل و حل کنید
- درکی پایهای و محکم از Natural Language Processing و تکنیکهای پیشرفته آن بهدست آورید
- از تکنیکهای Parallel Processing برای بهینهسازی محاسبات در مقیاس بزرگ بهره ببرید
درباره نویسنده
Imran Ahmad یک مهندس نرمافزار و دانشمند داده با تجربه است که در پیادهسازی و توضیح الگوریتمهای پیچیده تخصص دارد. او تجربهی عملی استفاده از الگوریتمها در حوزههای گوناگون را داشته و علاقهی فراوانش به آموزش و سادهسازی مفاهیم علوم کامپیوتر، در سبک نگارش روان و قابلفهم او نمایان است؛ بهگونهای که خوانندگان با هر سطحی از دانش میتوانند با مطالب کتاب ارتباط برقرار کنند و آنها را بیاموزند.
مخاطبان کتاب
این کتاب برای برنامهنویسانی ایدهآل است که میخواهند دانش خود را در زمینه الگوریتمها تقویت کرده و جعبهابزار حل مسئلهی خود را گسترش دهند. برای کسانی که آشنایی اولیه با زبان Python دارند و قصد دارند از مباحث پایه تا پیشرفتهی الگوریتمها را یاد بگیرند، منبعی ارزشمند است. چه بخواهید وارد دنیای Machine Learning شوید یا تکنیکهای Cryptography را بیاموزید، این کتاب در هر مرحله بینشی مفید در اختیارتان قرار میدهد.
فهرست مطالب
- Cover
- Copyright
- Contributors
- Table of Contents
- Preface
- Section 1: Fundamentals and Core Algorithms
- Chapter 1: Overview of Algorithms
- What is an algorithm?
- Python packages
- Algorithm design techniques
- Performance analysis
- Selecting an algorithm
- Validating an algorithm
- Summary
- Chapter 2: Data Structures Used in Algorithms
- Exploring Python built-in data types
- Exploring abstract data types
- Summary
- Chapter 3: Sorting and Searching Algorithms
- Introducing sorting algorithms
- Introduction to searching algorithms
- Practical applications
- Summary
- Chapter 4: Designing Algorithms
- Introducing the basic concepts of designing an algorithm
- Understanding algorithmic strategies
- A practical application – solving the TSP
- Presenting the PageRank algorithm
- Understanding linear programming
- Summary
- Chapter 5: Graph Algorithms
- Understanding graphs: a brief introduction
- Graph theory and network analysis
- Representations of graphs
- Graph mechanics and types
- Introducing network analysis theory
- Understanding graph traversals
- Case study: fraud detection using SNA
- Summary
- Section 2: Machine Learning Algorithms
- Chapter 6: Unsupervised Machine Learning Algorithms
- Introducing unsupervised learning
- Understanding clustering algorithms
- Steps of hierarchical clustering
- Coding a hierarchical clustering algorithm
- Understanding DBSCAN
- Creating clusters using DBSCAN in Python
- Evaluating the clusters
- Dimensionality reduction
- Association rules mining
- Summary
- Chapter 7: Traditional Supervised Learning Algorithms
- Understanding supervised machine learning
- Formulating supervised machine learning problems
- Understanding classification algorithms
- Decision tree classification algorithm
- Understanding the ensemble methods
- Logistic regression
- The SVM algorithm
- Bayes’ theorem
- For classification algorithms, the winner is...
- Linear regression
- For regression algorithms, the winner is...
- Practical example – how to predict the weather
- Summary
- Chapter 8: Neural Network Algorithms
- The evolution of neural networks
- Understanding neural networks
- Training a neural network
- Understanding the anatomy of a neural network
- Defining gradient descent
- Activation functions
- Tools and frameworks
- Choosing a sequential or functional model
- Understanding the types of neural networks
- Using transfer learning
- Case study – using deep learning for fraud detection
- Summary
- Chapter 9: Algorithms for Natural Language Processing
- Introducing NLP
- Understanding NLP terminology
- Cleaning data using Python
- Understanding the Term Document Matrix
- Introduction to word embedding
- Implementing word embedding with Word2Vec
- Case study: Restaurant review sentiment analysis
- Applications of NLP
- Summary
- Chapter 10: Understanding Sequential Models
- Understanding sequential data
- Data representation for sequential models
- Introducing RNNs
- GRU
- Introducing LSTM
- Summary
- Chapter 11: Advanced Sequential Modeling Algorithms
- The evolution of advanced sequential modeling techniques
- Exploring autoencoders
- Understanding the Seq2Seq model
- Understanding the attention mechanism
- Delving into self-attention
- Transformers: the evolution in neural networks after self-attention
- LLMs
- Summary
- Section 3: Advanced Topics
- Chapter 12: Recommendation Engines
- Introducing recommendation systems
- Types of recommendation engines
- Understanding the limitations of recommendation systems
- Areas of practical applications
- Practical example – creating a recommendation engine
- Summary
- Chapter 13: Algorithmic Strategies for Data Handling
- Introduction to data algorithms
- Presenting the CAP theorem
- Decoding data compression algorithms
- Practical example: Data management in AWS: A focus on CAP theorem and compression algorithms
- Summary
- Chapter 14: Cryptography
- Introduction to cryptography
- Understanding the types of cryptographic techniques
- Example: security concerns when deploying a machine learning model
- Summary
- Chapter 15: Large-Scale Algorithms
- Introduction to large-scale algorithms
- Characterizing performant infrastructure for large-scale algorithms
- Strategizing multi-resource processing
- Understanding theoretical limitations of parallel computing
- How Apache Spark empowers large-scale algorithm processing
- Using large-scale algorithms in cloud computing
- Summary
- Chapter 16: Practical Considerations
- Challenges facing algorithmic solutions
- Failure of Tay, the Twitter AI bot
- The explainability of an algorithm
- Understanding ethics and algorithms
- Reducing bias in models
- When to use algorithms
- Summary
- Packt page
- Other Books You May Enjoy
- Index
مشخصات
نام کتاب
50Algorithms Every Programmer Should Know - Second Edition
نویسنده
Imran Ahmad
انتشارات
Packt Publishing
تاریخ انتشار
2023
ISBN
9781803247762
تعداد صفحات
539
زبان
انگلیسی
فرمت
حجم
5.4MB
موضوع
Computers>Algorithms and Data Structures