标题: JavaScript Data Structures and Algorithms超经典的算法书! [打印本页] 作者: madio 时间: 2020-2-25 12:21 标题: JavaScript Data Structures and Algorithms超经典的算法书! The motivation for writing this book was the lack of resources available about data0 `& l5 b% k( o
structures and algorithms written in JavaScript. This was strange to me because - y; Q% D) s+ ^# {7 |today many of the job opportunities for software development require knowledge of 1 {: q) k0 P& `( ^1 i: }: { c2 ]JavaScript; it is the only language that can be used to write the entire stack, including the, O( j- }. T) P" z* E/ G/ ^+ R7 S
front-end, mobile (native and hybrid) platforms, and back-end. It is crucial for JavaScript, q& n( X# @0 w1 O
developers to understand how data structures work and how to design algorithms to+ n5 k/ Z; r o" u
build applications., S3 C7 K8 H2 V9 s7 h0 V/ @" {/ ~
Therefore, this book aims to teach data structure and algorithm concepts from - {6 N5 I+ q4 c; M* Rcomputer science for JavaScript rather than for the more typical Java or C++. Because + p ^8 O9 `9 a" F! Y TJavaScript follows the prototypal inheritance pattern, unlike Java and C++ (which follow & h- {, O4 O# J3 ~6 cthe inheritance pattern), there are some changes in writing data structures in JavaScript.5 S7 |- U- J' Q' m+ |- M" A4 E
The classical inheritance pattern allows inheritance by creating a blueprint-like # `, T' `, P4 [, A" ^form" d2 A5 \5 g; G) |+ S5 H
that objects follow during inheritance. However, the prototypal inheritance pattern " e' x: b' @- {) f Jmeans copying the objects and changing their properties.: @' D5 t* v6 Q
This book first covers fundamental mathematics for Big-O analysis and then lays out 4 s9 ]) s6 U- @8 X( F% rthe basic JavaScript foundations, such as primitive objects and types. Then, this book X4 `' J, c* b7 e* x" O
covers implementations and algorithms for fundamental data structures such as linked 5 U5 X; O, P2 K! U5 Ulists, stacks, trees, heaps, and graphs. Finally, more advanced topics such as efficient 9 _+ G) L0 A- U2 Q: e' _; R7 @, q( Xstring search algorithms, caching algorithms, and dynamic programming problems are* A4 ~: I5 p# s, r
explored in great detail. 8 ~# N, K1 X* n& `0 W7 \1 B ! U( c8 g0 d. s- j* m2 m8 l6 w, Q4 {) h9 g( }