Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Ahmad, Imran, author.

Title 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / Imran Ahmad. [O'Reilly electronic resource]

Publication Info. Birmingham : Packt Publishing, [2020]
QR Code
Description 1 online resource (x, 365 pages) : illustrations
Note Table of ContentsOverview of AlgorithmsData Structures used in AlgorithmsSorting and Searching AlgorithmsDesigning AlgorithmsGraph AlgorithmsUnsupervised Machine Learning AlgorithmsTraditional Supervised Learning AlgorithmsNeural Network AlgorithmsAlgorithms for Natural Language ProcessingRecommendation EnginesData AlgorithmsCryptographyLarge Scale AlgorithmsPractical Considerations.
Contents 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
Summary Algorithms have always played an important role both in the science and practice of computing. Beyond traditional computing, ability to utilize these algorithms to solve real-world problems is an important skill and is the focus of this book. In order to optimally use these algorithms, a deeper understanding of their logic and mathematics is ...
Subject Computer algorithms.
Python (Computer program language)
Algorithms.
Algorithmes.
Python (Langage de programmation)
algorithms.
Algorithms
Computer algorithms
Python (Computer program language)
Added Title Forty algorithms every programmer should know
Other Form: Print version: Ahmad, Imran. 40 algorithms every programmer should know. Birmingham : Packt Publishing Limited, [2020] 1789801214 (OCoLC)1144106570
ISBN 9781789809862 electronic book
178980986X electronic book
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information