Hub Nexus

Все издания

Algorithms

An open textbook from Wikibooks, a chapter a page, in reading order.

12 страницОбновлено

Письмо приходит, когда в издание добавляют страницу. Когда страница меняется — нет.

Версия: 1CC BY-SA 4.0
This book aims to be an accessible introduction to the design and analysis of efficient algorithms. Throughout the book we will introduce only the most basic techniques and describe the rigorous mathematical methods needed to analyze them. The topics covered include: - The **divide and conquer** tec
Версия: 1CC BY-SA 4.0
[Top]( Chapters: 1, [2]( [3]( [4]( [5]( [6]( [7]( [8]( [9]( [A]( This book covers techniques for the design and analysis of algorithms. The algorithmic techniques covered include: divide and conquer, backtracking, dynamic programming, greedy algorithms, and hill-climbing. Any solvable problem genera
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( 2, [3]( [4]( [5]( [6]( [7]( [8]( [9]( [A]( Before we begin learning algorithmic techniques, we take a detour to give ourselves some necessary mathematical tools. First, we cover mathematical definitions of terms that are used later on in the book. By expanding your mathematical
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( 3, [4]( [5]( [6]( [7]( [8]( [9]( [A]( The first major algorithmic technique we cover is **divide and conquer**. Part of the trick of making a good divide and conquer algorithm is determining how a given problem could be separated into two or more similar, but smaller, subp
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( 4, [5]( [6]( [7]( [8]( [9]( [A]( As deterministic algorithms are driven to their limits when one tries to solve hard problems with them, a useful technique to speed up the computation is **randomization**. In randomized algorithms, the algorithm has access to a random
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( [4]( 5, [6]( [7]( [8]( [9]( [A]( **Backtracking** is a general algorithmic technique that considers searching every possible combination in order to solve an optimization problem. Backtracking is also known as **depth-first search** or **branch and bound**. By inserti
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( [4]( [5]( 6, [7]( [8]( [9]( [A]( **Dynamic programming** can be thought of as an optimization technique for particular classes of backtracking algorithms where subproblems are repeatedly solved. Note that the term dynamic in dynamic programming should not be confused
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( [4]( [5]( [6]( 7, [8]( [9]( [A]( In the backtracking algorithms we looked at, we saw algorithms that found decision points and recursed over all options from that decision point. A **greedy algorithm** can be thought of as a backtracking algorithm where at each decisi
Версия: 1CC BY-SA 4.0
Algorithms, Hill Climbing
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( [4]( [5]( [6]( [7]( [8]( 9, [A]( Please edit and omit unweighted in title ## Representation of Graph ### Adjacency Matrix The rows/columns are the source/target vertex, the matrix is a square matrix with non-negative entries, 0 if there is no edge between the vertices
Версия: 1CC BY-SA 4.0
Calculating distances is common in spatial and other search algorithms, as well as in computer game physics engines. However, the common Euclidean distance requires calculating **square roots**, which is often a relatively heavy operation on a CPU. ## You don't need a square root to compare distance
Версия: 1CC BY-SA 4.0
[Top]( Chapters: [1]( [2]( [3]( [4]( [5]( [6]( [7]( [8]( [9]( A Welcome to the Ada implementations of the [Algorithms]( Wikibook. For those who are new to [Ada Programming]( a few notes: - All examples are fully functional with all the needed input and output operations. However, only the code neede

Поддержать издание

Ежемесячно, через Stripe. После комиссии Stripe и 14% Hub Nexus половина каждого платежа идёт кураторам, половина — авторам страниц в издании, по числу написанных ими страниц.