자료유형 | E-Book |
---|---|
개인저자 | Ahmad, Imran, author. |
서명/저자사항 | 40 algorithms every programmer should know :hone your problem-solving skills by learning different algorithms and their implementation in Python /Imran Ahmad. |
발행사항 | Birmingham : Packt Publishing, 2020. |
형태사항 | 1 online resource |
소장본 주기 | Master record variable field(s) change: 050 |
ISBN | 178980986X 9781789809862 |
일반주기 |
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.
|
내용주기 | 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 |
요약 | 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 ... |
일반주제명 | Computer algorithms. Python (Computer program language) |
언어 | 영어 |
기타형태 저록 | Print version:9781789801217 |
대출바로가기 | http://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&db=nlabk&AN=2500098 |
인쇄
No. | 등록번호 | 청구기호 | 소장처 | 도서상태 | 반납예정일 | 예약 | 서비스 | 매체정보 |
---|---|---|---|---|---|---|---|---|
1 | WE00018709 | 005.1 | 가야대학교/전자책서버(컴퓨터서버)/ | 대출가능 |