首頁 > 計算機網(wǎng)絡(luò) >
編程語言與程序設(shè)計
> Hands-On Data Structures and Algorithms with JavaScript最新章節(jié)目錄
舉報

會員
Hands-On Data Structures and Algorithms with JavaScript
IfyouareaJavaScriptdeveloperlookingforpracticalexamplestoimplementdatastructuresandalgorithmsinyourwebapplications,thenthisbookisforyou.Familiaritywithdatastructuresandalgorithmswillbehelpfultogetthemostoutofthisbook.
目錄(248章)
倒序
- coverpage
- Title Page
- PacktPub.com
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 <head>
- 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 || or &&
- Modularization of code
- Avoiding pyramid of doom
- Keeping DOM access to a minimum
- Validating all data
- Do not reinvent the wheel
- HTML optimizations
- DOM structuring
- Prefetching and preloading resources
- <link rel=prefetch >
- <link rel=preload >
- Layout and layering of HTML
- The HTML layout
- HTML layers
- CSS optimizations
- Coding practices
- Using smaller values for common ENUM
- Using shorthand properties
- Avoiding complex CSS selectors
- Understanding the browser
- Avoiding repaint and reflow
- Critical rendering path (CRP)
- JavaScript optimizations
- Truthy/falsy comparisons
- Looping optimizations
- The conditional function call
- Image and font optimizations
- Garbage collection in JavaScript
- Mark and sweep algorithm
- Garbage collection and V8
- Avoiding memory leaks
- Assigning variables to global scope
- Removing DOM elements and references
- Closures edge case
- Summary
- What's next?
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-30 19:12:51
推薦閱讀
- OpenStack Cloud Computing Cookbook(Third Edition)
- 算法訓(xùn)練營:入門篇(全彩版)
- Visual Basic程序設(shè)計習(xí)題解答與上機指導(dǎo)
- FLL+WRO樂高機器人競賽教程:機械、巡線與PID
- Raspberry Pi Home Automation with Arduino(Second Edition)
- 低代碼平臺開發(fā)實踐:基于React
- Python大學(xué)實用教程
- 奔跑吧 Linux內(nèi)核
- AMP:Building Accelerated Mobile Pages
- Python預(yù)測分析與機器學(xué)習(xí)
- Professional JavaScript
- SaaS攻略:入門、實戰(zhàn)與進階
- 深入實踐C++模板編程
- C++ Data Structures and Algorithm Design Principles
- Swift iOS Programming for Kids
- 陪孩子像搭積木一樣學(xué)編程:Python真好玩+Scratch趣味編程(全2冊)
- Puppet Essentials
- 軟件工程實用教程 (第3版)
- 網(wǎng)頁設(shè)計理論與實踐
- Python架構(gòu)模式:精通基于Python的API設(shè)計、事件驅(qū)動架構(gòu)和包管理
- 深入理解OSGi:Equinox原理、應(yīng)用與最佳實踐
- 編程真酷:Scratch3.0游戲創(chuàng)作之旅
- Machine Learning with TensorFlow 1.x
- Ionic:Hybrid Mobile App Development
- 匯編語言簡明教程
- Web Penetration Testing with Kali Linux(Second Edition)
- 系統(tǒng)辨識理論及Matlab仿真
- Blueprints Visual Scripting for Unreal Engine
- CoreOS Essentials
- Android開發(fā)權(quán)威指南