40 algorithms every programmer should know :: hone your problem-solving skills by learning different algorithms and their implementation in Python /
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 unde...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing,
[2020]
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | 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 ... |
Beschreibung: | 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. |
Beschreibung: | 1 online resource (x, 365 pages) : illustrations |
ISBN: | 9781789809862 178980986X |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1174971325 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 200317s2020 enk o 000 0 eng d | ||
040 | |a UKMGB |b eng |e rda |e pn |c UKMGB |d OCLCO |d UKAHL |d EBLCP |d N$T |d OCLCF |d UMI |d TEFOD |d YDX |d GZM |d OCLCO |d OCL |d YDX |d OCLCQ |d OCLCO |d OCLCL | ||
015 | |a GBC050060 |2 bnb | ||
016 | 7 | |a 019760734 |2 Uk | |
019 | |a 1158746283 |a 1159164477 |a 1162127635 |a 1200095147 | ||
020 | |a 9781789809862 |q electronic book | ||
020 | |a 178980986X |q electronic book | ||
020 | |z 9781789801217 | ||
035 | |a (OCoLC)1174971325 |z (OCoLC)1158746283 |z (OCoLC)1159164477 |z (OCoLC)1162127635 |z (OCoLC)1200095147 | ||
037 | |a 9781789809862 |b Packt Publishing | ||
037 | |a 019D3552-5978-47E1-8EF5-D6C85D95668B |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.9.A43 |b A36 2020 | |
082 | 7 | |a 005.1 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Ahmad, Imran, |e author. |0 http://id.loc.gov/authorities/names/no2007039936 | |
245 | 1 | 0 | |a 40 algorithms every programmer should know : |b hone your problem-solving skills by learning different algorithms and their implementation in Python / |c Imran Ahmad. |
246 | 3 | |a Forty algorithms every programmer should know | |
264 | 1 | |a Birmingham : |b Packt Publishing, |c [2020] | |
300 | |a 1 online resource (x, 365 pages) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
500 | |a 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. | ||
505 | 0 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
520 | |a 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 ... | ||
650 | 0 | |a Computer algorithms. |0 http://id.loc.gov/authorities/subjects/sh91000149 | |
650 | 0 | |a Python (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh96008834 | |
650 | 0 | |a Algorithms. |0 http://id.loc.gov/authorities/subjects/sh85003487 | |
650 | 6 | |a Algorithmes. | |
650 | 6 | |a Python (Langage de programmation) | |
650 | 7 | |a algorithms. |2 aat | |
650 | 7 | |a Algorithms |2 fast | |
650 | 7 | |a Computer algorithms |2 fast | |
650 | 7 | |a Python (Computer program language) |2 fast | |
758 | |i has work: |a 40 algorithms every programmer should know (Text) |1 https://id.oclc.org/worldcat/entity/E39PCGyfBFR6vjvryKTdkGw3cP |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | 8 | |i Print version: Ahmad, Imran. |t 40 algorithms every programmer should know. |d Birmingham : Packt Publishing Limited, [2020] |z 1789801214 |w (OCoLC)1144106570 |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2500098 |3 Volltext |
938 | |a Askews and Holts Library Services |b ASKH |n AH37330077 | ||
938 | |a ProQuest Ebook Central |b EBLB |n EBL6229061 | ||
938 | |a EBSCOhost |b EBSC |n 2500098 | ||
938 | |a YBP Library Services |b YANK |n 301337339 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1174971325 |
---|---|
_version_ | 1816882525144875008 |
adam_text | |
any_adam_object | |
author | Ahmad, Imran |
author_GND | http://id.loc.gov/authorities/names/no2007039936 |
author_facet | Ahmad, Imran |
author_role | aut |
author_sort | Ahmad, Imran |
author_variant | i a ia |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.A43 A36 2020 |
callnumber-search | QA76.9.A43 A36 2020 |
callnumber-sort | QA 276.9 A43 A36 42020 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
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 |
ctrlnum | (OCoLC)1174971325 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>06527cam a2200637 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1174971325</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cnu---unuuu</controlfield><controlfield tag="008">200317s2020 enk o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UKMGB</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UKMGB</subfield><subfield code="d">OCLCO</subfield><subfield code="d">UKAHL</subfield><subfield code="d">EBLCP</subfield><subfield code="d">N$T</subfield><subfield code="d">OCLCF</subfield><subfield code="d">UMI</subfield><subfield code="d">TEFOD</subfield><subfield code="d">YDX</subfield><subfield code="d">GZM</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCL</subfield><subfield code="d">YDX</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBC050060</subfield><subfield code="2">bnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">019760734</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">1158746283</subfield><subfield code="a">1159164477</subfield><subfield code="a">1162127635</subfield><subfield code="a">1200095147</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781789809862</subfield><subfield code="q">electronic book</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">178980986X</subfield><subfield code="q">electronic book</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781789801217</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1174971325</subfield><subfield code="z">(OCoLC)1158746283</subfield><subfield code="z">(OCoLC)1159164477</subfield><subfield code="z">(OCoLC)1162127635</subfield><subfield code="z">(OCoLC)1200095147</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">9781789809862</subfield><subfield code="b">Packt Publishing</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">019D3552-5978-47E1-8EF5-D6C85D95668B</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.9.A43</subfield><subfield code="b">A36 2020</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ahmad, Imran,</subfield><subfield code="e">author.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2007039936</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">40 algorithms every programmer should know :</subfield><subfield code="b">hone your problem-solving skills by learning different algorithms and their implementation in Python /</subfield><subfield code="c">Imran Ahmad.</subfield></datafield><datafield tag="246" ind1="3" ind2=" "><subfield code="a">Forty algorithms every programmer should know</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">[2020]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (x, 365 pages) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">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.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">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 ...</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer algorithms.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh91000149</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Python (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh96008834</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Algorithms.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85003487</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Algorithmes.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Python (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">algorithms.</subfield><subfield code="2">aat</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Algorithms</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer algorithms</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Python (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">40 algorithms every programmer should know (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCGyfBFR6vjvryKTdkGw3cP</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version: Ahmad, Imran.</subfield><subfield code="t">40 algorithms every programmer should know.</subfield><subfield code="d">Birmingham : Packt Publishing Limited, [2020]</subfield><subfield code="z">1789801214</subfield><subfield code="w">(OCoLC)1144106570</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2500098</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH37330077</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest Ebook Central</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL6229061</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">2500098</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">301337339</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1174971325 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:30:00Z |
institution | BVB |
isbn | 9781789809862 178980986X |
language | English |
oclc_num | 1174971325 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (x, 365 pages) : illustrations |
psigel | ZDB-4-EBA |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Ahmad, Imran, author. http://id.loc.gov/authorities/names/no2007039936 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / Imran Ahmad. Forty algorithms every programmer should know Birmingham : Packt Publishing, [2020] 1 online resource (x, 365 pages) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier 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. http://id.loc.gov/authorities/subjects/sh91000149 Python (Computer program language) http://id.loc.gov/authorities/subjects/sh96008834 Algorithms. http://id.loc.gov/authorities/subjects/sh85003487 Algorithmes. Python (Langage de programmation) algorithms. aat Algorithms fast Computer algorithms fast Python (Computer program language) fast has work: 40 algorithms every programmer should know (Text) https://id.oclc.org/worldcat/entity/E39PCGyfBFR6vjvryKTdkGw3cP https://id.oclc.org/worldcat/ontology/hasWork Print version: Ahmad, Imran. 40 algorithms every programmer should know. Birmingham : Packt Publishing Limited, [2020] 1789801214 (OCoLC)1144106570 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2500098 Volltext |
spellingShingle | Ahmad, Imran 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / 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 Computer algorithms. http://id.loc.gov/authorities/subjects/sh91000149 Python (Computer program language) http://id.loc.gov/authorities/subjects/sh96008834 Algorithms. http://id.loc.gov/authorities/subjects/sh85003487 Algorithmes. Python (Langage de programmation) algorithms. aat Algorithms fast Computer algorithms fast Python (Computer program language) fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh91000149 http://id.loc.gov/authorities/subjects/sh96008834 http://id.loc.gov/authorities/subjects/sh85003487 |
title | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / |
title_alt | Forty algorithms every programmer should know |
title_auth | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / |
title_exact_search | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / |
title_full | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / Imran Ahmad. |
title_fullStr | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / Imran Ahmad. |
title_full_unstemmed | 40 algorithms every programmer should know : hone your problem-solving skills by learning different algorithms and their implementation in Python / Imran Ahmad. |
title_short | 40 algorithms every programmer should know : |
title_sort | 40 algorithms every programmer should know hone your problem solving skills by learning different algorithms and their implementation in python |
title_sub | hone your problem-solving skills by learning different algorithms and their implementation in Python / |
topic | Computer algorithms. http://id.loc.gov/authorities/subjects/sh91000149 Python (Computer program language) http://id.loc.gov/authorities/subjects/sh96008834 Algorithms. http://id.loc.gov/authorities/subjects/sh85003487 Algorithmes. Python (Langage de programmation) algorithms. aat Algorithms fast Computer algorithms fast Python (Computer program language) fast |
topic_facet | Computer algorithms. Python (Computer program language) Algorithms. Algorithmes. Python (Langage de programmation) algorithms. Algorithms Computer algorithms |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2500098 |
work_keys_str_mv | AT ahmadimran 40algorithmseveryprogrammershouldknowhoneyourproblemsolvingskillsbylearningdifferentalgorithmsandtheirimplementationinpython AT ahmadimran fortyalgorithmseveryprogrammershouldknow |