
Advanced Algorithms and Data Structures
by Marcello La Rocca · 1st Edition · 2021
An in-depth exploration of advanced data structures and algorithms: spatial data structures, heuristics, optimization, and specialized DS.
442Extracted Problems
74Chapters
0Linked to DB
442Book Total
AdvancedSpatialOptimizationDS
442 shown
- 1.1Implement interpolation searchSearchMedium1.2Implement ternary searchSearchEasy1.3Sort numbers with limited range using counting sortSortingMedium1-4Exercise 1.4Medium1-5Exercise 1.5Hard1-6Exercise 1.6Easy
- 2.1Build a k-d tree for k-nearest neighbor searchSpatialKDTHard2.2Implement quadtree for 2D collision detectionSpatialHard2.3Interval tree for overlapping intervalsTreeMedium2-4Exercise 2.4Medium2-5Exercise 2.5Hard2-6Exercise 2.6Easy
- 3.1Implement simulated annealing for TSPHeuristicsHard3.2Genetic algorithm for knapsack problemHeuristicsGAHard3.3Approximation algorithm for vertex coverApproximationMedium3-4Exercise 3.4Medium3-5Exercise 3.5Hard3-6Exercise 3.6Easy
- 4.1Implement B-tree with insert and searchTreeBTreeHard4.2Construct a suffix tree for a stringStringsSuffixTreeHard4.3Implement 2D BIT for range sum queriesFenwickTreeMedium4-4Exercise 4.4Medium4-5Exercise 4.5Hard4-6Exercise 4.6Easy
- 5.1Dinic's algorithm for max flowGraphMaxFlowHard5.2Hopcroft-Karp for max bipartite matchingGraphBipartiteHard5.3Implement min-cost max flowGraphMinCostFlowHard5-4Exercise 5.4Medium5-5Exercise 5.5Hard5-6Exercise 5.6Easy
- 6.1Branch and bound for TSPOptimizationHard6.2Implement simple SAT solver with DPLLSATHard6.3Constraint satisfaction for N-QueensCSPMedium6-4Exercise 6.4Medium6-5Exercise 6.5Hard6-6Exercise 6.6Easy
- 7-1Approximation Problem 1Easy7-2Approximation Problem 2Easy7-3Approximation Problem 3Medium7-4Approximation Problem 4Medium7-5Approximation Problem 5Hard7-6Exercise 7.6Easy
- 8-1Randomized Algorithms Problem 1Easy8-2Randomized Algorithms Problem 2Easy8-3Randomized Algorithms Problem 3Medium8-4Randomized Algorithms Problem 4Medium8-5Randomized Algorithms Problem 5Hard8-6Exercise 8.6Easy
- 9-1Approximation Problem 1Easy9-2Approximation Problem 2Easy9-3Approximation Problem 3Medium9-4Approximation Problem 4Medium9-5Approximation Problem 5Hard9-6Exercise 9.6Easy
- 10-1Randomized Algorithms Problem 1Easy10-2Randomized Algorithms Problem 2Easy10-3Randomized Algorithms Problem 3Medium10-4Randomized Algorithms Problem 4Medium10-5Randomized Algorithms Problem 5Hard10-6Exercise 10.6Easy
- 11-1Approximation Problem 1Easy11-2Approximation Problem 2Easy11-3Approximation Problem 3Medium11-4Approximation Problem 4Medium11-5Approximation Problem 5Hard11-6Exercise 11.6Easy
- 12-1Randomized Algorithms Problem 1Easy12-2Randomized Algorithms Problem 2Easy12-3Randomized Algorithms Problem 3Medium12-4Randomized Algorithms Problem 4Medium12-5Randomized Algorithms Problem 5Hard12-6Exercise 12.6Easy
- 13-1Approximation Problem 1Easy13-2Approximation Problem 2Easy13-3Approximation Problem 3Medium13-4Approximation Problem 4Medium13-5Approximation Problem 5Hard13-6Exercise 13.6Easy
- 14-1Randomized Algorithms Problem 1Easy14-2Randomized Algorithms Problem 2Easy14-3Randomized Algorithms Problem 3Medium14-4Randomized Algorithms Problem 4Medium14-5Randomized Algorithms Problem 5Hard14-6Exercise 14.6Easy
- 15-1Approximation Problem 1Easy15-2Approximation Problem 2Easy15-3Approximation Problem 3Medium15-4Approximation Problem 4Medium15-5Approximation Problem 5Hard15-6Exercise 15.6Easy
- 16-1Randomized Algorithms Problem 1Easy16-2Randomized Algorithms Problem 2Easy16-3Randomized Algorithms Problem 3Medium16-4Randomized Algorithms Problem 4Medium16-5Randomized Algorithms Problem 5Hard16-6Exercise 16.6Easy
- 17-1Approximation Problem 1Easy17-2Approximation Problem 2Easy17-3Approximation Problem 3Medium17-4Approximation Problem 4Medium17-5Approximation Problem 5Hard17-6Exercise 17.6Easy
- 18-1Randomized Algorithms Problem 1Easy18-2Randomized Algorithms Problem 2Easy18-3Randomized Algorithms Problem 3Medium18-4Randomized Algorithms Problem 4Medium18-5Randomized Algorithms Problem 5Hard18-6Exercise 18.6Easy
- 19-1Approximation Problem 1Easy19-2Approximation Problem 2Easy19-3Approximation Problem 3Medium19-4Approximation Problem 4Medium19-5Approximation Problem 5Hard19-6Exercise 19.6Easy
- 20-1Randomized Algorithms Problem 1Easy20-2Randomized Algorithms Problem 2Easy20-3Randomized Algorithms Problem 3Medium20-4Randomized Algorithms Problem 4Medium20-5Randomized Algorithms Problem 5Hard20-6Exercise 20.6Easy
- 21-1Approximation Problem 1Easy21-2Approximation Problem 2Easy21-3Approximation Problem 3Medium21-4Approximation Problem 4Medium21-5Approximation Problem 5Hard21-6Exercise 21.6Easy
- 22-1Randomized Algorithms Problem 1Easy22-2Randomized Algorithms Problem 2Easy22-3Randomized Algorithms Problem 3Medium22-4Randomized Algorithms Problem 4Medium22-5Randomized Algorithms Problem 5Hard22-6Exercise 22.6Easy
- 23-1Approximation Problem 1Easy23-2Approximation Problem 2Easy23-3Approximation Problem 3Medium23-4Approximation Problem 4Medium23-5Approximation Problem 5Hard23-6Exercise 23.6Easy
- 24-1Randomized Algorithms Problem 1Easy24-2Randomized Algorithms Problem 2Easy24-3Randomized Algorithms Problem 3Medium24-4Randomized Algorithms Problem 4Medium24-5Randomized Algorithms Problem 5Hard24-6Exercise 24.6Easy
- 25-1Approximation Problem 1Easy25-2Approximation Problem 2Easy25-3Approximation Problem 3Medium25-4Approximation Problem 4Medium25-5Approximation Problem 5Hard25-6Exercise 25.6Easy
- 26-1Randomized Algorithms Problem 1Easy26-2Randomized Algorithms Problem 2Easy26-3Randomized Algorithms Problem 3Medium26-4Randomized Algorithms Problem 4Medium26-5Randomized Algorithms Problem 5Hard26-6Exercise 26.6Easy
- 27-1Approximation Problem 1Easy27-2Approximation Problem 2Easy27-3Approximation Problem 3Medium27-4Approximation Problem 4Medium27-5Approximation Problem 5Hard27-6Exercise 27.6Easy
- 28-1Randomized Algorithms Problem 1Easy28-2Randomized Algorithms Problem 2Easy28-3Randomized Algorithms Problem 3Medium28-4Randomized Algorithms Problem 4Medium28-5Randomized Algorithms Problem 5Hard28-6Exercise 28.6Easy
- 29-1Approximation Problem 1Easy29-2Approximation Problem 2Easy29-3Approximation Problem 3Medium29-4Approximation Problem 4Medium29-5Approximation Problem 5Hard29-6Exercise 29.6Easy
- 30-1Randomized Algorithms Problem 1Easy30-2Randomized Algorithms Problem 2Easy30-3Randomized Algorithms Problem 3Medium30-4Randomized Algorithms Problem 4Medium30-5Randomized Algorithms Problem 5Hard30-6Exercise 30.6Easy
- 31-1Approximation Problem 1Easy31-2Approximation Problem 2Easy31-3Approximation Problem 3Medium31-4Approximation Problem 4Medium31-5Approximation Problem 5Hard31-6Exercise 31.6Easy
- 32-1Randomized Algorithms Problem 1Easy32-2Randomized Algorithms Problem 2Easy32-3Randomized Algorithms Problem 3Medium32-4Randomized Algorithms Problem 4Medium32-5Randomized Algorithms Problem 5Hard32-6Exercise 32.6Easy
- 33-1Approximation Problem 1Easy33-2Approximation Problem 2Easy33-3Approximation Problem 3Medium33-4Approximation Problem 4Medium33-5Approximation Problem 5Hard33-6Exercise 33.6Easy
- 34-1Randomized Algorithms Problem 1Easy34-2Randomized Algorithms Problem 2Easy34-3Randomized Algorithms Problem 3Medium34-4Randomized Algorithms Problem 4Medium34-5Randomized Algorithms Problem 5Hard34-6Exercise 34.6Easy
- 35-1Approximation Problem 1Easy35-2Approximation Problem 2Easy35-3Approximation Problem 3Medium35-4Approximation Problem 4Medium35-5Approximation Problem 5Hard35-6Exercise 35.6Easy
- 36-1Randomized Algorithms Problem 1Easy36-2Randomized Algorithms Problem 2Easy36-3Randomized Algorithms Problem 3Medium36-4Randomized Algorithms Problem 4Medium36-5Randomized Algorithms Problem 5Hard36-6Exercise 36.6Easy
- 37-1Approximation Problem 1Easy37-2Approximation Problem 2Easy37-3Approximation Problem 3Medium37-4Approximation Problem 4Medium37-5Approximation Problem 5Hard37-6Exercise 37.6Easy
- 38-1Randomized Algorithms Problem 1Easy38-2Randomized Algorithms Problem 2Easy38-3Randomized Algorithms Problem 3Medium38-4Randomized Algorithms Problem 4Medium38-5Randomized Algorithms Problem 5Hard38-6Exercise 38.6Easy
- 39-1Approximation Problem 1Easy39-2Approximation Problem 2Easy39-3Approximation Problem 3Medium39-4Approximation Problem 4Medium39-5Approximation Problem 5Hard39-6Exercise 39.6Easy
- 40-1Randomized Algorithms Problem 1Easy40-2Randomized Algorithms Problem 2Easy40-3Randomized Algorithms Problem 3Medium40-4Randomized Algorithms Problem 4Medium40-5Randomized Algorithms Problem 5Hard40-6Exercise 40.6Easy
- 41-1Approximation Problem 1Easy41-2Approximation Problem 2Easy41-3Approximation Problem 3Medium41-4Approximation Problem 4Medium41-5Approximation Problem 5Hard41-6Exercise 41.6Easy
- 42-1Randomized Algorithms Problem 1Easy42-2Randomized Algorithms Problem 2Easy42-3Randomized Algorithms Problem 3Medium42-4Randomized Algorithms Problem 4Medium42-5Randomized Algorithms Problem 5Hard42-6Exercise 42.6Easy
- 43-1Approximation Problem 1Easy43-2Approximation Problem 2Easy43-3Approximation Problem 3Medium43-4Approximation Problem 4Medium43-5Approximation Problem 5Hard43-6Exercise 43.6Easy
- 44-1Randomized Algorithms Problem 1Easy44-2Randomized Algorithms Problem 2Easy44-3Randomized Algorithms Problem 3Medium44-4Randomized Algorithms Problem 4Medium44-5Randomized Algorithms Problem 5Hard44-6Exercise 44.6Easy
- 45-1Approximation Problem 1Easy45-2Approximation Problem 2Easy45-3Approximation Problem 3Medium45-4Approximation Problem 4Medium45-5Approximation Problem 5Hard45-6Exercise 45.6Easy
- 46-1Randomized Algorithms Problem 1Easy46-2Randomized Algorithms Problem 2Easy46-3Randomized Algorithms Problem 3Medium46-4Randomized Algorithms Problem 4Medium46-5Randomized Algorithms Problem 5Hard46-6Exercise 46.6Easy
- 47-1Approximation Problem 1Easy47-2Approximation Problem 2Easy47-3Approximation Problem 3Medium47-4Approximation Problem 4Medium47-5Approximation Problem 5Hard47-6Exercise 47.6Easy
- 48-1Randomized Algorithms Problem 1Easy48-2Randomized Algorithms Problem 2Easy48-3Randomized Algorithms Problem 3Medium48-4Randomized Algorithms Problem 4Medium48-5Randomized Algorithms Problem 5Hard48-6Exercise 48.6Easy
- 49-1Approximation Problem 1Easy49-2Approximation Problem 2Easy49-3Approximation Problem 3Medium49-4Approximation Problem 4Medium49-5Approximation Problem 5Hard49-6Exercise 49.6Easy
- 50-1Randomized Algorithms Problem 1Easy50-2Randomized Algorithms Problem 2Easy50-3Randomized Algorithms Problem 3Medium50-4Randomized Algorithms Problem 4Medium50-5Randomized Algorithms Problem 5Hard50-6Exercise 50.6Easy
- 51-1Approximation Problem 1Easy51-2Approximation Problem 2Easy51-3Approximation Problem 3Medium51-4Approximation Problem 4Medium51-5Approximation Problem 5Hard51-6Exercise 51.6Easy
- 52-1Randomized Algorithms Problem 1Easy52-2Randomized Algorithms Problem 2Easy52-3Randomized Algorithms Problem 3Medium52-4Randomized Algorithms Problem 4Medium52-5Randomized Algorithms Problem 5Hard52-6Exercise 52.6Easy
- 53-1Approximation Problem 1Easy53-2Approximation Problem 2Easy53-3Approximation Problem 3Medium53-4Approximation Problem 4Medium53-5Approximation Problem 5Hard53-6Exercise 53.6Easy
- 54-1Randomized Algorithms Problem 1Easy54-2Randomized Algorithms Problem 2Easy54-3Randomized Algorithms Problem 3Medium54-4Randomized Algorithms Problem 4Medium54-5Randomized Algorithms Problem 5Hard54-6Exercise 54.6Easy
- 55-1Approximation Problem 1Easy55-2Approximation Problem 2Easy55-3Approximation Problem 3Medium55-4Approximation Problem 4Medium55-5Approximation Problem 5Hard55-6Exercise 55.6Easy
- 56-1Randomized Algorithms Problem 1Easy56-2Randomized Algorithms Problem 2Easy56-3Randomized Algorithms Problem 3Medium56-4Randomized Algorithms Problem 4Medium56-5Randomized Algorithms Problem 5Hard56-6Exercise 56.6Easy
- 57-1Approximation Problem 1Easy57-2Approximation Problem 2Easy57-3Approximation Problem 3Medium57-4Approximation Problem 4Medium57-5Approximation Problem 5Hard57-6Exercise 57.6Easy
- 58-1Randomized Algorithms Problem 1Easy58-2Randomized Algorithms Problem 2Easy58-3Randomized Algorithms Problem 3Medium58-4Randomized Algorithms Problem 4Medium58-5Randomized Algorithms Problem 5Hard58-6Exercise 58.6Easy
- 59-1Approximation Problem 1Easy59-2Approximation Problem 2Easy59-3Approximation Problem 3Medium59-4Approximation Problem 4Medium59-5Approximation Problem 5Hard59-6Exercise 59.6Easy
- 60-1Randomized Algorithms Problem 1Easy60-2Randomized Algorithms Problem 2Easy60-3Randomized Algorithms Problem 3Medium60-4Randomized Algorithms Problem 4Medium60-5Randomized Algorithms Problem 5Hard60-6Exercise 60.6Easy
- 61-1Approximation Problem 1Easy61-2Approximation Problem 2Easy61-3Approximation Problem 3Medium61-4Approximation Problem 4Medium61-5Approximation Problem 5Hard61-6Exercise 61.6Easy
- 62-1Randomized Algorithms Problem 1Easy62-2Randomized Algorithms Problem 2Easy62-3Randomized Algorithms Problem 3Medium62-4Randomized Algorithms Problem 4Medium62-5Randomized Algorithms Problem 5Hard62-6Exercise 62.6Easy
- 63-1Approximation Problem 1Easy63-2Approximation Problem 2Easy63-3Approximation Problem 3Medium63-4Approximation Problem 4Medium63-5Approximation Problem 5Hard63-6Exercise 63.6Easy
- 64-1Randomized Algorithms Problem 1Easy64-2Randomized Algorithms Problem 2Easy64-3Randomized Algorithms Problem 3Medium64-4Randomized Algorithms Problem 4Medium64-5Randomized Algorithms Problem 5Hard64-6Exercise 64.6Easy
- 65-1Approximation Problem 1Easy65-2Approximation Problem 2Easy65-3Approximation Problem 3Medium65-4Approximation Problem 4Medium65-5Approximation Problem 5Hard65-6Exercise 65.6Easy
- 66-1Randomized Algorithms Problem 1Easy66-2Randomized Algorithms Problem 2Easy66-3Randomized Algorithms Problem 3Medium66-4Randomized Algorithms Problem 4Medium66-5Randomized Algorithms Problem 5Hard66-6Exercise 66.6Easy
- 67-1Approximation Problem 1Easy67-2Approximation Problem 2Easy67-3Approximation Problem 3Medium67-4Approximation Problem 4Medium67-5Approximation Problem 5Hard67-6Exercise 67.6Easy
- 68-1Randomized Algorithms Problem 1Easy68-2Randomized Algorithms Problem 2Easy68-3Randomized Algorithms Problem 3Medium68-4Randomized Algorithms Problem 4Medium68-5Randomized Algorithms Problem 5Hard68-6Exercise 68.6Easy
- 69-1Approximation Problem 1Easy69-2Approximation Problem 2Easy69-3Approximation Problem 3Medium69-4Approximation Problem 4Medium69-5Approximation Problem 5Hard69-6Exercise 69.6Easy
- 70-1Randomized Algorithms Problem 1Easy70-2Randomized Algorithms Problem 2Easy70-3Randomized Algorithms Problem 3Medium70-4Randomized Algorithms Problem 4Medium70-5Randomized Algorithms Problem 5Hard70-6Exercise 70.6Easy
- 71-1Approximation Problem 1Easy71-2Approximation Problem 2Easy71-3Approximation Problem 3Medium71-4Approximation Problem 4Medium71-5Approximation Problem 5Hard71-6Exercise 71.6Easy
- 72-1Randomized Algorithms Problem 1Easy72-2Randomized Algorithms Problem 2Easy72-3Randomized Algorithms Problem 3Medium72-4Randomized Algorithms Problem 4Medium72-5Randomized Algorithms Problem 5Hard72-6Exercise 72.6Easy
Approximation concepts and practice
73-1Approximation Problem 1Easy73-2Approximation Problem 2Easy73-3Approximation Problem 3Medium73-4Approximation Problem 4Medium73-5Approximation Problem 5HardRandomized Algorithms concepts and practice
74-1Randomized Algorithms Problem 1Easy74-2Randomized Algorithms Problem 2Easy74-3Randomized Algorithms Problem 3Medium74-4Randomized Algorithms Problem 4Medium74-5Randomized Algorithms Problem 5Hard