Articoli correlati a Data Structures and Algorithms with Go 1.26 in 21 Days:...

Data Structures and Algorithms with Go 1.26 in 21 Days: A Hands-On Course in Complexity, Generics, Trees, Graphs, and Dynamic Programming (Learn Programming in 21 Days) - Brossura

Libro 39 di 39: Learn Programming in 21 Days

Saqib, Mohammad

 
9798163205264: Data Structures and Algorithms with Go 1.26 in 21 Days: A Hands-On Course in Complexity, Generics, Trees, Graphs, and Dynamic Programming (Learn Programming in 21 Days)

Sinossi

Twenty-one days. One language. One parcel-dispatch engine, built from a counter of steps and measured.

Most programs lean on a handful of structures, and most programmers take them on trust. A map, a sort or a queue that is the wrong shape for its data costs time nobody sees until the input grows.

Day 1 counts the steps a loop takes and writes a first benchmark. Day 6 builds a hash table by hand, and Day 12 keeps a tree balanced with rotations. Day 16 routes parcels across a city with Dijkstra and A-star search, and Day 21 ships courier as a command-line tool.

246 listings, each printed from the file that ran. 204 output blocks, each captured from a real run. 231 figures drawn for a black-and-white press. 117 test functions pass. Sorted inserts built a plain tree of height 1022 and an AVL tree of height 9, and A-star expanded 7762 vertices where Dijkstra expanded 44723.

YOUR 21-DAY PATH

Day 1 - Installing Go 1.26 and Measuring Code: counting steps, Big-O and a first benchmark.
Day 2 - Slices and Dynamic Arrays: the slice header, append growth and amortized cost.
Day 3 - Linked Lists: nodes, sentinels and cache locality, measured.
Day 4 - Stacks and Queues: an undo stack and a ring buffer for dispatch.
Day 5 - Generic Containers and Iterators: type parameters, constraints and range-over-function iterators.
Day 6 - Hash Tables from Scratch: FNV-1a, linear probing, tombstones and load factor.
Day 7 - Searching and Recursion: binary search, bounds and safe recursion.
Day 8 - Elementary Sorting: selection, insertion and shell sort, counted.
Day 9 - Merge Sort and Quicksort: divide and conquer, pivots and slices.Sort.
Day 10 - Linear-Time Sorting and Selection: counting sort, radix sort and quickselect.
Day 11 - Binary Search Trees: height, deletion and range queries by deadline.
Day 12 - Balanced Trees with AVL: rotations and a generic ordered map.
Day 13 - Heaps and Priority Queues: a binary heap, priority dispatch and top-k.
Day 14 - Tries and String Search: address autocomplete, KMP and Rabin-Karp.
Day 15 - Graphs and Two Ways to Search Them: a road network, breadth-first and depth-first search.
Day 16 - Shortest Paths: Dijkstra, Bellman-Ford and A-star across the city.
Day 17 - Minimum Spanning Trees and Union-Find: union-find, Kruskal and Prim for a cable plan.
Day 18 - Topological Sort and DAGs: task order, cycles and the critical path.
Day 19 - Dynamic Programming: van loading, edit distance and memoization.
Day 20 - Greedy Algorithms and Heuristics: delivery windows, van packing and 2-opt tours.
Day 21 - Shipping courier as a Command-Line Tool: flag sets, exit codes, profiling and cross-compiling.

WHO IT IS FOR. Programmers who write Go and want the structures and algorithms beneath their programs, with the cost of each one counted and timed. Students preparing for interviews who want every idea shown running. Not needed: an algorithms course, mathematics beyond school algebra or any module beyond the standard library; Go 1.26 and a text editor are the whole toolchain.

Download book source code from: {GitHub}/{mohammadnsaqib}

399 pages, black and white.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.