Hands-On Data Structures and Algorithms with JavaScript :: Write efficient code that is highly performant, scalable, and easily testable using JavaScript.
Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solv...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing,
2018.
|
Schlagworte: | |
Online-Zugang: | DE-862 DE-863 |
Zusammenfassung: | Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solving crises and ensuring your application is ... |
Beschreibung: | 1 online resource (325 pages) |
ISBN: | 9781788397544 1788397541 1788398556 9781788398558 |
Internformat
MARC
LEADER | 00000cam a2200000Mi 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1022794944 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 180210s2018 enk o 000 0 eng d | ||
040 | |a EBLCP |b eng |e pn |c EBLCP |d NLE |d MERUC |d CHVBK |d IDB |d VT2 |d TEFOD |d OCLCQ |d LVT |d C6I |d UKAHL |d OCLCQ |d N$T |d UKMGB |d NZAUC |d OCLCQ |d OCLCL | ||
015 | |a GBC1L5068 |2 bnb | ||
016 | 7 | |a 018754809 |2 Uk | |
020 | |a 9781788397544 |q (electronic bk.) | ||
020 | |a 1788397541 |q (electronic bk.) | ||
020 | |a 1788398556 | ||
020 | |a 9781788398558 | ||
024 | 3 | |a 9781788398558 | |
035 | |a (OCoLC)1022794944 | ||
037 | |a B08016 |b 01201872 | ||
037 | |a 6278E334-BA73-4888-85FE-EF19A909213D |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.73.J39 |b .M855 2018 | |
082 | 7 | |a 005.2762 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Mukkamala, Kashyap. | |
245 | 1 | 0 | |a Hands-On Data Structures and Algorithms with JavaScript : |b Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
260 | |a Birmingham : |b Packt Publishing, |c 2018. | ||
300 | |a 1 online resource (325 pages) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
588 | 0 | |a Print version record. | |
520 | |a Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solving crises and ensuring your application is ... | ||
505 | 0 | |a Cover -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Building Stacks for Application State Management -- Prerequisites -- Terminology -- API -- Don't we have arrays for this? -- Creating a stack -- Implementing stack methods -- Testing the stack -- Using the stack -- Use cases -- Creating an Angular application -- Installing Angular CLI -- Creating an app using the CLI -- Creating a stack -- Creating a custom back button for a web application -- Setting up the application and its routing -- Detecting application state changes -- Laying out the UI -- Navigating between states -- Final application logic -- Building part of a basic JavaScript syntax parser and evaluator -- Building a basic web worker -- Laying out the UI -- Basic web worker communication -- Enabling web worker communications -- Transforming input to machine-understandable expression -- Converting infix to postfix expressions -- Evaluating postfix expressions -- Summary -- Chapter 2: Creating Queues for In-Order Executions -- Types of queue -- Implementing APIs -- Creating a queue -- A simple queue -- Testing the queue -- Priority Queue -- Testing a priority queue -- Use cases for queues -- Creating a Node.js application -- Starting the Node.js server -- Creating a chat endpoint -- Implementing logging using priority queues -- Comparing performance -- Running benchmark tests -- Summary -- Chapter 3: Using Sets and Maps for Faster Applications -- Exploring the origin of sets and maps -- Analyzing set and map types -- How weak is WeakMap? -- Memory management -- API differences -- Sets versus WeakSets -- Understanding WeakSets -- The API difference -- Use cases -- Creating an Angular application -- Creating custom keyboard shortcuts for your application -- Creating an Angular application -- Creating states with keymap. | |
505 | 8 | |a Activity tracking and analytics for web applications -- Creating the Angular application -- Performance comparison -- Sets and Arrays -- Maps and Objects -- Summary -- Chapter 4: Using Trees for Faster Lookup and Modifications -- Creating an Angular application -- Creating a typeahead lookup -- Creating a trie tree -- Implementing the add() method -- The friends' example -- Implementing the search() method -- Retaining remainders at nodes -- The final form -- Creating a credit card approval predictor -- ID3 algorithm -- Calculating target entropy -- Calculating branch entropy -- The final information gain per branch -- Coding the ID3 algorithm -- Generating training dataset -- Generating the decision tree -- Predicting outcome of sample inputs -- Visualization of the tree and output -- Summary -- Chapter 5: Simplify Complex Applications Using Graphs -- Types of graphs -- Use cases -- Creating a Node.js web server -- Creating a reference generator for a job portal -- Creating a bidirectional graph -- Generating a pseudocode for the shortest path generation -- Implementing the shortest path generation -- Creating a web server -- Running the reference generator -- Creating a friend recommendation system for social media -- Understanding PageRank algorithm -- Understanding Personalized PageRank (PPR) Algorithm -- Pseudocode for personalized PageRank -- Creating a web server -- Implementing Personalized PageRank -- Results and analysis -- Summary -- Chapter 6: Exploring Types of Algorithms -- Creating a Node.js application -- Use cases -- Using recursion to serialize data -- Pseudocode -- Serializing data -- Using Dijkstra to determine the shortest path -- Pseudo code -- Implementing Dijkstra's algorithm -- Using BFS to determine relationships -- Pseudo code -- Implementing BFS -- Using dynamic programming to build a financial planner -- Pseudo code. | |
505 | 8 | |a Implementing the dynamic programming algorithm -- Using a greedy algorithm to build a travel itinerary -- Understanding spanning trees -- Pseudo code -- Implementing a minimum spanning tree using a greedy algorithm -- Using branch and bound algorithm to create a custom shopping list -- Understanding branch and bound algorithm -- Implementing branch and bound algorithm -- When not to use brute-force algorithm -- Brute-force Fibonacci generator -- Recursive Fibonacci generator -- Memoized Fibonacci generator -- Summary -- Chapter 7: Sorting and Its Applications -- Types of sorting algorithms -- Use cases of different sorting algorithms -- Creating an Express server -- Mocking library books data -- Insertionsort API -- What is Insertionsort -- Pseudo code -- Implementing Insertionsort API -- Mergesort API -- What is Mergesort -- Pseudo code -- Implementing Mergesort API -- Quicksort API -- What is Quicksort -- Pseudo code -- Implementing the Quicksort API -- Lomuto Partition Scheme -- Hoare Partition Scheme -- Performance comparison -- Summary -- Chapter 8: Big O Notation, Space, and Time Complexity -- Terminology -- Asymptotic Notations -- Big-O notation -- Omega notation -- Theta Notation -- Recap -- Examples of time complexity -- Constant time -- Logarithmic time -- Linear time -- Quadratic time -- Polynomial time -- Polynomial time complexity classes -- Recursion and additive complexity -- Space complexity and Auxiliary space -- Examples of Space complexity -- Constant space -- Linear space -- Summary -- Chapter 9: Micro-Optimizations and Memory Management -- Best practices -- Best practices for HTML -- Declaring the correct DOCTYPE -- Adding the correct meta-information to the page -- Dropping unnecessary attributes -- Making your app mobile ready -- Loading style sheets in the -- Avoiding inline styles -- Using semantic markup. | |
505 | 8 | |a Using Accessible Rich Internet Applications (ARIA) attributes -- Loading scripts at the end -- CSS best practices -- Avoiding inline styles -- Do not use!important -- Arranging styles within a class alphabetically -- Defining the media queries in an ascending order -- Best practices for JavaScript -- Avoiding polluting the global scope -- Using 'use strict' -- Strict checking (== vs ===) -- Using ternary operators and Boolean | |
650 | 0 | |a JavaScript. | |
650 | 0 | |a Data structures. | |
650 | 7 | |a Web programming. |2 bicssc | |
650 | 7 | |a Programming & scripting languages: general. |2 bicssc | |
650 | 7 | |a Internet: general works. |2 bicssc | |
650 | 7 | |a Computers |x Programming Languages |x JavaScript. |2 bisacsh | |
650 | 7 | |a Computers |x Web |x Site Design. |2 bisacsh | |
650 | 7 | |a Computers |x Web |x General. |2 bisacsh | |
758 | |i has work: |a Hands-On Data Structures and Algorithms with JavaScript (Text) |1 https://id.oclc.org/worldcat/entity/E39PD3xdvrR4dH4kRHJ9qB3683 |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | 8 | |i Print version: |a Mukkamala, Kashyap. |t Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |d Birmingham : Packt Publishing, ©2018 |
966 | 4 | 0 | |l DE-862 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1703788 |3 Volltext |
966 | 4 | 0 | |l DE-863 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1703788 |3 Volltext |
938 | |a Askews and Holts Library Services |b ASKH |n BDZ0036190719 | ||
938 | |a EBL - Ebook Library |b EBLB |n EBL5259449 | ||
938 | |a EBSCOhost |b EBSC |n 1703788 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-862 | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1022794944 |
---|---|
_version_ | 1826942173778542592 |
adam_text | |
any_adam_object | |
author | Mukkamala, Kashyap |
author_facet | Mukkamala, Kashyap |
author_role | |
author_sort | Mukkamala, Kashyap |
author_variant | k m km |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.J39 .M855 2018 |
callnumber-search | QA76.73.J39 .M855 2018 |
callnumber-sort | QA 276.73 J39 M855 42018 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Building Stacks for Application State Management -- Prerequisites -- Terminology -- API -- Don't we have arrays for this? -- Creating a stack -- Implementing stack methods -- Testing the stack -- Using the stack -- Use cases -- Creating an Angular application -- Installing Angular CLI -- Creating an app using the CLI -- Creating a stack -- Creating a custom back button for a web application -- Setting up the application and its routing -- Detecting application state changes -- Laying out the UI -- Navigating between states -- Final application logic -- Building part of a basic JavaScript syntax parser and evaluator -- Building a basic web worker -- Laying out the UI -- Basic web worker communication -- Enabling web worker communications -- Transforming input to machine-understandable expression -- Converting infix to postfix expressions -- Evaluating postfix expressions -- Summary -- Chapter 2: Creating Queues for In-Order Executions -- Types of queue -- Implementing APIs -- Creating a queue -- A simple queue -- Testing the queue -- Priority Queue -- Testing a priority queue -- Use cases for queues -- Creating a Node.js application -- Starting the Node.js server -- Creating a chat endpoint -- Implementing logging using priority queues -- Comparing performance -- Running benchmark tests -- Summary -- Chapter 3: Using Sets and Maps for Faster Applications -- Exploring the origin of sets and maps -- Analyzing set and map types -- How weak is WeakMap? -- Memory management -- API differences -- Sets versus WeakSets -- Understanding WeakSets -- The API difference -- Use cases -- Creating an Angular application -- Creating custom keyboard shortcuts for your application -- Creating an Angular application -- Creating states with keymap. Activity tracking and analytics for web applications -- Creating the Angular application -- Performance comparison -- Sets and Arrays -- Maps and Objects -- Summary -- Chapter 4: Using Trees for Faster Lookup and Modifications -- Creating an Angular application -- Creating a typeahead lookup -- Creating a trie tree -- Implementing the add() method -- The friends' example -- Implementing the search() method -- Retaining remainders at nodes -- The final form -- Creating a credit card approval predictor -- ID3 algorithm -- Calculating target entropy -- Calculating branch entropy -- The final information gain per branch -- Coding the ID3 algorithm -- Generating training dataset -- Generating the decision tree -- Predicting outcome of sample inputs -- Visualization of the tree and output -- Summary -- Chapter 5: Simplify Complex Applications Using Graphs -- Types of graphs -- Use cases -- Creating a Node.js web server -- Creating a reference generator for a job portal -- Creating a bidirectional graph -- Generating a pseudocode for the shortest path generation -- Implementing the shortest path generation -- Creating a web server -- Running the reference generator -- Creating a friend recommendation system for social media -- Understanding PageRank algorithm -- Understanding Personalized PageRank (PPR) Algorithm -- Pseudocode for personalized PageRank -- Creating a web server -- Implementing Personalized PageRank -- Results and analysis -- Summary -- Chapter 6: Exploring Types of Algorithms -- Creating a Node.js application -- Use cases -- Using recursion to serialize data -- Pseudocode -- Serializing data -- Using Dijkstra to determine the shortest path -- Pseudo code -- Implementing Dijkstra's algorithm -- Using BFS to determine relationships -- Pseudo code -- Implementing BFS -- Using dynamic programming to build a financial planner -- Pseudo code. Implementing the dynamic programming algorithm -- Using a greedy algorithm to build a travel itinerary -- Understanding spanning trees -- Pseudo code -- Implementing a minimum spanning tree using a greedy algorithm -- Using branch and bound algorithm to create a custom shopping list -- Understanding branch and bound algorithm -- Implementing branch and bound algorithm -- When not to use brute-force algorithm -- Brute-force Fibonacci generator -- Recursive Fibonacci generator -- Memoized Fibonacci generator -- Summary -- Chapter 7: Sorting and Its Applications -- Types of sorting algorithms -- Use cases of different sorting algorithms -- Creating an Express server -- Mocking library books data -- Insertionsort API -- What is Insertionsort -- Pseudo code -- Implementing Insertionsort API -- Mergesort API -- What is Mergesort -- Pseudo code -- Implementing Mergesort API -- Quicksort API -- What is Quicksort -- Pseudo code -- Implementing the Quicksort API -- Lomuto Partition Scheme -- Hoare Partition Scheme -- Performance comparison -- Summary -- Chapter 8: Big O Notation, Space, and Time Complexity -- Terminology -- Asymptotic Notations -- Big-O notation -- Omega notation -- Theta Notation -- Recap -- Examples of time complexity -- Constant time -- Logarithmic time -- Linear time -- Quadratic time -- Polynomial time -- Polynomial time complexity classes -- Recursion and additive complexity -- Space complexity and Auxiliary space -- Examples of Space complexity -- Constant space -- Linear space -- Summary -- Chapter 9: Micro-Optimizations and Memory Management -- Best practices -- Best practices for HTML -- Declaring the correct DOCTYPE -- Adding the correct meta-information to the page -- Dropping unnecessary attributes -- Making your app mobile ready -- Loading style sheets in the -- Avoiding inline styles -- Using semantic markup. Using Accessible Rich Internet Applications (ARIA) attributes -- Loading scripts at the end -- CSS best practices -- Avoiding inline styles -- Do not use!important -- Arranging styles within a class alphabetically -- Defining the media queries in an ascending order -- Best practices for JavaScript -- Avoiding polluting the global scope -- Using 'use strict' -- Strict checking (== vs ===) -- Using ternary operators and Boolean |
ctrlnum | (OCoLC)1022794944 |
dewey-full | 005.2762 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2762 |
dewey-search | 005.2762 |
dewey-sort | 15.2762 |
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>08909cam a2200601Mi 4500</leader><controlfield tag="001">ZDB-4-EBA-on1022794944</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">180210s2018 enk o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">EBLCP</subfield><subfield code="b">eng</subfield><subfield code="e">pn</subfield><subfield code="c">EBLCP</subfield><subfield code="d">NLE</subfield><subfield code="d">MERUC</subfield><subfield code="d">CHVBK</subfield><subfield code="d">IDB</subfield><subfield code="d">VT2</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">LVT</subfield><subfield code="d">C6I</subfield><subfield code="d">UKAHL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">N$T</subfield><subfield code="d">UKMGB</subfield><subfield code="d">NZAUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCL</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBC1L5068</subfield><subfield code="2">bnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">018754809</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788397544</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788397541</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788398556</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788398558</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781788398558</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1022794944</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">B08016</subfield><subfield code="b">01201872</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">6278E334-BA73-4888-85FE-EF19A909213D</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.73.J39</subfield><subfield code="b">.M855 2018</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.2762</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">Mukkamala, Kashyap.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Hands-On Data Structures and Algorithms with JavaScript :</subfield><subfield code="b">Write efficient code that is highly performant, scalable, and easily testable using JavaScript.</subfield></datafield><datafield tag="260" ind1=" " ind2=" "><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2018.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (325 pages)</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="588" ind1="0" ind2=" "><subfield code="a">Print version record.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solving crises and ensuring your application is ...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Building Stacks for Application State Management -- Prerequisites -- Terminology -- API -- Don't we have arrays for this? -- Creating a stack -- Implementing stack methods -- Testing the stack -- Using the stack -- Use cases -- Creating an Angular application -- Installing Angular CLI -- Creating an app using the CLI -- Creating a stack -- Creating a custom back button for a web application -- Setting up the application and its routing -- Detecting application state changes -- Laying out the UI -- Navigating between states -- Final application logic -- Building part of a basic JavaScript syntax parser and evaluator -- Building a basic web worker -- Laying out the UI -- Basic web worker communication -- Enabling web worker communications -- Transforming input to machine-understandable expression -- Converting infix to postfix expressions -- Evaluating postfix expressions -- Summary -- Chapter 2: Creating Queues for In-Order Executions -- Types of queue -- Implementing APIs -- Creating a queue -- A simple queue -- Testing the queue -- Priority Queue -- Testing a priority queue -- Use cases for queues -- Creating a Node.js application -- Starting the Node.js server -- Creating a chat endpoint -- Implementing logging using priority queues -- Comparing performance -- Running benchmark tests -- Summary -- Chapter 3: Using Sets and Maps for Faster Applications -- Exploring the origin of sets and maps -- Analyzing set and map types -- How weak is WeakMap? -- Memory management -- API differences -- Sets versus WeakSets -- Understanding WeakSets -- The API difference -- Use cases -- Creating an Angular application -- Creating custom keyboard shortcuts for your application -- Creating an Angular application -- Creating states with keymap.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Activity tracking and analytics for web applications -- Creating the Angular application -- Performance comparison -- Sets and Arrays -- Maps and Objects -- Summary -- Chapter 4: Using Trees for Faster Lookup and Modifications -- Creating an Angular application -- Creating a typeahead lookup -- Creating a trie tree -- Implementing the add() method -- The friends' example -- Implementing the search() method -- Retaining remainders at nodes -- The final form -- Creating a credit card approval predictor -- ID3 algorithm -- Calculating target entropy -- Calculating branch entropy -- The final information gain per branch -- Coding the ID3 algorithm -- Generating training dataset -- Generating the decision tree -- Predicting outcome of sample inputs -- Visualization of the tree and output -- Summary -- Chapter 5: Simplify Complex Applications Using Graphs -- Types of graphs -- Use cases -- Creating a Node.js web server -- Creating a reference generator for a job portal -- Creating a bidirectional graph -- Generating a pseudocode for the shortest path generation -- Implementing the shortest path generation -- Creating a web server -- Running the reference generator -- Creating a friend recommendation system for social media -- Understanding PageRank algorithm -- Understanding Personalized PageRank (PPR) Algorithm -- Pseudocode for personalized PageRank -- Creating a web server -- Implementing Personalized PageRank -- Results and analysis -- Summary -- Chapter 6: Exploring Types of Algorithms -- Creating a Node.js application -- Use cases -- Using recursion to serialize data -- Pseudocode -- Serializing data -- Using Dijkstra to determine the shortest path -- Pseudo code -- Implementing Dijkstra's algorithm -- Using BFS to determine relationships -- Pseudo code -- Implementing BFS -- Using dynamic programming to build a financial planner -- Pseudo code.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Implementing the dynamic programming algorithm -- Using a greedy algorithm to build a travel itinerary -- Understanding spanning trees -- Pseudo code -- Implementing a minimum spanning tree using a greedy algorithm -- Using branch and bound algorithm to create a custom shopping list -- Understanding branch and bound algorithm -- Implementing branch and bound algorithm -- When not to use brute-force algorithm -- Brute-force Fibonacci generator -- Recursive Fibonacci generator -- Memoized Fibonacci generator -- Summary -- Chapter 7: Sorting and Its Applications -- Types of sorting algorithms -- Use cases of different sorting algorithms -- Creating an Express server -- Mocking library books data -- Insertionsort API -- What is Insertionsort -- Pseudo code -- Implementing Insertionsort API -- Mergesort API -- What is Mergesort -- Pseudo code -- Implementing Mergesort API -- Quicksort API -- What is Quicksort -- Pseudo code -- Implementing the Quicksort API -- Lomuto Partition Scheme -- Hoare Partition Scheme -- Performance comparison -- Summary -- Chapter 8: Big O Notation, Space, and Time Complexity -- Terminology -- Asymptotic Notations -- Big-O notation -- Omega notation -- Theta Notation -- Recap -- Examples of time complexity -- Constant time -- Logarithmic time -- Linear time -- Quadratic time -- Polynomial time -- Polynomial time complexity classes -- Recursion and additive complexity -- Space complexity and Auxiliary space -- Examples of Space complexity -- Constant space -- Linear space -- Summary -- Chapter 9: Micro-Optimizations and Memory Management -- Best practices -- Best practices for HTML -- Declaring the correct DOCTYPE -- Adding the correct meta-information to the page -- Dropping unnecessary attributes -- Making your app mobile ready -- Loading style sheets in the -- Avoiding inline styles -- Using semantic markup.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Using Accessible Rich Internet Applications (ARIA) attributes -- Loading scripts at the end -- CSS best practices -- Avoiding inline styles -- Do not use!important -- Arranging styles within a class alphabetically -- Defining the media queries in an ascending order -- Best practices for JavaScript -- Avoiding polluting the global scope -- Using 'use strict' -- Strict checking (== vs ===) -- Using ternary operators and Boolean</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">JavaScript.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Data structures.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Web programming.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming & scripting languages: general.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Internet: general works.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computers</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">JavaScript.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computers</subfield><subfield code="x">Web</subfield><subfield code="x">Site Design.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computers</subfield><subfield code="x">Web</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Hands-On Data Structures and Algorithms with JavaScript (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PD3xdvrR4dH4kRHJ9qB3683</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:</subfield><subfield code="a">Mukkamala, Kashyap.</subfield><subfield code="t">Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript.</subfield><subfield code="d">Birmingham : Packt Publishing, ©2018</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-862</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=1703788</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-863</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=1703788</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">BDZ0036190719</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBL - Ebook Library</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL5259449</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1703788</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-862</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1022794944 |
illustrated | Not Illustrated |
indexdate | 2025-03-18T14:23:48Z |
institution | BVB |
isbn | 9781788397544 1788397541 1788398556 9781788398558 |
language | English |
oclc_num | 1022794944 |
open_access_boolean | |
owner | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
owner_facet | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
physical | 1 online resource (325 pages) |
psigel | ZDB-4-EBA FWS_PDA_EBA ZDB-4-EBA |
publishDate | 2018 |
publishDateSearch | 2018 |
publishDateSort | 2018 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Mukkamala, Kashyap. Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. Birmingham : Packt Publishing, 2018. 1 online resource (325 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier Print version record. Data structures and algorithms are the fundamental building blocks of computer programming. They are critical to any problem, provide a complete solution, and act like reusable code. Using appropriate data structures and having a good understanding of algorithm analysis are key in JavaScript to solving crises and ensuring your application is ... Cover -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Building Stacks for Application State Management -- Prerequisites -- Terminology -- API -- Don't we have arrays for this? -- Creating a stack -- Implementing stack methods -- Testing the stack -- Using the stack -- Use cases -- Creating an Angular application -- Installing Angular CLI -- Creating an app using the CLI -- Creating a stack -- Creating a custom back button for a web application -- Setting up the application and its routing -- Detecting application state changes -- Laying out the UI -- Navigating between states -- Final application logic -- Building part of a basic JavaScript syntax parser and evaluator -- Building a basic web worker -- Laying out the UI -- Basic web worker communication -- Enabling web worker communications -- Transforming input to machine-understandable expression -- Converting infix to postfix expressions -- Evaluating postfix expressions -- Summary -- Chapter 2: Creating Queues for In-Order Executions -- Types of queue -- Implementing APIs -- Creating a queue -- A simple queue -- Testing the queue -- Priority Queue -- Testing a priority queue -- Use cases for queues -- Creating a Node.js application -- Starting the Node.js server -- Creating a chat endpoint -- Implementing logging using priority queues -- Comparing performance -- Running benchmark tests -- Summary -- Chapter 3: Using Sets and Maps for Faster Applications -- Exploring the origin of sets and maps -- Analyzing set and map types -- How weak is WeakMap? -- Memory management -- API differences -- Sets versus WeakSets -- Understanding WeakSets -- The API difference -- Use cases -- Creating an Angular application -- Creating custom keyboard shortcuts for your application -- Creating an Angular application -- Creating states with keymap. Activity tracking and analytics for web applications -- Creating the Angular application -- Performance comparison -- Sets and Arrays -- Maps and Objects -- Summary -- Chapter 4: Using Trees for Faster Lookup and Modifications -- Creating an Angular application -- Creating a typeahead lookup -- Creating a trie tree -- Implementing the add() method -- The friends' example -- Implementing the search() method -- Retaining remainders at nodes -- The final form -- Creating a credit card approval predictor -- ID3 algorithm -- Calculating target entropy -- Calculating branch entropy -- The final information gain per branch -- Coding the ID3 algorithm -- Generating training dataset -- Generating the decision tree -- Predicting outcome of sample inputs -- Visualization of the tree and output -- Summary -- Chapter 5: Simplify Complex Applications Using Graphs -- Types of graphs -- Use cases -- Creating a Node.js web server -- Creating a reference generator for a job portal -- Creating a bidirectional graph -- Generating a pseudocode for the shortest path generation -- Implementing the shortest path generation -- Creating a web server -- Running the reference generator -- Creating a friend recommendation system for social media -- Understanding PageRank algorithm -- Understanding Personalized PageRank (PPR) Algorithm -- Pseudocode for personalized PageRank -- Creating a web server -- Implementing Personalized PageRank -- Results and analysis -- Summary -- Chapter 6: Exploring Types of Algorithms -- Creating a Node.js application -- Use cases -- Using recursion to serialize data -- Pseudocode -- Serializing data -- Using Dijkstra to determine the shortest path -- Pseudo code -- Implementing Dijkstra's algorithm -- Using BFS to determine relationships -- Pseudo code -- Implementing BFS -- Using dynamic programming to build a financial planner -- Pseudo code. Implementing the dynamic programming algorithm -- Using a greedy algorithm to build a travel itinerary -- Understanding spanning trees -- Pseudo code -- Implementing a minimum spanning tree using a greedy algorithm -- Using branch and bound algorithm to create a custom shopping list -- Understanding branch and bound algorithm -- Implementing branch and bound algorithm -- When not to use brute-force algorithm -- Brute-force Fibonacci generator -- Recursive Fibonacci generator -- Memoized Fibonacci generator -- Summary -- Chapter 7: Sorting and Its Applications -- Types of sorting algorithms -- Use cases of different sorting algorithms -- Creating an Express server -- Mocking library books data -- Insertionsort API -- What is Insertionsort -- Pseudo code -- Implementing Insertionsort API -- Mergesort API -- What is Mergesort -- Pseudo code -- Implementing Mergesort API -- Quicksort API -- What is Quicksort -- Pseudo code -- Implementing the Quicksort API -- Lomuto Partition Scheme -- Hoare Partition Scheme -- Performance comparison -- Summary -- Chapter 8: Big O Notation, Space, and Time Complexity -- Terminology -- Asymptotic Notations -- Big-O notation -- Omega notation -- Theta Notation -- Recap -- Examples of time complexity -- Constant time -- Logarithmic time -- Linear time -- Quadratic time -- Polynomial time -- Polynomial time complexity classes -- Recursion and additive complexity -- Space complexity and Auxiliary space -- Examples of Space complexity -- Constant space -- Linear space -- Summary -- Chapter 9: Micro-Optimizations and Memory Management -- Best practices -- Best practices for HTML -- Declaring the correct DOCTYPE -- Adding the correct meta-information to the page -- Dropping unnecessary attributes -- Making your app mobile ready -- Loading style sheets in the -- Avoiding inline styles -- Using semantic markup. Using Accessible Rich Internet Applications (ARIA) attributes -- Loading scripts at the end -- CSS best practices -- Avoiding inline styles -- Do not use!important -- Arranging styles within a class alphabetically -- Defining the media queries in an ascending order -- Best practices for JavaScript -- Avoiding polluting the global scope -- Using 'use strict' -- Strict checking (== vs ===) -- Using ternary operators and Boolean JavaScript. Data structures. Web programming. bicssc Programming & scripting languages: general. bicssc Internet: general works. bicssc Computers Programming Languages JavaScript. bisacsh Computers Web Site Design. bisacsh Computers Web General. bisacsh has work: Hands-On Data Structures and Algorithms with JavaScript (Text) https://id.oclc.org/worldcat/entity/E39PD3xdvrR4dH4kRHJ9qB3683 https://id.oclc.org/worldcat/ontology/hasWork Print version: Mukkamala, Kashyap. Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. Birmingham : Packt Publishing, ©2018 |
spellingShingle | Mukkamala, Kashyap Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. Cover -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Building Stacks for Application State Management -- Prerequisites -- Terminology -- API -- Don't we have arrays for this? -- Creating a stack -- Implementing stack methods -- Testing the stack -- Using the stack -- Use cases -- Creating an Angular application -- Installing Angular CLI -- Creating an app using the CLI -- Creating a stack -- Creating a custom back button for a web application -- Setting up the application and its routing -- Detecting application state changes -- Laying out the UI -- Navigating between states -- Final application logic -- Building part of a basic JavaScript syntax parser and evaluator -- Building a basic web worker -- Laying out the UI -- Basic web worker communication -- Enabling web worker communications -- Transforming input to machine-understandable expression -- Converting infix to postfix expressions -- Evaluating postfix expressions -- Summary -- Chapter 2: Creating Queues for In-Order Executions -- Types of queue -- Implementing APIs -- Creating a queue -- A simple queue -- Testing the queue -- Priority Queue -- Testing a priority queue -- Use cases for queues -- Creating a Node.js application -- Starting the Node.js server -- Creating a chat endpoint -- Implementing logging using priority queues -- Comparing performance -- Running benchmark tests -- Summary -- Chapter 3: Using Sets and Maps for Faster Applications -- Exploring the origin of sets and maps -- Analyzing set and map types -- How weak is WeakMap? -- Memory management -- API differences -- Sets versus WeakSets -- Understanding WeakSets -- The API difference -- Use cases -- Creating an Angular application -- Creating custom keyboard shortcuts for your application -- Creating an Angular application -- Creating states with keymap. Activity tracking and analytics for web applications -- Creating the Angular application -- Performance comparison -- Sets and Arrays -- Maps and Objects -- Summary -- Chapter 4: Using Trees for Faster Lookup and Modifications -- Creating an Angular application -- Creating a typeahead lookup -- Creating a trie tree -- Implementing the add() method -- The friends' example -- Implementing the search() method -- Retaining remainders at nodes -- The final form -- Creating a credit card approval predictor -- ID3 algorithm -- Calculating target entropy -- Calculating branch entropy -- The final information gain per branch -- Coding the ID3 algorithm -- Generating training dataset -- Generating the decision tree -- Predicting outcome of sample inputs -- Visualization of the tree and output -- Summary -- Chapter 5: Simplify Complex Applications Using Graphs -- Types of graphs -- Use cases -- Creating a Node.js web server -- Creating a reference generator for a job portal -- Creating a bidirectional graph -- Generating a pseudocode for the shortest path generation -- Implementing the shortest path generation -- Creating a web server -- Running the reference generator -- Creating a friend recommendation system for social media -- Understanding PageRank algorithm -- Understanding Personalized PageRank (PPR) Algorithm -- Pseudocode for personalized PageRank -- Creating a web server -- Implementing Personalized PageRank -- Results and analysis -- Summary -- Chapter 6: Exploring Types of Algorithms -- Creating a Node.js application -- Use cases -- Using recursion to serialize data -- Pseudocode -- Serializing data -- Using Dijkstra to determine the shortest path -- Pseudo code -- Implementing Dijkstra's algorithm -- Using BFS to determine relationships -- Pseudo code -- Implementing BFS -- Using dynamic programming to build a financial planner -- Pseudo code. Implementing the dynamic programming algorithm -- Using a greedy algorithm to build a travel itinerary -- Understanding spanning trees -- Pseudo code -- Implementing a minimum spanning tree using a greedy algorithm -- Using branch and bound algorithm to create a custom shopping list -- Understanding branch and bound algorithm -- Implementing branch and bound algorithm -- When not to use brute-force algorithm -- Brute-force Fibonacci generator -- Recursive Fibonacci generator -- Memoized Fibonacci generator -- Summary -- Chapter 7: Sorting and Its Applications -- Types of sorting algorithms -- Use cases of different sorting algorithms -- Creating an Express server -- Mocking library books data -- Insertionsort API -- What is Insertionsort -- Pseudo code -- Implementing Insertionsort API -- Mergesort API -- What is Mergesort -- Pseudo code -- Implementing Mergesort API -- Quicksort API -- What is Quicksort -- Pseudo code -- Implementing the Quicksort API -- Lomuto Partition Scheme -- Hoare Partition Scheme -- Performance comparison -- Summary -- Chapter 8: Big O Notation, Space, and Time Complexity -- Terminology -- Asymptotic Notations -- Big-O notation -- Omega notation -- Theta Notation -- Recap -- Examples of time complexity -- Constant time -- Logarithmic time -- Linear time -- Quadratic time -- Polynomial time -- Polynomial time complexity classes -- Recursion and additive complexity -- Space complexity and Auxiliary space -- Examples of Space complexity -- Constant space -- Linear space -- Summary -- Chapter 9: Micro-Optimizations and Memory Management -- Best practices -- Best practices for HTML -- Declaring the correct DOCTYPE -- Adding the correct meta-information to the page -- Dropping unnecessary attributes -- Making your app mobile ready -- Loading style sheets in the -- Avoiding inline styles -- Using semantic markup. Using Accessible Rich Internet Applications (ARIA) attributes -- Loading scripts at the end -- CSS best practices -- Avoiding inline styles -- Do not use!important -- Arranging styles within a class alphabetically -- Defining the media queries in an ascending order -- Best practices for JavaScript -- Avoiding polluting the global scope -- Using 'use strict' -- Strict checking (== vs ===) -- Using ternary operators and Boolean JavaScript. Data structures. Web programming. bicssc Programming & scripting languages: general. bicssc Internet: general works. bicssc Computers Programming Languages JavaScript. bisacsh Computers Web Site Design. bisacsh Computers Web General. bisacsh |
title | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_auth | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_exact_search | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_full | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_fullStr | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_full_unstemmed | Hands-On Data Structures and Algorithms with JavaScript : Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
title_short | Hands-On Data Structures and Algorithms with JavaScript : |
title_sort | hands on data structures and algorithms with javascript write efficient code that is highly performant scalable and easily testable using javascript |
title_sub | Write efficient code that is highly performant, scalable, and easily testable using JavaScript. |
topic | JavaScript. Data structures. Web programming. bicssc Programming & scripting languages: general. bicssc Internet: general works. bicssc Computers Programming Languages JavaScript. bisacsh Computers Web Site Design. bisacsh Computers Web General. bisacsh |
topic_facet | JavaScript. Data structures. Web programming. Programming & scripting languages: general. Internet: general works. Computers Programming Languages JavaScript. Computers Web Site Design. Computers Web General. |
work_keys_str_mv | AT mukkamalakashyap handsondatastructuresandalgorithmswithjavascriptwriteefficientcodethatishighlyperformantscalableandeasilytestableusingjavascript |