ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python

دانلود کتاب 40 الگوریتمی که هر برنامه نویسی باید بداند: مهارت های حل مسئله خود را با یادگیری الگوریتم های مختلف و پیاده سازی آنها در پایتون تقویت کنید.

40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python

مشخصات کتاب

40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 1789801214, 9781789801217 
ناشر: Packt Publishing 
سال نشر: 2020 
تعداد صفحات: 374 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 20 مگابایت 

قیمت کتاب (تومان) : 47,000

در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 13


در صورت تبدیل فایل کتاب 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب 40 الگوریتمی که هر برنامه نویسی باید بداند: مهارت های حل مسئله خود را با یادگیری الگوریتم های مختلف و پیاده سازی آنها در پایتون تقویت کنید. نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب 40 الگوریتمی که هر برنامه نویسی باید بداند: مهارت های حل مسئله خود را با یادگیری الگوریتم های مختلف و پیاده سازی آنها در پایتون تقویت کنید.



الگوریتم‌های حل مسائل کلاسیک علوم کامپیوتر را با این راهنمای مختصر بیاموزید که همه چیز را از الگوریتم‌های اساسی، مانند مرتب‌سازی و جستجو، تا الگوریتم‌های مدرن مورد استفاده در یادگیری ماشین و رمزنگاری را پوشش می‌دهد

ویژگی های کلیدی

  • تکنیک هایی را که برای طراحی الگوریتم هایی برای حل مسائل پیچیده باید بدانید را بیاموزید
  • با شبکه های عصبی و تکنیک های یادگیری عمیق آشنا شوید
  • کاوش کنید انواع مختلف الگوریتم ها و انتخاب ساختارهای داده مناسب برای اجرای بهینه آنها

توضیحات کتاب

الگوریتم ها همیشه نقش مهمی در علم و عمل محاسبات داشته اند. فراتر از محاسبات سنتی، توانایی استفاده از الگوریتم ها برای حل مسائل دنیای واقعی مهارت مهمی است که هر توسعه دهنده یا برنامه نویسی باید داشته باشد. این کتاب به شما کمک می‌کند نه تنها مهارت‌های انتخاب و استفاده از یک الگوریتم را برای حل مسائل دنیای واقعی توسعه دهید، بلکه به درک نحوه عملکرد آن نیز کمک می‌کند.

شما با مقدمه‌ای بر الگوریتم‌ها و کشف تکنیک‌های مختلف طراحی الگوریتم، قبل از بررسی نحوه پیاده‌سازی انواع مختلف الگوریتم‌ها، مانند جستجو و مرتب‌سازی، با کمک مثال‌های عملی، شروع می‌کنید. همانطور که به مجموعه پیچیده‌تری از الگوریتم‌ها پیش می‌روید، با برنامه‌نویسی خطی، رتبه‌بندی صفحات و نمودارها آشنا می‌شوید و حتی با الگوریتم‌های یادگیری ماشینی کار می‌کنید و ریاضیات و منطق پشت آن‌ها را درک می‌کنید. علاوه بر این، مطالعات موردی مانند پیش‌بینی آب و هوا، خوشه‌بندی توییت‌ها و موتورهای توصیه فیلم به شما نشان می‌دهند که چگونه این الگوریتم‌ها را به‌طور بهینه اعمال کنید. در نهایت، شما به خوبی در تکنیک‌هایی که پردازش موازی را امکان‌پذیر می‌کنند، آشنا خواهید شد و به شما امکان می‌دهد از این الگوریتم‌ها برای کارهای محاسباتی فشرده استفاده کنید.

در پایان این کتاب، شما در حل مسائل محاسباتی دنیای واقعی با استفاده از طیف گسترده ای از الگوریتم ها ماهر خواهید شد.

آنچه خواهید آموخت

  • کاوش ساختار داده‌ها و الگوریتم‌های موجود در کتابخانه‌های پایتون
  • پیاده‌سازی الگوریتم‌های نمودار برای تشخیص تقلب با استفاده از تجزیه و تحلیل شبکه
  • با الگوریتم‌های یادگیری ماشین کار کنید تا توییت‌ها و فرآیندهای مشابه را دسته‌بندی کنید. داده های توییتر در زمان واقعی
  • پیش بینی آب و هوا با استفاده از الگوریتم های یادگیری نظارت شده
  • استفاده از شبکه های عصبی برای تشخیص اشیا
  • ایجاد یک موتور توصیه که فیلم های مرتبط را به مشترکین پیشنهاد می کند < /li>
  • اجرای امنیت بدون خطا با استفاده از رمزگذاری متقارن و نامتقارن در Google Cloud Platform (GCP)

این کتاب برای چه کسی است

این کتاب برای افراد جدی است برنامه نویس! خواه شما یک برنامه نویس باتجربه هستید که به دنبال درک عمیق تری از ریاضیات پشت الگوریتم ها هستید یا دانش برنامه نویسی یا علم داده محدودی دارید و می خواهید در مورد اینکه چگونه می توانید از مزایای این الگوریتم های آزمایش شده در نبرد برای بهبود روش طراحی خود استفاده کنید و اطلاعات بیشتری کسب کنید. کد بنویسید، این کتاب برای شما مفید خواهد بود. تجربه برنامه نویسی پایتون ضروری است، اگرچه دانش علم داده مفید است اما ضروری نیست.

فهرست مطالب

  1. نمای کلی الگوریتم ها
  2. داده ها ساختارهای مورد استفاده در الگوریتم‌ها
  3. الگوریتم‌های مرتب‌سازی و جستجو
  4. طراحی الگوریتم‌ها
  5. الگوریتم‌های نمودار
  6. الگوریتم‌های یادگیری ماشین بدون نظارت
  7. الگوریتم های یادگیری سنتی تحت نظارت
  8. الگوریتم های شبکه عصبی
  9. الگوریتم های پردازش زبان طبیعی
  10. موتورهای توصیه
  11. الگوریتم های داده< li> رمزنگاری
  12. الگوریتم‌های مقیاس بزرگ
  13. ملاحظات عملی

توضیحاتی درمورد کتاب به خارجی

Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental algorithms, such as sorting and searching, to modern algorithms used in machine learning and cryptography

Key Features

  • Learn the techniques you need to know to design algorithms for solving complex problems
  • Become familiar with neural networks and deep learning techniques
  • Explore different types of algorithms and choose the right data structures for their optimal implementation

Book Description

Algorithms have always played an important role in both the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve real-world problems is an important skill that any developer or programmer must have. This book will help you not only to develop the skills to select and use an algorithm to solve real-world problems but also to understand how it works.

You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, such as searching and sorting, with the help of practical examples. As you advance to a more complex set of algorithms, you'll learn about linear programming, page ranking, and graphs, and even work with machine learning algorithms, understanding the math and logic behind them. Further on, case studies such as weather prediction, tweet clustering, and movie recommendation engines will show you how to apply these algorithms optimally. Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks.

By the end of this book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.

What you will learn

  • Explore existing data structures and algorithms found in Python libraries
  • Implement graph algorithms for fraud detection using network analysis
  • Work with machine learning algorithms to cluster similar tweets and process Twitter data in real time
  • Predict the weather using supervised learning algorithms
  • Use neural networks for object detection
  • Create a recommendation engine that suggests relevant movies to subscribers
  • Implement foolproof security using symmetric and asymmetric encryption on Google Cloud Platform (GCP)

Who this book is for

This book is for the serious programmer! Whether you are an experienced programmer looking to gain a deeper understanding of the math behind the algorithms or have limited programming or data science knowledge and want to learn more about how you can take advantage of these battle-tested algorithms to improve the way you design and write code, you'll find this book useful. Experience with Python programming is a must, although knowledge of data science is helpful but not necessary.

Table of Contents

  1. Overview of Algorithms
  2. Data Structures used in Algorithms
  3. Sorting and Searching Algorithms
  4. Designing Algorithms
  5. Graph Algorithms
  6. Unsupervised Machine Learning Algorithms
  7. Traditional Supervised Learning Algorithms
  8. Neural Network Algorithms
  9. Algorithms for Natural Language Processing
  10. Recommendation Engines
  11. Data Algorithms
  12. Cryptography
  13. Large Scale Algorithms
  14. Practical Considerations


فهرست مطالب

Cover
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Table of Contents
Preface
Section 1: Fundamentals and Core Algorithms
Chapter 1: Overview of Algorithms
	What is an algorithm?
		The phases of an algorithm
	Specifying the logic of an algorithm
		Understanding pseudocode 
			A practical example of pseudocode
		Using snippets 
		Creating an execution plan
	Introducing Python packages
		Python packages
			The SciPy ecosystem
		Implementing Python via the Jupyter Notebook
	Algorithm design techniques
		The data dimension
		Compute dimension
			A practical example
	Performance analysis
		Space complexity analysis
		Time complexity analysis
		Estimating the performance
			The best case
			The worst case
			The average case
		Selecting an algorithm
		Big O notation
			Constant time (O(1)) complexity
			Linear time (O(n)) complexity 
			Quadratic time (O(n2)) complexity
			Logarithmic time (O(logn)) complexity
	Validating an algorithm
		Exact, approximate, and randomized algorithms
		Explainability
	Summary
Chapter 2: Data Structures Used in Algorithms
	Exploring data structures in Python
		List
			Using lists
			Lambda functions
			The range function 
			The time complexity of lists
		Tuples
			The time complexity of tuples
		Dictionary
			The time complexity of a dictionary
		Sets
			Time complexity analysis for sets
		DataFrames
			Terminologies of DataFrames
			Creating a subset of a DataFrame
				Column selection
				Row selection
		Matrix
			Matrix operations
	Exploring abstract data types 
		Vector
		Stacks
			The time complexity of stacks
			Practical example
		Queues
		The basic idea behind the use of stacks and queues
		Tree
			Terminology
			Types of trees
			Practical examples
	Summary
Chapter 3: Sorting and Searching Algorithms
	Introducing Sorting Algorithms
		Swapping Variables in Python
		Bubble Sort
			Understanding the Logic Behind Bubble Sort
			A Performance Analysis of Bubble Sort
		Insertion Sort
		Merge Sort
		Shell Sort
			A Performance Analysis of Shell Sort
		Selection Sort
			The performance of the selection sort algorithm
			Choosing a sorting algorithm
	Introduction to Searching Algorithms
		Linear Search
			The Performance of Linear Search
		Binary Search
			The Performance of Binary Search
		Interpolation Search
			The Performance of Interpolation Search
	Practical Applications
	Summary
Chapter 4: Designing Algorithms
	Introducing the basic concepts of designing an algorithm
		Concern 1 – Will the designed algorithm produce the result we expect?
		Concern 2 – Is this the optimal way to get these results?
			Characterizing the complexity of the problem
		Concern 3 – How is the algorithm going to perform on larger datasets?
	Understanding algorithmic strategies
		Understanding the divide-and-conquer strategy
			Practical example – divide-and-conquer applied to Apache Spark
		Understanding the dynamic programming strategy
		Understanding greedy algorithms
	Practical application – solving the TSP
		Using a brute-force strategy
		Using a greedy algorithm
	Presenting the PageRank algorithm
		Problem definition
		Implementing the PageRank algorithm
	Understanding linear programming
		Formulating a linear programming problem
			Defining the objective function
			Specifying constraints
	Practical application – capacity planning with linear programming
	Summary
Chapter 5: Graph Algorithms
	Representations of graphs
		Types of graphs
			Undirected graphs
			Directed graphs
			Undirected multigraphs
			Directed multigraphs
		Special types of edges
		Ego-centered networks
		Social network analysis
	Introducing network analysis theory
		Understanding the shortest path
		Creating a neighborhood 
			Triangles
			Density
		Understanding centrality measures
			Degree
			Betweenness
			Fairness and closeness
			Eigenvector centrality
		Calculating centrality metrics using Python
	Understanding graph traversals
		Breadth-first search 
			Initialization 
			The main loop
		Depth-first search 
	Case study – fraud analytics
		Conducting simple fraud analytics
		Presenting the watchtower fraud analytics methodology
			Scoring negative outcomes 
			Degree of suspicion 
	Summary
Section 2: Machine Learning Algorithms
Chapter 6: Unsupervised Machine Learning Algorithms
	Introducing unsupervised learning
		Unsupervised learning in the data-mining life cycle 
		Current research trends in unsupervised learning
		Practical examples
			Voice categorization
			Document categorization
	Understanding clustering algorithms
		Quantifying similarities 
			Euclidean distance
			Manhattan distance
			Cosine distance
			K-means clustering algorithm
			The logic of k-means clustering
				Initialization
				The steps of the k-means algorithm
				Stop condition
			Coding the k-means algorithm
			Limitation of k-means clustering
		Hierarchical clustering
			Steps of hierarchical clustering
			Coding a hierarchical clustering algorithm
		Evaluating the clusters
		Application of clustering
	Dimensionality reduction
		Principal component analysis
		Limitations of PCA
	Association rules mining
		Examples of use
		Market basket analysis
		Association rules
			Types of rule
				Trivial rules
				Inexplicable rules
				Actionable rules
		Ranking rules
			Support
			Confidence
			Lift
		Algorithms for association analysis
			Apriori Algorithm
				Limitations of the apriori algorithm
			FP-growth algorithm
				Populating the FP-tree
				Mining Frequent Patterns
				Code for using FP-growth
	Practical application– clustering similar tweets together
		Topic modeling
		Clustering
	Anomaly-detection algorithms
		Using clustering
		Using density-based anomaly detection
		Using support vector machines
	Summary
Chapter 7: Traditional Supervised Learning Algorithms
	Understanding supervised machine learning
		Formulating supervised machine learning
		Understanding enabling conditions
		Differentiating between classifiers and regressors
	Understanding classification algorithms
		Presenting the classifiers challenge
			The problem statement
			Feature engineering using a data processing pipeline
				Importing data 
				 Feature selection
				One-hot encoding
				Specifying the features and label
				Dividing the dataset into testing and training portions
				Scaling the features
		Evaluating the classifiers
			Confusion matrix
			Performance metrics
			Understanding overfitting
				Bias
				Variance
				Bias-variance trade-off
		Specifying the phases of classifiers
		Decision tree classification algorithm
			Understanding the decision tree classification algorithm
			Using the decision tree classification algorithm for the classifiers challenge
			The strengths and weaknesses of decision tree classifiers
				Strengths
				Weaknesses 
			Use cases
				Classifying records
				Feature selection
		Understanding the ensemble methods
			Implementing gradient boosting with the XGBoost algorithm
			Using the random forest algorithm
				Training a random forest algorithm
				Using random forest for predictions
				Differentiating the random forest algorithm from ensemble boosting
			Using the random forest algorithm for the classifiers challenge
		Logistic regression
			Assumptions
			Establishing the relationship
				The loss and cost functions
			When to use logistic regression
			Using the logistic regression algorithm for the classifiers challenge
		The SVM algorithm
			Using the SVM algorithm for the classifiers challenge
		Understanding the naive Bayes algorithm
			Bayes, theorem
			Calculating probabilities
			Multiplication rules for AND events
			The general multiplication rule
			Addition rules for OR events
			Using the naive Bayes algorithm for the classifiers challenge
		For classification algorithms, the winner is...
	Understanding regression algorithms
		Presenting the regressors challenge
			The problem statement of the regressors challenge
				Exploring the historical dataset
			Feature engineering using a data processing pipeline
		 Linear regression
			Simple linear regression
			Evaluating the regressors
			Multiple regression
			Using the linear regression algorithm for the regressors challenge
			When is linear regression used?
			The weaknesses of linear regression
		The regression tree algorithm
			Using the regression tree algorithm for the regressors challenge
		The gradient boost regression algorithm
			Using gradient boost regression algorithm for the regressors challenge
		For regression algorithms, the winner is...
	Practical example – how to predict the weather
	Summary
Chapter 8: Neural Network Algorithms
	Understanding ANNs
	The Evolution of ANNs
	Training a Neural Network
		Understanding the Anatomy of a Neural Network
		Defining Gradient Descent 
		Activation Functions
			Threshold Function
			Sigmoid
			Rectified linear unit (ReLU)
			Leaky ReLU
			Hyperbolic tangent (tanh)
			Softmax
	Tools and Frameworks
		Keras
			Backend Engines of Keras
			Low-level layers of the deep learning stack
			Defining hyperparameters
			Defining a Keras model
			Choosing sequential or functional model
		Understanding TensorFlow
			Presenting TensorFlow's Basic Concepts
				Understanding Tensor Mathematics
		Understanding the Types of Neural Networks
			Convolutional Neural Networks 
				Convolution 
				Pooling 
			Recurrent Neural Networks 
			Generative Adversarial Networks
	Transfer Learning
	Case study – using deep learning for fraud detection
		Methodology
	Summary
Chapter 9: Algorithms for Natural Language Processing
	Introducing NLP
		Understanding NLP terminology
			Normalization
			Corpus
			Tokenization
			Named entity recognition 
			Stopwords
			Sentiment analysis
			Stemming and lemmatization
		NLTK
	BoW-based NLP
	Introduction to word embedding
		The neighborhood of a word
		Properties of word embeddings
	Using RNNs for NLP
	Using NLP for sentiment analysis
	Case study: movie review sentiment analysis 
	Summary
Chapter 10: Recommendation Engines
	Introducing recommendation systems
	Types of recommendation engines
		Content-based recommendation engines
			Finding similarities between unstructured documents
			Using a co-occurrence matrix
		Collaborative filtering recommendation engines
		Hybrid recommendation engines
			Generating a similarity matrix of the items
			Generating reference vectors of the users
			Generating recommendations
	Understanding the limitations of recommender systems
		The cold start problem
		Metadata requirements
		The data sparsity problem
		Bias due to social influence
		Limited data
	Areas of practical applications
	Practical example – creating a recommendation engine
	Summary
Section 3: Advanced Topics
Chapter 11: Data Algorithms
	Introduction to data algorithms
		Data classification
	Presenting data storage algorithms
		Understanding data storage strategies
			Presenting the CAP theorem
				CA systems
				AP systems
				CP systems
	Presenting streaming data algorithms
		Applications of streaming
	Presenting data compression algorithms
		Lossless compression algorithms
			Understanding the basic techniques of lossless compression
				Huffman coding
	A practical example – Twitter real-time sentiment analysis
	Summary
Chapter 12: Cryptography
	Introduction to Cryptography
		Understanding the Importance of the Weakest Link 
		The Basic Terminology
		Understanding the Security Requirements
			Identifying the Entities
			Establishing the Security Goals
			Understanding the Sensitivity of the Data
		Understanding the Basic Design of Ciphers
			Presenting Substitution Ciphers
			Understanding Transposition Ciphers
	Understanding the Types of Cryptographic Techniques
		Using the Cryptographic Hash Function
			Implementing cryptographic hash functions
				Understanding MD5-tolerated
				Understanding SHA
			An Application of  the Cryptographic Hash Function 
		Using Symmetric Encryption
			Coding Symmetric Encryption
			The Advantages of Symmetric Encryption
			The Problems with Symmetric Encryption
		Asymmetric Encryption
			The SSL/TLS Handshaking Algorithm
			Public Key Infrastructure 
	Example – Security Concerns When Deploying a Machine Learning Model
		MITM attacks
			How to prevent MITM attacks
		Avoiding Masquerading
		 Data and Model Encrpytion
	Summary
Chapter 13: Large-Scale Algorithms
	Introduction to large-scale algorithms
		Defining a well-designed, large-scale algorithm
		Terminology
			Latency
			Throughput
			Network bisection bandwidth
			Elasticity
	The design of parallel algorithms
		Amdahl's law 
			Conducting sequential process analysis
				Conducting parallel execution analysis
		Understanding task granularity
		Load balancing
		Locality issues
		Enabling concurrent processing in Python
	Strategizing multi-resource processing
		Introducing CUDA 
			Designing parallel algorithms on CUDA
			Using GPUs for data processing in Python
		Cluster computing
			Implementing data processing in Apache Spark
		The hybrid strategy
	Summary
Chapter 14: Practical Considerations
	Introducing practical considerations
		The sad story of an AI Twitter Bot
	The explainability of an algorithm
		Machine learning algorithms and explainability
			Presenting strategies for explainability
				Implementing explainability
	Understanding ethics and algorithms
		Problems with learning algorithms
		Understanding ethical considerations 
			Inconclusive evidence
			Traceability
			Misguided evidence
			Unfair outcomes
	Reducing bias in models    
	Tackling NP-hard problems
		Simplifying the problem 
			Example
		Customizing a well-known solution to a similar problem
			Example
		Using a probabilistic method
			Example
	When to use algorithms
		A practical example – black swan events
			Four criteria to classify an event as a black swan event
			Applying algorithms to black swan events
	Summary
Other Books You May Enjoy
Index




نظرات کاربران