General
-
Target
The Algorithm Design Manual (Steven S. Skiena) (Z-Library).pdf
-
Size
9.9MB
-
MD5
fb25c0a3e04f12f61b5db0eb0426dbbf
-
SHA1
da23a0a6d5c71eef63cec2c9ebed802bd5acc432
-
SHA256
5b8ae96f7c6c8907c28213a197e77398b0941857a9cecf28232d6006563c7d18
-
SHA512
739583c6d72ecea6f71a3499e307950095993297b311d914cc30f2cf0dc64bd408183c333065a9cbfc19abe467f616fb1f347a5a54d7bbe466f9ae164e5fff83
-
SSDEEP
98304:fTNz+HOSFiJQHUtBizdIcwURq0ySin6mMam2tVjEm+MED1rgXCVWDP/KxLN:L1SvFiJ/BUIcHDDi6mMartm5gSVWD3KH
Malware Config
Signatures
Files
-
The Algorithm Design Manual (Steven S. Skiena) (Z-Library).pdf.pdf
-
http://...hk
-
http://.AnimplementationinCofthisturningfunctionmetricbyEugeneK.Resslerisprovidedatwww.algorist.com
-
http://713.www.mpi-inf.mpg.de/mehlhorn/ftp/ClassRoomExamples.ps,2004.[KMR97]DavidKarger,RajeevMotwani,andGurumurthyD.S.Ramkumar.Onapproximatingthelongestpathinagraph.Algorithmica,18
-
http://Asurvey.ar
-
http://FulllecturenotesandaproblemsolutionWikiisavailableonmywebsitewww.algorist.com
-
http://G.de
-
http://H.de
-
http://Hans-JorgSchulz.Treevis.net
-
http://M.de
-
http://S.de
-
http://SamuelDittmerandIgorPak.Countinglinearextensionsofrestrictedposets.ar
-
http://YoichiIwata.Linear-timekernelizationforfeedbackvertexset.ar
-
http://a.Howtofactor2048bitRSAintegersin8hoursusing20millionnoisyqubits.ar
-
http://andA.Tchernykh.Anexperimentalcomparisonofapproximationalgorithmsfortheshortestcommonsuperstringprob-lem.InProc.FifthMexicanInt.Conf.in
-
http://andCarinePivoteau.Ontheworst-casecomplexityoftimsort.ar
-
http://andIlyaRazenshteyn.Approxi-matenearest-neighborsearchinhighdimensions.ar
-
http://andSaketSaurabh.A2-approximationalgorithmforfeedbackvertexsetintournaments.ar
-
http://andSalehBasalamah.Asurveyofshortest-pathalgorithms.ar
-
http://andStevenSkiena.Atutorialonnetworkembeddings.ar
-
http://andUdiWieder.Heuris-ticsforvectorbinpacking.research.microsoft.com
-
http://arxiv.org/abs/physics/0408067
-
http://arxiv.org/abs/physics/0408067.BalltreesareincludedaspartofthepopularPythonpackagescikit-learn,againfornearest-neighborsearchinhighdimensionaldata.Samet�sspatialindexdemos
-
http://arxiv.org/abs/physics/0408067.Section20.4
-
http://asa-caltech.sourceforge.net/
-
http://asa-caltech.sourceforge.net/.Notes:Bertsekas[Ber15],BoydandVandenberghe[BV04],andNesterov[Nes13]providecomprehensivetreatmentsofconvexoptimization,includingmethodsbasedongradientdescent.UnconstrainedoptimizationandLagrangianrelaxationarethetopicsofseveralbooks,including[Ber82,PFTV07].Thefullobjectivefunctionsassociatedwithmachinelearningproblemsareoftenlinearinthesizeofthetrainingdata,whichmakesitveryexpensivetocomputepartialderivativesforgradientdescent.Muchbetterinpracticeistoestimatethederivativesatthecurrentpositionusingasmallrandomsampleofthetrainingdata.Suchstochasticgradientdescentalgorithmsarediscussedin[Bot12].Goodbooksaboutmachinelearninginclude[Bis06,FHT01].SimulatedannealingwasdevisedbyKirkpatricketal.[KGV83]asamodernvariationoftheMetropolisalgorithm[MRRT53].BothuseMonteCarlotechniquestocomputetheminimumenergystateofasystem.Goodexpositionsonalllocalsearchvariations,includingsimulatedannealing,appearin[AL97].GeneticalgorithmsweredevelopedandpopularizedbyHolland[Hol75,Hol92].Booksmorepartialtogeneticalgorithmsthanmineinclude[LP02,MF00].Relatedproblems:Linearprogramming
-
http://calendarists.com
-
http://cgm.cs.mcgill.ca/~avis/C/lrs.html
-
http://cientsortingalgorithmsforGPUsareconsideredbySatishet.al
-
http://combos.org
-
http://combos.org/
-
http://courses.csail.mit.edu/6.890/fall14/
-
http://courses.csail.mit.edu/6.890/fall14/.ThewarstoryproblemonunidirectedsubgraphwasoriginallyprovenhardinMahesh-wari[Mah76].11.10ExercisesTransformationsandSatis�ability11-1.2Givethe3-SATformulathatresultsfromapplyingthereductionofsatis�-abilityto3-SATfortheformula:
-
http://cr.yp.to/arith.html,2004.[Ber15]D.Bertsekas.ConvexOptimizationAlgorithms.AthenaScienti�cBel-mont,2015.[Ber19]ChrisBernhardt.QuantumComputingforEveryone.MITPress,2019.[BETT99]G.DiBattista,P.Eades,R.Tamassia,andI.Tollis.GraphDrawing:AlgorithmsfortheVisualizationofGraphs.Prentice-Hall,1999.[BF00]M.BenderandM.Farach.TheLCAproblemrevisited.InProc.4thLatinAmericanSymp.onTheoreticalInformatics,pages88�94.Springer-VerlagLNCSvol.1776,2000.[BFH+18]AlonBaram,E�Fogel,DanHalperin,MichaelHemmer,andSebastianMorr.Exactminkowskisumsofpolygonswithholes.ComputationalGeometry,73:46�56,2018.[BFP+72]M.Blum,R.Floyd,V.Pratt,R.Rivest,andR.Tarjan.Timeboundsforselection.J.ComputerandSystemSciences,7:448�461,1972.[BFS12]G.Blelloch,J.Fineman,andJ.Shun.Greedysequentialmaximalinde-pendentsetandmatchingareparallelonaverage.InProceedingsoftheTwenty-FourthAnnualACMSymposiumonParallelisminAlgorithmsandArchitectures,pages308�317.ACM,2012.[BFV07]G.Brodal,R.Fagerberg,andK.Vinther.Engineeringacache-oblivioussortingalgorithm.ACMJ.ofExperimentalAlgorithmics,12,2007.[BG95]J.BerryandM.Goldberg.Pathoptimizationandnear-greedyanalysisforgraphpartitioning:Anempiricalstudy.InProc.6thACM-SIAMSymposiumonDiscreteAlgorithms,pages223�232,1995.[BGJ+12]ArnabBhattacharyya,ElenaGrigorescu,KyominJung,SofyaRaskhod-nikova,andDavidPWoodru.Transitive-closurespanners.SIAMJour-nalonComputing,41
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_1&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_10&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_11&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_12&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_13&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_14&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_15&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_16&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_17&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_18&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_19&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_2&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_20&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_21&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_22&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_3&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_4&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_5&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_6&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_7&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_8&domain=pdf
-
http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-54256-6_9&domain=pdf
-
http://cs.anu.edu.au/~bdm/data/
-
http://cs.nyu.edu/exact/
-
http://cs.nyu.edu/yap/book/egc/,2007.[Mye86]E.Myers.AnO
-
http://cs.smith.edu/~jorourke/books/ArtGalleryTheorems
-
http://cs.smith.edu/~jorourke/books/ArtGalleryTheorems.TheartgalleryproblemisnotobviouslyinNPbecauseofitsdependenceonnon-integerarithmetic,buthardunderanappropriatemodelofcomputation[AAM18].Recentcomputationalresultsonconstructingoptimalguardsetsarereportedin[KBFS12].Relatedproblems:Triangulation
-
http://cs.smith.edu/~jorourke/books/CompGeom/CompGeom.html
-
http://cs.smith.edu/~jorourke/books/CompGeom/CompGeom.html.Theseprimitiveswereimplementedprimarilyforexpositionratherthanproductionuse,buttheyshouldbereliableandappro-priateformodestapplications.TheCoreLibrary
-
http://cs.smith.edu/~jorourke/code.html
-
http://cs.smith.edu/~jorourke/code.html.�AlgorithmsinC++�Sedgewick�spopularalgorithmstext[Sed98,SW11]comesinseveraldierentlanguageeditions,includingC,C++,andJava.Thisbookdistinguishesitselfthroughitsuseofalgorithmanimationandinitsbroadtopiccoverage,includingnumerical,string,andgeometricalgorithms.CodefromtheJavaeditionisavailablefromhttps://algs4.cs.princeton.edu/.�DiscreteOptimizationAlgorithmsinPascal�Thiscollectionof28pro-gramsforsolvingdiscreteoptimizationproblemsappearsinthebookbySyslo,Deo,andKowalik[SDK83].Thepackageincludesprogramsforintegerandlinearprogramming,theknapsackandsetcoverproblems,travelingsalesman,vertexcoloring,andscheduling,aswellasstandardnetworkoptimizationproblems.Theyhavebeenmadeavailablefromthealgorithmrepositoryatwww.algorist.com.22.2DataSourcesItisoftenimportanttohaveinterestingdatatofeedyouralgorithms,toserveastestdatatoensurecorrectnessortocomparedierentalgorithmsforrawspeed.Findinggoodtestdatacanbesurprisinglydicult.Herearesomepointers:�StanfordNetworkAnalysisProject
-
http://csrc.nist.gov/groups/ST/toolkit
-
http://dimacs.rutgers.edu/Challenges
-
http://dimacs.rutgers.edu/Challenges.Notes:Samet[Sam06]isthebestreferenceonkd-treesandotherspatialdatastructures.Allmajor
-
http://dimacs.rutgers.edu/Challenges.Thecostoftransferringdatabackandforthbetweenlevelsofthememoryhierarchy
-
http://dimacs.rutgers.edu/Challenges.Theseinclude:
-
http://dimacs.rutgers.edu/archive/Challenges/
-
http://dimacs.rutgers.edu/archive/Challenges/.Thesein-cludeamaximum-cardinalitymatchingsolverthatimplementsGabow�sO
-
http://dimacs.rutgers.edu/programs/challenge/
-
http://dimacs.rutgers.edu/programs/challenge/.Notes:GoodexpositionsonDijkstra�salgorithm[Dij59],theBellman�Fordal-gorithm[Bel58,FF62],andFloyd�sall-pairs-shortest-pathalgorithm[Flo62]include[CLRS09].Nicesurveysonshortestpathalgorithmsinclude[MAR+17,Zwi01].Geo-metricshortest-pathalgorithmsaresurveyedbyMitchell[PN18].Thefastestalgorithmknownforsingle-sourceshortest-pathisDijkstra�salgorithmwithFibonacciheaps,runninginO
-
http://donar.umiacs.umd.edu/quadtree/
-
http://egh.Aconstant-factorapproximationalgorithmfortheasymmetrictravelingsalesmanproblem.ar
-
http://emedelabyrinthes.NouvellesAnn.de
-
http://euler.slu.edu/~goldwasser/publications/
-
http://evolution.genetics.washington.edu/phylip.html
-
http://glaros.dtc.umn.edu/gkhome/views/metis
-
http://gmplib.org/
-
http://gmplib.org/.Thejava.mathBigIntegerclassprovidesarbitrary-precisionanaloguestoallofJava�sprimitiveintegeroperators.BigIntegerprovidesadditionaloper-ationsformodulararithmetic,GCDcalculation,primalitytesting,primegen-eration,bitmanipulation,andafewothermiscellaneousoperations.Alower-performance,lesswell-testedbutmorepersonalimplementationofhigh-precisionarithmeticappearsinthelibraryfrommybookProgrammingChallenges[SR03].SeeSection22.1.9
-
http://goblin2.sourceforge.net
-
http://goblin2.sourceforge.net/
-
http://home.eng.iastate.edu/~cnchu/flute.html
-
http://itismuchmorelikelythenextlinkwillpointtoGooglethanwww.algorist.com
-
http://jung.sourceforge.net
-
http://jung.sourceforge.net/
-
http://leetcode.com/problems/binary-tree-cameras/10-2.https://leetcode.com/problems/edit-distance/10-3.https://leetcode.com/problems/maximum-product-of-splitted-binary-tree/
-
http://leetcode.com/problems/cheapest-flights-within-k-stops/8-2.https://leetcode.com/problems/network-delay-time/8-3.https://leetcode.com/problems/find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance/HackerRank8-1.https://www.hackerrank.com/challenges/kruskalmstrsub/8-2.https://www.hackerrank.com/challenges/jack-goes-to-rapture/8-3.https://www.hackerrank.com/challenges/tree-pruning/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:8-1.�Freckles��Chapter10,problem10034.8-2.�Necklace��Chapter10,problem10054.8-3.�Railroads��Chapter10,problem10039.8-4.�TouristGuide��Chapter10,problem10199.8-5.�TheGrandDinner��Chapter10,problem10249.
-
http://leetcode.com/problems/daily-temperatures/1-2.https://leetcode.com/problems/rotate-list/1-3.https://leetcode.com/problems/wiggle-sort-ii/HackerRank1-1.https://www.hackerrank.com/challenges/array-left-rotation/1-2.https://www.hackerrank.com/challenges/kangaroo/1-3.https://www.hackerrank.com/challenges/hackerland-radio-transmitters/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:1-1.�The3n+1Problem��Chapter1,problem100.1-2.�TheTrip��Chapter1,problem10137.1-3.�AustralianVoting��Chapter1,problem10142.
-
http://leetcode.com/problems/median-of-two-sorted-arrays/5-2.https://leetcode.com/problems/count-of-range-sum/5-3.https://leetcode.com/problems/maximum-subarray/
-
http://leetcode.com/problems/minimum-height-trees/7-2.https://leetcode.com/problems/redundant-connection/7-3.https://leetcode.com/problems/course-schedule/HackerRank7-1.https://www.hackerrank.com/challenges/bfsshortreach/7-2.https://www.hackerrank.com/challenges/dfs-edges/7-3.https://www.hackerrank.com/challenges/even-tree/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:7-1.�Bicoloring��Chapter9,problem10004.7-2.�PlayingwithWheels��Chapter9,problem10067.7-3.�TheTouristGuide��Chapter9,problem10099.7-4.�EditStepLadders��Chapter9,problem10029.7-5.�TowerofCubes��Chapter9,problem10051.
-
http://leetcode.com/problems/random-pick-with-blacklist/6-2.https://leetcode.com/problems/implement-strstr/6-3.https://leetcode.com/problems/random-point-in-non-overlapping-rectangles/HackerRank6-1.https://www.hackerrank.com/challenges/ctci-ransom-note/6-2.https://www.hackerrank.com/challenges/matchstick-experiment/6-3.https://www.hackerrank.com/challenges/palindromes/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:6-1.�CarmichaelNumbers��Chapter10,problem10006.6-2.�Expressions��Chapter6,problem10157.6-3.�CompleteTreeLabeling��Chapter6,problem10247.
-
http://leetcode.com/problems/remove-k-digits/2-2.https://leetcode.com/problems/counting-bits/2-3.https://leetcode.com/problems/4sum/HackerRank2-1.https://www.hackerrank.com/challenges/pangrams/2-2.https://www.hackerrank.com/challenges/the-power-sum/2-3.https://www.hackerrank.com/challenges/magic-square-forming/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:2-1.�PrimaryArithmetic��Chapter5,problem10035.2-2.�AMultiplicationGame��Chapter5,problem847.2-3.�Light,MoreLight��Chapter7,problem10110.
-
http://leetcode.com/problems/sort-list/4-2.https://leetcode.com/problems/queue-reconstruction-by-height/4-3.https://leetcode.com/problems/merge-k-sorted-lists/4-4.https://leetcode.com/problems/find-k-pairs-with-smallest-sums/HackerRank4-1.https://www.hackerrank.com/challenges/quicksort3/4-2.https://www.hackerrank.com/challenges/mark-and-toys/4-3.https://www.hackerrank.com/challenges/organizing-containers-of-balls/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:4-1.�Vito�sFamily��Chapter4,problem10041.4-2.�StacksofFlapjacks��Chapter4,problem120.4-3.�Bridge��Chapter4,problem10037.4-4.�ShoeMaker�sProblem��Chapter4,problem10026.4-5.�ShellSort��Chapter4,problem10152.
-
http://leetcode.com/problems/split-array-with-same-average/12-2.https://leetcode.com/problems/smallest-sufficient-team/12-3.https://leetcode.com/problems/longest-palindromic-substring/HackerRank12-1.https://www.hackerrank.com/challenges/mancala6/12-2.https://www.hackerrank.com/challenges/sams-puzzle/12-3.https://www.hackerrank.com/challenges/walking-the-approximatelongest-path/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:12-1.�EuclidProblem��Chapter7,problem10104.12-2.�ChainsawMassacre��Chapter14,problem10043.12-3.�HotterColder��Chapter14,problem10084.12-4.�UselessTilePackers��Chapter14,problem10065.
-
http://leetcode.com/problems/subsets/9-2.https://leetcode.com/problems/remove-invalid-parentheses/9-3.https://leetcode.com/problems/word-search/HackerRank9-1.https://www.hackerrank.com/challenges/sudoku/9-2.https://www.hackerrank.com/challenges/crossword-puzzle/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:9-1.�LittleBishops��Chapter8,problem861.9-2.�15-PuzzleProblem��Chapter8,problem10181.9-3.�TugofWar��Chapter8,problem10032.9-4.�ColorHash��Chapter8,problem704.
-
http://leetcode.com/problems/target-sum/11-2.https://leetcode.com/problems/word-break-ii/11-3.https://leetcode.com/problems/number-of-squareful-arrays/HackerRank11-1.https://www.hackerrank.com/challenges/spies-revised11-2.https://www.hackerrank.com/challenges/brick-tiling/11-3.https://www.hackerrank.com/challenges/tbsp/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:11-1.�TheMonocycle��Chapter12,problem10047.11-2.�DogandGopher��Chapter13,problem111301.11-3.�ChocolateChipCookies��Chapter13,problem10136.11-4.�BirthdayCake��Chapter13,problem10167.ThesearenotparticularlyrelevanttoNP-completeness,butareaddedforcompleteness.
-
http://leetcode.com/problems/validate-binary-search-tree/3-2.https://leetcode.com/problems/count-of-smaller-numbers-after-self/3-3.https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/HackerRank3-1.https://www.hackerrank.com/challenges/is-binary-search-tree/3-2.https://www.hackerrank.com/challenges/queue-using-two-stacks/3-3.https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle/problem
-
http://lpsolve.sourceforge.net/5.5/
-
http://lpsolve.sourceforge.net/5.5/,andasubstantialusercommunityexists.ThesimplexsolverCLPproducedundertheComputationalInfrastructureforOperationsRe-searchisavailable
-
http://ltingBrodal.Dynamicplanarconvexhull.ar
-
http://math.nist.gov/javanumerics/
-
http://math.nist.gov/javanumerics/.NijenhuisandWilf[NW78]provideanecientFortranroutinetocomputethepermanentofamatrix.SeeSection22.1.9
-
http://math.nist.gov/javanumerics/.NumericalRecipes[PFTV07]
-
http://math.nist.gov/tnt/
-
http://math.nist.gov/tnt/.JScienceprovidesanextensivelinearalgebrapackage
-
http://mattmahoney.net/dc/
-
http://mattmahoney.net/dc/.Personally,Ibelievethatthereisaspecialplaceinhellforpeoplewhosendme�lescompressedbyweirdencoders.Ialwaysdeletesuchmessages,anddemandthattheyresendmeagzip�le.Notes:Manybooksondatacompressionareavailable.RecentandcomprehensivebooksincludeSayood[Say17]andSalomon[Sal06],with[SM10]anauthoritativeref-erence.AlsorecommendedistheoldertextbyBell,Cleary,andWitten[BCW90].Surveysontextcompressionalgorithmsinclude[CL98,KA10].GoodexpositionsonHumancodes[Huf52]include[AHU83,CLRS09].TheLempel�Zivalgorithmandvariantsaredescribedin[Wel84,ZL78].TheBurrows�Wheelertransformwasintroducedin[BW94].TheannualIEEEDataCompressionConference
-
http://mgarland.org/software/qslim.html
-
http://mrvar.fdv.uni-lj.si/pajek/
-
http://mrvar.fdv.uni-lj.si/pajek/.Allofthesehavefreetrialornon-commercialusedownloads.Combinatorica[PS03]providesMathematicaimplementationsofseveralgraph-drawingalgorithms,includingcircular,spring,andrankedembeddings.SeeSection22.1.8
-
http://networkrepository.com
-
http://networkrepository.com/
-
http://ningbucketsfromStoShtoShitoShifto...to
-
http://numerical.recipes
-
http://numerical.recipes/
-
http://numerical.recipes/.Numericalcomputationhasbeenofincreasingimportancebecauseofma-chinelearning,whichheavilyreliesonlinearalgebraandunconstrainedopti-mization.Butnotethatnumericalalgorithmstendtobedierentbeaststhancombinatorialalgorithmsforatleasttworeasons:�Issuesofprecisionanderror�Numericalalgorithmstypicallyperformrepeated�oating-pointcomputations,whichaccumulateerrorateachop-erationuntil,eventually,theresultsaremeaningless.MyfavoriteexampleconcernstheVancouverStockExchange,whichovera22-monthperiodaccumulatedenoughround-oerrortoreduceitsindexfromthecorrectvalueof1098.982to574.081[MV99].Asimpleanddependablewaytotestforround-oerrorsinnumericalprogramsistorunthembothatsingleanddoubleprecision,andthenthinkhardifthereisasubstantialdisagreement.�Extensivelibrariesofcodes�Large,high-qualitylibrariesofnumericalalgorithmshaveexistedsincethe1960s,whichisstillnotyetthecaseforcombinatorialalgorithms.Thereareseveralreasonsforthis,including
-
http://ompl.kavrakilab.org
-
http://or.dei.unibo.it/library/bpplib
-
http://or.deis.unibo.it/research_pages/tspsoft.html
-
http://or.deis.unibo.it/research_pages/tspsoft.html.NijenhuisandWilf[NW78]provideanecientroutinetoenumerateallHamil-toniancyclesofagraphbybacktracking.SeeSection22.1.9
-
http://or.deis.unibo.it/research_pages/tspsoft.html.TSPLIB[Rei91]providesthestandardcollectionofhardinstancesofTSPsthatariseinpractice.Thebest-supportedversionofTSPLIBisavailablefromhttps://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/.Notes:ThebookbyApplegateetal.[ABCC07]documentsthetechniquestheyusedintheirrecord-settingTSPsolvers,aswellasthetheoryandhistorybehindtheproblem.CookalsowroteapopularbookonTSP[Coo11].GutinandPunnen[GP07]nowoerthebestreferenceonallaspectsandvariationsofthetravelingsalesmanproblem,displacinganolderbutbelovedbookbyLawleretal.[LLKS85].ExperimentalresultsonheuristicmethodsforsolvinglargeTSPsinclude[Ben92a,Rei94,WCL+14].Typically,itispossibletogetwithinafewpercentofoptimalwithsuchmethods.TheChristo�desheuristic[Chr76]isanimprovementovertheminimumspanningtreeheuristicandguaranteesatourwhosecostisatmost3/2timesoptimalonEu-clideangraphs.ItrunsinO
-
http://pallini.di.uniroma1.it/
-
http://pallini.di.uniroma1.it/.ThetheorybehindnautyandanaliateprogramTracesaredescribedin[McK81,MP14].Valiente[Val02]hasmadeavailabletheimplementationsofgraph/subgraphisomorphismalgorithmsforbothtreesandgraphsinhisbook.TheseC++implementationsrunontopofLEDA
-
http://pari.math.u-bordeaux.fr/
-
http://pari.math.u-bordeaux.fr/ALibraryfordoingNumberTheory
-
http://people.math.sc.edu/Burkardt/cpp_src/geompack/geompack.html
-
http://people.math.sc.edu/Burkardt/cpp_src/geompack/geompack.html.Inparticular,itdoesbothDe-launaytriangulationandconvexdecompositionsofpolygonalandpolyhedralregions,aswellasarbitrary-dimensionalDelaunaytriangulations.Notes:Surveyarticlesonpolygonpartitioninginclude[Kei00,OST18].KeilandSack[KS85]giveanexcellentoverviewofwhatisknownaboutpartitioningandcoveringpolygons.ExpositionsontheHertel�Mehlhornheuristic[HM83]include[O�R01].TheO
-
http://pigale.sourceforge.net
-
http://pigale.sourceforge.net/
-
http://pizzachili.dcc.uchile.cl/
-
http://planning.cs.uiuc.edu
-
http://planning.cs.uiuc.edu/
-
http://plato.asu.edu/guide.html
-
http://plato.asu.edu/guide.html.NEOS
-
http://robotics.stanford.edu/~mitul/mpk/
-
http://robotics.stanford.edu/~mitul/mpk/.ThecomputationalgeometrylibraryCGAL
-
http://s1...sn
-
http://s1s2...sn
-
http://s2...sn
-
http://seq.cs.iastate.edu/
-
http://seq.cs.iastate.edu/.Theyhavebeenusedonmammalianscaleassemblyprojectsinvolvinghundredsofmillionsofbases.TheCeleraassemblerthatsequencedthehumangenomeisnowavailableasopensource.Seehttps://sourceforge.net/projects/wgs-assembler/.Notes:Theshortestcommonsuperstring
-
http://sigmajs.org
-
http://sigmajs.org/
-
http://soexperimentwithmyfullimplementationatwww.algorist.com
-
http://sortbenchmark.org/
-
http://sortbenchmark.org/.3Oneofmymorecynicalfacultycolleaguessaidthiswasthe�rsttimeanyone,anywhere,hadeveractuallylookedatuniversityteachingevaluations.
-
http://sortbenchmark.org/Yahoo-Hadoop.pdf
-
http://sortbenchmark.org/Yahoo-Hadoop.pdf,2008.[Pal14]KatarzynaPaluch.Betterapproximationalgorithmsformaximumasym-metrictravelingsalesmanandshortestsuperstring.arXiv1401.3670,2014.[Pan06]R.Panigrahy.Hashing,Searching,Sketching.PhDthesis,StanfordUni-versity,2006.[Pap76a]C.Papadimitriou.Thecomplexityofedgetraversing.J.ACM,23:544�554,1976.[Pap76b]C.Papadimitriou.TheNP-completenessofthebandwidthminimizationproblem.Computing,16:263�270,1976.[Par90]G.Parker.Abetterphoneticsearch.CGazette,5�4,June/July1990.[PARS14]BryanPerozzi,RamiAl-Rfou,andStevenSkiena.Deepwalk:Onlinelearningofsocialrepresentations.InProc.20thACMSIGKDDConf.onKnowledgeDiscoveryandDataMining,pages701�710.ACM,2014.[Pas97]V.Paschos.Asurveyofapproximatelyoptimalsolutionstosomecover-ingandpackingproblems.ComputingSurveys,s171�209:171�209,1997.[Pas03]V.Paschos.Polynomialapproximationandgraph-coloring.Computing,70:41�86,2003.[Pat13]MaurizioPatrignani.Planaritytestingandembedding,2013.[Pav82]T.Pavlidis.AlgorithmsforGraphicsandImageProcessing.ComputerSciencePress,RockvilleMD,1982.[PCY+16]BrianPaden,MichalC�ap,SzeZhengYong,DmitryYershov,andEmilioFrazzoli.Asurveyofmotionplanningandcontroltechniquesforself-drivingurbanvehicles.IEEETransactionsonintelligentvehicles,1
-
http://sortbenchmark.org/forcurrentandpreviousresults,whichareeitherinspiringordepressingdependinguponhowyoulookatit.Themagnitudeofprogressisinspiring
-
http://sourceforge.net
-
http://sourceforge.net/
-
http://sprng.cs.fsu.edu/
-
http://sprng.cs.fsu.edu/.TheNationalInstituteofStandards[BRS+10]haspreparedanextensivesta-tisticaltestsuitetovalidaterandomnumbergenerators.Boththesoftwareandthereportdescribingitareavailableathttps://csrc.nist.gov/projects/random-bit-generation/documentation-and-software.Truerandom-numbergeneratorsextractrandombitsbyobservingphysicalprocesses.Thewebsitehttp://www.random.orgmakesavailablerandomnum-bersderivedfromatmosphericnoisethatpasstheNISTstatisticaltests.Thispresentsanamusingsolutionifyouneedasmallquantityofrandomnumbers
-
http://svmlight.joachims.org
-
http://svmlight.joachims.org/
-
http://thereadershouldstudythecitedprogramsorrefer-ences.Thegoalofthismanualistogetyougoingintherightdirectionasquicklyaspossible.vi
-
http://typicallytitledDataStructuresorComputerScienceII.Afullsetoflectureslidesforteachingthiscourseareavailableonlineatwww.algorist.com
-
http://users.cecs.anu.edu.au/~bdm/nauty/
-
http://users.cecs.anu.edu.au/~bdm/nauty/.BrendanMcKayalsocollectsexhaustivecatalogsofseveralfamiliesofgraphsandtreesathttp://cs.anu.edu.au/~bdm/data/.TheHouseofGraphshttps://hog.grinvin.org/isacarefullycuratedsetofgraphswithinterestingproperties,designedtobreakconjectures[BCGM13].NijenhuisandWilf[NW78]provideecientFortranroutinestoenumeratealllabeledtreesviaPr�ufercodesandtoconstructrandomunlabeledrootedtrees.SeeSection22.1.9
-
http://users.tkk.fi/~pat/cliquer.html
-
http://users.tkk.fi/~pat/cliquer.html.Programsfor�ndingcliquesandindependentsetsweresoughtfortheSec-ondDIMACSImplementationChallenge[JT96].Programsanddatafromthechallengecanbeobtainedfromhttp://dimacs.rutgers.edu/archive/Challenges/.dfmax.cimplementsasimple-mindedbranch-and-boundalgo-rithmsimilarto[CP90].dmclique.cusesa�semi-exhaustivegreedy�schemefor�ndinglargeindependentsetsfrom[JAMS91].KreherandStinson[KS99]providebranch-and-boundprogramsinCfor�ndingthemaximumcliqueusingavarietyoflower-bounds,availableathttp://www.math.mtu.edu/~kreher/cages/Src.html.GOBLIN
-
http://webdocs.cs.ualberta.ca/~joe/Coloring/
-
http://webdocs.cs.ualberta.ca/~joe/Coloring/,providesanextensivebibliographyandprogramstogener-ateandsolvehardgraphcoloringinstances.MichaelTrick�spage,https://mat.tepper.cmu.edu/COLOR/color.html,providesaniceoverviewofgraph-coloringapplications,anannotatedbibliography,andacollectionofoverseventygraph-coloringinstancesarisinginapplicationssuchasregisterallocationandprintedcircuitboardtesting.BothincludeaClanguageimplementationoftheDSATURcoloringalgorithm.Programsforthecloselyrelatedproblemsof�ndingcliquesandvertexcol-oringgraphsweresoughtforattheSecondDIMACSImplementationChallenge[JT96],heldinOctober1993.Programsanddatafromthechallengeareacces-siblefromhttp://dimacs.rutgers.edu/Challenges.TheC++BoostGraphLibrary[SLL02]
-
http://wias-berlin.de/software/tetgen/
-
http://www-cs-faculty.stanford.edu/~knuth/sgb.html
-
http://www-cs-faculty.stanford.edu/~knuth/sgb.html.AlthoughtheGraphBaseisfuntoplaywith,itisnotreallysuitedforbuild-inggeneralapplicationsontopof.TheGraphBaseisperhapsmostusefulasaninstancegeneratorforconstructingawidevarietyofgraphstoserveastestdata.22.1.8CombinatoricaCombinatorica[PS03]isacollectionofover450algorithmsforcombinatoricsandgraphtheorywritteninMathematica.Combinatoricahasbeenwidelyusedforbothresearchandeducation.Although
-
http://www-csc.uvic.ca/home/fruskey/cgi-bin/html/main.html
-
http://www-csc.uvic.ca/home/fruskey/cgi-bin/html/main.html,2003.[RW09]FrankRuskeyandAaronWilliams.Thecoolestwaytogeneratecombi-nations.DiscreteMathematics,309
-
http://www.algorist.com
-
http://www.avglab.com/andrew/soft.html
-
http://www.avglab.com/andrew/soft.html.
-
http://www.avglab.com/andrew/soft.html.Inparticular,MLBisaC++shortpathimplementationfornon-negative,integer-weightededges.See[Gol01]fordetailsofthealgorithmanditsimplementation.Itsrunningtimeistypicallyonlyfouror�vetimesthatofabreadth-�rstsearch,anditiscapableofhandlinggraphswithmillionsofvertices.High-performanceCimplementationsofbothDijkstraandBellman�Fordarealsoavailable.AlltheC++andJavagraphlibrariesdiscussedinSection15.4
-
http://www.avglab.com/andrew/soft.html.MostofthegraphdatastructurelibrariesofSection18.1
-
http://www.avglab.com/andrew/soft.html.TheC++BoostGraphLibrary[SLL02]
-
http://www.biojava.org
-
http://www.biojava.org/
-
http://www.boost.org
-
http://www.boost.org/doc/html/string_algo.html
-
http://www.boost.org/libs/graph
-
http://www.boost.org/libs/graph/
-
http://www.boost.org/libs/graph/doc
-
http://www.cacr.math.uwaterloo.ca/hac/
-
http://www.cgal.org
-
http://www.cgal.org/
-
http://www.cgal.org/.621�
-
http://www.claymath.org/
-
http://www.claymath.org/formoreontheproblemandtheprize.Karp[Kar72]showedtheimportanceofCook�sresultbyprovidingreduc-tionsfromsatis�abilitytomorethantwentyimportantalgorithmicproblems.IrecommendKarp�spaperforitssheerbeautyandeconomy�hecondenseseachreductiontothreelinedescriptionsshowingtheproblemequivalence.To-gether,theseprovidedthetoolstoresolvethecomplexityofliterallyhundredsofimportantproblemswherenoecientalgorithmswereknown.ThebestintroductiontothetheoryofNP-completenessremainsGareyandJohnson�sbookComputersandIntractability[GJ79].Itintroducesthegeneraltheory,includinganaccessibleproofofCook�stheorem[Coo71]thatsatis�abil-ityisashardasanythinginNP.Theyalsoprovideanessentialreferencecatalogofmorethan300NP-completeproblems,whichisagreatresourceforlearn-ingwhatisknownaboutthemostinterestinghardproblems.ThereductionsclaimedbutomittedfromthischaptercanbefoundinGareyandJohnson,ortextbookslikeCormenetal.[CLRS09].FactorMan[Gin18]isanexcitingnovelaboutamanwhodiscoversapolynomial-
-
http://www.coin-or.org/
-
http://www.coin-or.org/.Finally,theGNULinearProgrammingKit
-
http://www.combinatorica.com
-
http://www.cosy.sbg.ac.at/~held/projects/vroni/vroni.html
-
http://www.cosy.sbg.ac.at/~held/projects/vroni/vroni.html.OtherprogramsforconstructingVoronoidiagramsarediscussedinSection20.4
-
http://www.cs.arizona.edu/~kece/Research/software.html
-
http://www.cs.cmu.edu/~quake/robust.html
-
http://www.cs.cmu.edu/~quake/robust.html.Notes:O�Rourke[O�R01]providesanimplementation-orientedintroductiontocom-putationalgeometrythatstressesrobustgeometricprimitives.Itisrecommendedreading.LEDA[MN99]providesanotherexcellentrolemodel.Yap[SY18]givesanexcellentsurveyontechniquesforachievingrobustgeometriccomputation,includinganavailablebookdraft[MY07].Kettner,etal.[KMP+04]providesgraphicevidenceofthetroublesthatcanarisewhenemployingrealarithmeticingeometricalgorithmsforconvexhull.Controlledperturbation[MOS11]isamorerecentapproachforrobustcomputation.Shewchuk[She97]andFortuneandvanWyk[FvW93]presentcarefulstudiesonthecostsofusingarbitrary-precisionarithmeticforgeometriccomputation.Bybeingcarefulaboutwhentouseit,reasonableeciencycanbemaintainedwhileachievingcompleterobustness.Relatedproblems:Intersectiondetection
-
http://www.cs.cmu.edu/~quake/triangle.html
-
http://www.cs.cmu.edu/~quake/triangle.html.Fortune�sSweep2isawidelyusedtwo-dimensionalcodeforVoronoidiagramsandDelaunaytriangulations,writteninC.Thiscodemaybesimplertoworkwith,ifallyouneedistheDelaunaytriangulationofpointsintheplane.ItisbasedonFortune�ssweeplinealgorithm[For87]forVoronoidiagramsandisavailablefromNetlib
-
http://www.cs.fiu.edu/~weiss/
-
http://www.cs.stonybrook.edu/~skiena
-
http://www.cs.stonybrook.edu/~skienaAugust2020viiiPREFACE
-
http://www.cs.umd.edu/~mount/ANN/
-
http://www.cs.umd.edu/~mount/ANN/.Itisthe�rstcodeIwouldturntofornearest-neighborsearch.Annoy
-
http://www.cse.ohio-state.edu/~tamaldey/cocone.html
-
http://www.csit.upei.ca/~ccampeanu/Grail/
-
http://www.csit.upei.ca/~ccampeanu/Grail/,aswellaspointerstoavarietyofotherautomatonpackages.TheOpenFstLibrary
-
http://www.diku.dk/~pisinger/codes.html
-
http://www.fastmmw.com
-
http://www.fftw.org/
-
http://www.fftw.org/.FFTPACKisapackageofFortransubprogramsforthefastFouriertrans-formofperiodicandothersymmetricsequences,writtenbyP.Swartzrauber.Itincludescomplex,real,sine,cosine,andquarter-wavetransforms.FFTPACKresidesathttp://www.netlib.org/fftpack.TheGNUScienti�cLibraryforC/C++providesare-implementationofFFTPACK.Seehttp://www.gnu.org/software/gsl/.Notes:Bracewell[Bra99]andBrigham[Bri88]areexcellentintroductionstoFouriertransformsandtheFFT.Seealsotheexpositionin[PFTV07].CreditforinventingthefastFouriertransformisusuallygiventoCooleyandTukey[CT65],butsee[Bri88]foracompletehistory.Acache-obliviousalgorithmforthefastFouriertransformisgivenin[FLPR99].Thispaper�rstintroducedthenotionofcache-obliviousalgorithms.TheFFTWisbasedonthisalgorithm.See[FJ05]formoreonthedesignoftheFFTW.Fasteralgorithmsareknownforthecasewhereweseekonlytheklargestcoecientsofthetransform,whenkn[HIKP12].Aninterestingdivide-and-conqueralgorithmforpolynomialmultiplication[KO63]doesthejobinO
-
http://www.geosteiner.com/
-
http://www.geosteiner.com/.ThisisalmostcertainlythebestcodeforgeometricSteinertreeinstances.Steinertreealgorithmswerethesubjectofthe11thDIMACSImplementa-tionChallenge,heldinDecember2014.Implementationsofecientalgorithmsfor�ndingshortestpathswerediscussed.Thepapers,instances,andimplemen-tationsareavailableathttp://dimacs.rutgers.edu/programs/challenge/.FLUTE
-
http://www.gnu.org/software/coreutils/
-
http://www.gnu.org/software/coreutils/.Therearealsocommercialvendorsofhigh-performanceexternalsortingprograms,includingCosort
-
http://www.gnu.org/software/glpk/
-
http://www.gnu.org/software/glpk/.Benchmarkstudies[GAD+13,MT12]agreethatcommercialsolversperformmuchbetterthanopencodes.ButtheyaresplitastowhetherCLPorGLPKisthebetterchoice.Readthereportsfordetails.
-
http://www.gnu.org/software/gsl/
-
http://www.graphdrawing.org/
-
http://www.graphdrawing.org/.Perusingavolumeofthepro-ceedingswillprovideagoodviewofthestate-of-the-artandofwhatkindsofideaspeoplearethinkingabout.TheHandbookofGraphDrawingandVisualization[Tam13]isthemostcomprehensivereviewofthe�eld.Twoexcellentbooksongraph-drawingalgorithmsareBattistaetal.[BETT99]andKaufmannandWagner[KW01].AthirdbookbyJ�ungerandMutzel[JM12]isorganizedaroundsystemsinsteadofalgorithms,butprovidestechnicaldetailsaboutthedrawingmethodseachsystememploys.Map-labelingheuristicsaredescribedin[BDY06,WW95].Graphembeddingsencodethestructuralinformationassociatedwitheachvertexasashortvector,providingusefulfeaturesformachinelearningmodels.Suchatwo-orthree-dimensionalembeddingcanbeinterpretedasvertexpositionsforadrawing,althoughd=128ismoretypicalformachinelearning.OurownDeepWalk[PARS14]isaverypopularapproachforconstructinggraphembeddings.See[CPARS18]forasurveyofthis�eld.t-SNE[MH08]isawidelyusedmethodtoprojecthigherdimen-sionalpointsets
-
http://www.graphviz.org
-
http://www.hackerrank.com/challenges/ctci-recursive-staircase/10-2.https://www.hackerrank.com/challenges/coin-change/10-3.https://www.hackerrank.com/challenges/longest-increasing-subsequent/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:10-1.�IsBiggerSmarter?��Chapter11,problem10131.10-2.�WeightsandMeasures��Chapter11,problem10154.10-3.�UnidirectionalTSP��Chapter11,problem116.10-4.�CuttingSticks��Chapter11,problem10003.10-5.�FerryLoading��Chapter11,problem10261.
-
http://www.hackerrank.com/challenges/unique-divide-and-conquer5-2.https://www.hackerrank.com/challenges/kingdom-division/5-3.https://www.hackerrank.com/challenges/repeat-k-sums/ProgrammingChallengesTheseprogrammingchallengeproblemswithrobotjudgingareavailableathttps://onlinejudge.org:5-1.�PolynomialCoecients��Chapter5,problem10105.5-2.�Counting��Chapter6,problem10198.5-3.�ClosestPairProblem��Chapter14,problem10245.
-
http://www.harold.thimbleby.net/cpp/index.html
-
http://www.harold.thimbleby.net/cpp/index.html.JGraphT
-
http://www.icir.org/christian/libstree/
-
http://www.icir.org/christian/libstree/.StrmatisacollectionofCprogramsimplementingex-actpatternmatchingalgorithmsinassociationwithGus�eld[Gus97],including
-
http://www.iri.com
-
http://www.iro.umontreal.ca/~lecuyer/myftp/streams00/
-
http://www.jflap.org/
-
http://www.jflap.org/.Arelatedbook[RF06]isalsoavailable.Notes:Aho[Aho90]providesagoodsurveyonalgorithmsforpatternmatching,withaparticularlyclearexpositionforregularexpressionpatterns.Thetechniqueforregularexpressionpatternmatchingwith
-
http://www.jjj.de/fxt/
-
http://www.jjj.de/fxt/.KreherandStinson[KS99]generatebothintegerandsetpartitionsinlexicographicorder,includ-ingranking/unrankingfunctions.TheseimplementationsinCareavailableathttp://www.math.mtu.edu/~kreher/cages/Src.html.TheCombinatorialObjectServer
-
http://www.jjj.de/fxt/.TheCombinatorialObjectServer
-
http://www.labri.fr/perso/pelegrin/scotch/
-
http://www.lsi.upc.edu/~jpetit/MinLA/Experiments/
-
http://www.lsi.upc.edu/~valiente/algorithm/
-
http://www.lsi.upc.edu/~valiente/algorithm/.KreherandStinson[KS99]computeisomorphismsofgraphsinadditiontomoregeneralgroup-theoreticoperations.TheseimplementationsinCareavailableathttp://www.math.mtu.edu/~kreher/cages/Src.html.Notes:Graphisomorphismisanimportantproblemincomputationalcomplexitytheorybecauseofitsrareopencomplexitystatus.Thefeel-goodalgorithmstoryof2015wasLazloBabai�sannouncementofaquasi-polynomial
-
http://www.math.lsa.umich.edu/~barvinok/code.html
-
http://www.math.lsa.umich.edu/~barvinok/manual.html
-
http://www.math.lsa.umich.edu/~barvinok/manual.html.Thesecond,basedon[SB01],canprovideestimatesofthepermanentof200�200matricesinseconds.Seehttp://www.math.lsa.umich.edu/~barvinok/code.html.Notes:Cramer�srulereducestheproblemsofmatrixinversionandsolvinglin-earsystemstothatofcomputingdeterminants.However,algorithmsbasedonLU-decompositionarefaster.See[BM53]foranexpositiononCramer�srule.Determinantscanbecomputedino
-
http://www.math.mtu.edu/~kreher/cages/Src.html
-
http://www.math.mtu.edu/~kreher/cages/Src.html.Notes:Extensiveliteratureexistsongeneratinggraphsuniformlyatrandom.Sur-veysinclude[Gol93,Tin90].FastrandomgraphgenerationonGPUsisdemonstratedin[NLKB11].Closelyrelatedtotheproblemofgeneratingclassesofgraphsiscountingthem.HararyandPalmer[HP73]surveyresultsingraphicalenumeration.Knuth[Knu11]isthebestrecentreferenceongeneratingtrees.Thebijectionbetweenn�2stringsandlabeledtreesisduetoPr�ufer[Pr�u18].Randomgraphtheoryisconcernedwiththepropertiesofrandomgraphs.Thresh-oldlawsinrandomgraphtheoryde�netheedgedensityatwhichpropertiessuchasconnectednessbecomehighlylikelytooccur.Expositionsonrandomgraphtheoryinclude[Bol01,FK15,JLR00].Thepreferentialattachmentmodelofgraphicalevolutionhasemergedrelativelyrecentlyinthestudyofnetworks.See[Bar03,Wat04]forintroductionstothisexciting�eld.Methodsforgeneratinggraphswithprescribeddegreesequencesarepresentedin[BD11,VL05].Anintegerpartitionisgraphicifthereexistsasimplegraphwiththatdegreesequence.ErdosandGallai[EG60]provedthatadegreesequenceisgraphicifandonlyifthesequenceobservesthefollowingconditionforeachintegerr
-
http://www.math.uwaterloo.ca/tsp
-
http://www.math.uwaterloo.ca/tsp.Itistheclearchoice
-
http://www.math.uwaterloo.ca/tsp/concorde
-
http://www.math.uwaterloo.ca/tsp/concorde.ItistheclearchoiceamongavailableTSPcodes.AneectiveprogramforsolvingHamiltoniancycleproblemsresultedfromthemastersthesisofVandegriend[Van98].Boththecodeandthethesisareavailablefromhttps://webdocs.cs.ualberta.ca/~joe/Theses/vandegriend.html.LodiandPunnen[LP07]puttogetheranexcellentsurveyofavailableTSPsoftware,includingthespecialcaseofHamiltoniancycle.Linkstotheprograms
-
http://www.math.uwaterloo.ca/tsp/data
-
http://www.math.uwaterloo.ca/tsp/data.�StanfordGraphBase�AsdiscussedinSection22.1.7,thissuiteofprogramsbyKnuthprovidesportablegeneratorsforawidevarietyofgraphs.Theseincludegraphsarisingfromdistancematrices,arts,andliterature,aswellasgraphsofmoretheoreticalinterest.22.3OnlineBibliographicResourcesThewebisafantasticresourceforpeopleinterestedinalgorithms.WhatfollowsisaselectivelistoftheresourcesthatIusemostoften.Allshouldbeinthetoolchestofeveryalgorist:�GoogleScholar�Thisfreeresource
-
http://www.math.uwaterloo.ca/~bico//jobshop/
-
http://www.math.uwaterloo.ca/~bico//jobshop/.UniTime
-
http://www.math.uwaterloo.ca/~bico//software.html
-
http://www.math.uwaterloo.ca/~bico//software.html.AnO
-
http://www.nada.kth.se/~viggo/problemlist/
-
http://www.netlib.org/fftpack
-
http://www.netlib.org/voronoi/hull.html
-
http://www.netlib.org/voronoi/hull.html.
-
http://www.nowpublishers.com/,NowPublishers,2005.[YLDF16]MingheYu,GuoliangLi,DongDeng,andJianhuaFeng.Stringsimilaritysearchandjoin:asurvey.FrontiersofComputerScience,10
-
http://www.ogdf.net
-
http://www.openfst.org
-
http://www.openfst.org/
-
http://www.or.deis.unibo.it/kp.html
-
http://www.or.deis.unibo.it/kp.html.Anelectroniccopyof[MT90a]hasalsobeengenerouslymadeavailable.DavidPisingermaintainsawell-organizedcollectionofC-languagecodesforknapsackproblemsandrelatedvariantslikebinpackingandcontainerloading.Theseareavailableathttp://www.diku.dk/~pisinger/codes.html.A�rststeptowardspackingarbitraryshapespackseachinitsownmini-mumvolumebox.Foracodeto�ndanapproximationtotheoptimalpack-ing,seehttps://sarielhp.org/research/papers/00/diameter/diam_prog.html.Thisalgorithmrunsinnear-lineartime[BH01].Notes:See[CJCG+13,CKPT17,DIM16,WHS07]forsurveysoftheextensivelit-eratureonbinpackingandthecuttingstockproblem.Keller,Pferschy,andPsinger[KPP04]isasolidreferenceontheknapsackproblemandvariants.Experimentalresultsonbin-packingheuristicsinclude[BJLM83,MT87].Ecientalgorithmsareknownfor�ndingthelargestemptyrectangleinapolygon[DMR97]andpointset[CDL86].Spherepackingisanimportantandwell-studiedspecialcaseofbinpacking,withapplicationstoerror-correctingcodes.Particularlynotoriouswasthe�Keplerconjecture��theproblemofestablishingthedensestpackingofunitspheresinthreedimensions.Thisconjecturewas�nallysettledbyHalesandFergusonin1998;see[Szp03]foranexposition.ConwayandSloane[CS93]isthebestreferenceonspherepackingandrelatedproblems.Milenkovichasworkedextensivelyontwo-dimensionalbin-packingproblemsfortheapparelindustry,minimizingtheamountofmaterialneededtomanufacturepantsandotherclothing.Reportsofthisworkinclude[DM97,Mil97].Relatedproblems:Knapsackproblem
-
http://www.or.deis.unibo.it/kp.html.Anelectroniccopyoftheassociatedbook[MT90a]hasalsobeengenerouslymadeavailable.DavidPisingermaintainsawell-organizedcollectionofC-languagecodesforknapsackproblemsandrelatedvariantslikebinpackingandcontainerload-ing.Theseareavailableathttp://www.diku.dk/~pisinger/codes.html.Thestrongestcodeisbasedonthedynamicprogrammingalgorithmof[MPT99].Algorithm632[MT85]oftheCollectedAlgorithmsoftheACMisaFortrancodeforthe0/1knapsackproblem,withthetwistthatitsupportsmultipleknapsacks.SeeSection22.1.4
-
http://www.ordinal.com
-
http://www.qhull.org/
-
http://www.qhull.org/.AnotherchoiceisKenClarkson�sconvex-hullcode,Hull,availableathttps://www.netlib.org/voronoi/hull.html.Notes:VoronoidiagramswerestudiedbyDirichletin1850andaresometimesre-ferredtoasDirichlettessellations.TheyarenamedafterG.Voronoi,whodiscussedthemina1908paper.Inmathematics,conceptsgetnamedafterthelastpersontodiscoverthem.Twobooks[AKL13,OBSC00]oeracompletetreatmentofVoronoidiagramsandtheirapplications.Fortune[For18]providesanexcellentsurveyonVoronoidiagramsandassociatedvariantssuchaspowerdiagrams.The�rstO
-
http://www.qhull.org/.AnotherchoiceisKenClarkson�shigher-dimensionalconvex-hullcode,Hull,availableathttps://www.netlib.org/voronoi/hull.html.Notes:Chazelle[Cha91]gavealinear-timealgorithmfortriangulatingasimplepolygon,whichwasanimportanttheoreticalresultbecausetriangulationservedasthebottleneckformanyothergeometricalalgorithms.Chazelle�salgorithmissucientlyhopelesstoimplementthatitquali�esmoreasanexistenceproof,butasimplerrandomizedalgorithmisknown[AGR01].The�rstO
-
http://www.qhull.org/.O�Rourke[O�R01]providesarobustimplementationoftheGrahamscanintwodimensionsandanO
-
http://www.random.org
-
http://www.reduce-algebra.com
-
http://www.reduce-algebra.com/
-
http://www.research.att.com/njas/maxvolumes/,2007.[HSS18]D.Halperin,O.Salzman,andM.Sharir.Algorithmicmotionplanning.InJ.Goodman,J.O�Rourke,andC.Toth,editors,HandbookofDiscreteandComputationalGeometry,pages1311�1343.CRCPress,2018.[HSWW05]M.Holzer,F.Schultz,D.Wagner,andT.Willhalm.Combiningspeed-uptechniquesforshortest-pathcomputations.ACMJ.ofExperimentalAlgorithmics,10,2005.[HT73a]J.HopcroftandR.Tarjan.Dividingagraphintotriconnectedcompo-nents.SIAMJ.Computing,2:135�158,1973.[HT73b]J.HopcroftandR.Tarjan.Ecientalgorithmsforgraphmanipulation.CommunicationsoftheACM,16:372�378,1973.[HT74]J.HopcroftandR.Tarjan.Ecientplanaritytesting.J.ACM,21:549�568,1974.[HT84]D.HarelandR.E.Tarjan.Fastalgorithmsfor�ndingnearestcommonancestors.SIAMJ.Comput.,13:338�355,1984.[Hub06]M.Huber.Fastperfectsamplingfromlinearextensions.Disc.Math.,306:420�428,2006.[Huf52]D.Human.Amethodfortheconstructionofminimum-redundancycodes.Proc.oftheIRE,40:1098�1101,1952.
-
http://www.rsa.com/rsalabs/
-
http://www.rsa.com/rsalabs/isveryinformative.Quantumtechnologiesleadtonewsecureencryptionmethods[BB14],andalsonewwaystobreakwhatwealreadyhave.Post-quantumcryptographyisanareaofactiveresearch[CJL+16].Ofcourse,theNationalSecurityAgencyistheplacetogotolearntherealstateoftheartincryptography.ThehistoryofDESiswellpresentedinSchneier[Sch15].ParticularlycontroversialwasthedecisionbytheNSAtolimitkeylengthto56bits.MD5[Riv92]isthehashingfunctionusedbyPGPtocomputedigitalsignatures.Expositionsinclude[Sch15,Sta06].ProblemswiththesecurityofMD5havebeenexposed[WY05].TheSHAfamilyofhashfunctionsappearsmoresecure,particularlySHA-256andSHA-512.Relatedproblems:Factoringandprimalitytesting
-
http://www.satcompetition.org
-
http://www.satcompetition.org/
-
http://www.satlive.org
-
http://www.satlive.org/
-
http://www.shoup.net/ntl/
-
http://www.shoup.net/ntl/.Finally,MIRACL
-
http://www.springer.com/series/3191
-
http://www.stern.nyu.edu/om/software/lekin
-
http://www.syncsort.com
-
http://www.tgries.de/agrep/
-
http://www.tgries.de/agrep/.Navarro�snrgrep[Nav01b]combinesbit-parallelismand�l-tration,resultinginrunningtimesthataremoreconstantthanagrep,althoughnotalwaysfaster.Itisavailableathttps://www.dcc.uchile.cl/~gnavarro/software/.TREisageneralregular-expressionmatchinglibraryforexactandapprox-imatematching,whichismoregeneralthanagrep.Theworst-casecomplexityisO
-
http://www.tomsawyer.com
-
http://www.yworks.com
-
https://algs4.cs.princeton.edu/
-
https://algs4.cs.princeton.edu/code/
-
https://arxiv.org/
-
https://bibiserv.cebitec.uni-bielefeld.de/bpr/
-
https://bibiserv.cebitec.uni-bielefeld.de/bpr/.NolessthaneightdierentC/C++implementationsofcompressedtextindexesappearatthePizza&Chilicorpushttp://pizzachili.dcc.uchile.cl/.Thesedatastructuresgotogreatlengthstominimizespaceusage,typicallycompressingtheinputstringtoneartheempiricalentropywhilestillachievingexcellentquerytimes!Suxtreeimplementationsarealsoreadilyavailable.ASuffixTreeclassisprovidedinBioJava
-
https://cfwebprod.sandia.gov/cfdocs/CompResearch/templates/insert/softwre.cfm?sw=36
-
https://cfwebprod.sandia.gov/cfdocs/CompResearch/templates/insert/softwre.cfm?sw=36.TheTenthDIMACSChallenge
-
https://cs.smith.edu/~orourke/books/compgeom.html
-
https://cs.smith.edu/~orourke/books/compgeom.html.�PreparataandShamos[PS85]�Althoughsomewhatoutofdate,thisbookremainsagoodgeneralintroductiontocomputationalgeometry,stressingalgorithmsforconvexhulls,Voronoidiagrams,andintersectiondetection.�Goodman,O�Rourke,andToth[TOG18]�Thisrecentcollectionofsurveyarticlesprovidesadetailedoverviewofwhatisknowninalmosteverysub�eldofdiscreteandcomputationalgeometry.TheleadingconferenceincomputationalgeometryistheACMSymposiumonComputationalGeometry,heldannuallyinlateMayorearlyJune.Thereisagrowingbodyofimplementationsofgeometricalgorithms.Wepointoutspeci�cimplementationswhereapplicableinthecatalog,butthereadershouldde�nitelybeawareofCGAL
-
https://csrc.nist.gov/projects/random-bit-generation/documentation-and-software
-
https://directory.fsf.org/project/grep/
-
https://directory.fsf.org/project/grep/,andusesafastlazy-statedeterministicmatcherhybridizedwithaBoyer�Mooresearchfor�xedstrings.TheBooststringalgorithmslibraryprovidesC++routinesforbasicop-erationsonstrings,includingsearch.Seehttp://www.boost.org/doc/html/string_algo.html.Notes:Allbooksonstringalgorithmscontainthoroughdiscussionsofexactstringmatching,including[CHL07,NR07,Gus97].GoodexpositionsontheBoyer�Moore[BM77]andKnuth-Morris-Prattalgorithms[KMP77]include[BvG99,CLRS09,Man89].Thehistoryofstringmatchingalgorithmsissomewhatcheckeredbecauseseveralpub-lishedproofswereincorrectorincomplete.See[Gus97]forclari�cation.Aho[Aho90]providesagoodsurveyonalgorithmsforpatternmatchinginstrings,particularlyforregularexpressionpatterns.TheAho�Corasickalgorithmformultiplepatternsisdescribedin[AC75].Empiricalcomparisonsofstringmatchingalgorithmsinclude[DB86,Hor80,Lec95,dVS82,YLDF16].Whichalgorithmperformsbestdependsuponthepropertiesofthestringsandthesizeofthealphabet.Forlongpatternsandtexts,IrecommendthatyouusethebestimplementationofBoyer�Moorethatyoucan�nd.StringmatchingalgorithmsforGPUsareconsideredin[LLCC12].TheRabin�Karpalgorithm[KR87]usesahashfunctiontoperformstringmatchinginlinearexpectedtime.Itsworst-casetimeremainsquadratic,anditsperformanceinpracticeappearssomewhatworsethanthecharactercomparisonmethodsdescribedabove.ThisalgorithmispresentedinSection6.7
-
https://doi.org/10.1007/978-3-030-54256-62ndedition:�Springer-VerlagLondonLimited2008,Correctedprinting20123rdedition:�TheEditor
-
https://doi.org/10.1007/978-3-030-54256-6Springer
-
https://doi.org/10.1007/978-3-030-54256-6_10Springer
-
https://doi.org/10.1007/978-3-030-54256-6_11Springer
-
https://doi.org/10.1007/978-3-030-54256-6_12Springer
-
https://doi.org/10.1007/978-3-030-54256-6_13Springer
-
https://doi.org/10.1007/978-3-030-54256-6_14Springer
-
https://doi.org/10.1007/978-3-030-54256-6_15Springer
-
https://doi.org/10.1007/978-3-030-54256-6_16Springer
-
https://doi.org/10.1007/978-3-030-54256-6_17Springer
-
https://doi.org/10.1007/978-3-030-54256-6_18Springer
-
https://doi.org/10.1007/978-3-030-54256-6_19Springer
-
https://doi.org/10.1007/978-3-030-54256-6_1Springer
-
https://doi.org/10.1007/978-3-030-54256-6_20Springer
-
https://doi.org/10.1007/978-3-030-54256-6_21Springer
-
https://doi.org/10.1007/978-3-030-54256-6_22Springer
-
https://doi.org/10.1007/978-3-030-54256-6_2Springer
-
https://doi.org/10.1007/978-3-030-54256-6_3Springer
-
https://doi.org/10.1007/978-3-030-54256-6_4Springer
-
https://doi.org/10.1007/978-3-030-54256-6_5Springer
-
https://doi.org/10.1007/978-3-030-54256-6_6Springer
-
https://doi.org/10.1007/978-3-030-54256-6_7Springer
-
https://doi.org/10.1007/978-3-030-54256-6_8Springer
-
https://doi.org/10.1007/978-3-030-54256-6_9Springer
-
https://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Levenshtein_distance
-
https://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Levenshtein_distance.Notes:Therehavebeenmanyrecentadvancesinapproximatestringmatching,par-ticularlyinbit-parallelalgorithms.NavarroandRanot[NR07]isthebestreferenceonthesetechniques,whicharealsotreatedinotherbooksonstringalgorithmics[CHL07,Gus97].Stringmatchingwithgappenaltiesisparticularlywelltreatedin[Gus97].Thebasicdynamicprogrammingalignmentalgorithmisattributedto[WF74],althoughitisapparentlyfolklore.ThewiderangeofapplicationsforapproximatestringmatchingwasmadeapparentinSankoandKruskal�sbook[SK99],whichremainsausefulhistoricalreference.Surveysonapproximatepatternmatchinginclude[HD80,Nav01a].ExpositionsofHirschberg�slinear-spacealgorithm[Hir75]include[CR03,Gus97].MasekandPaterson[MP80]computetheeditdistancebetweenm-andn-lengthstringsintimeO
-
https://gams.nist.gov
-
https://github.com
-
https://github.com/
-
https://github.com/SkienaBooks/Algorithm-Design-Manual-Programs
-
https://github.com/anvaka/VivaGraphJS
-
https://github.com/coin-or/SYMPHONY
-
https://github.com/coin-or/SYMPHONY.Notes:Anoldbutclassicsurveyarticleonsetcoveris[BP76],withmorerecentapproximationandcomplexityanalysissurveyedin[Pas97].See[CFT99,CFT00]forextensivecomputationalstudiesofintegerprogramming-basedsetcoverheuristicsandexactalgorithms.Anexcellentexpositiononalgorithmsandreductionrulesforsetcoverispresentedin[SDK83].Goodexpositionsofthegreedyheuristicforsetcoverinclude[CLRS09,Hoc96].Anexampledemonstratingthatthegreedyheuristicforsetcovercanbeasbadaslgnispresentedin[Joh74,PS98].Thisisnotadefectoftheheuristic.Indeed,itisprovablyhardtoapproximatesetcovertowithinanapproximationfactorbetterthan
-
https://github.com/coin-or/SYMPHONY.Notes:Surveyarticlesonsetpackinginclude[BP76,HP09,Pas97].Alocalsearchheuristicforsetpackingispresentedin[SW13].Fixed-parametertractable[FKN+08]andonline[EHM+12]versionsofsetpackinghavealsobeenstudied.Biddingstrate-giesforcombinatorialauctionstypicallyreducetosolvingset-packingproblems,asdescribedin[dVV03].Set-packingrelaxationsforintegerprogramsarepresentedin[BW00].Anexcellentexpositiononalgorithmsandreductionrulesforsetpackingispresentedin[SDK83],includingtheairplaneschedulingapplicationdiscussedpreviously.Relatedproblems:Independentset
-
https://github.com/laurikari/tre/
-
https://github.com/laurikari/tre/.
-
https://github.com/miracl/MIRACL
-
https://github.com/miracl/MIRACL.Notes:ExpositionsonmodernalgorithmsforfactoringandprimalitytestingincludeCrandallandPomerance[CP05]andYan[Yan03].Moregeneralsurveysofcomputa-tionalnumbertheoryincludeBachandShallit[BS96]andShoup[Sho09].Agrawal,Kayal,andSaxena[AKS04]solvedalong-standingopenproblemgiv-ingthe�rstpolynomial-timedeterministicalgorithmtotestwhetheranintegeriscomposite.Theiralgorithmissurprisinglyelementaryforsuchanimportantresult,involvingacarefulanalysisoftechniquesfromearlierrandomizedalgorithms.Itsex-istenceservesassomewhatofarebuketoresearchers
-
https://github.com/spotify/annoy
-
https://github.com/spotify/annoy.Itisbasedonrandomprojectiontrees,anddesignedtosupportparallelprocessessharingthesamedata.Mystudentsswearbythesklearn.neighbors.BallTreeimplementationfornearest-neighborsearchinPython.Samet�sspatialindexdemos
-
https://github.com/spotify/annoy.Itisbasedonrandomprojectiontrees,anddesignedtosupportparallelprocessessharingthesamedata.Nearest-neighborsearchiscloselyconnectedtocircularrangesearch,sincethelargestemptycirclearoundapointde�nesitsnearestneighbor.Notes:Goodexpositionsondatastructureswithworst-caseO
-
https://github.com/wata-orz/fvs
-
https://github.com/wata-orz/fvsbyIwataandImanishi[Iwa16]won�rstplaceintheParameterizedAlgo-rithmsandComputationalExperimentsChallenge
-
https://hog.grinvin.org/
-
https://jgrapht.org
-
https://jgrapht.org/
-
https://leetcode.com
-
https://leetcode.com/
-
https://leetcode.com/problems/4sum/
-
https://leetcode.com/problems/binary-tree-cameras/
-
https://leetcode.com/problems/cheapest-flights-within-k-stops/
-
https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
-
https://leetcode.com/problems/count-of-range-sum/
-
https://leetcode.com/problems/count-of-smaller-numbers-after-self/
-
https://leetcode.com/problems/counting-bits/
-
https://leetcode.com/problems/course-schedule/
-
https://leetcode.com/problems/daily-temperatures/
-
https://leetcode.com/problems/edit-distance/
-
https://leetcode.com/problems/find-k-pairs-with-smallest-sums/
-
https://leetcode.com/problems/find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance/
-
https://leetcode.com/problems/implement-strstr/
-
https://leetcode.com/problems/longest-palindromic-substring/
-
https://leetcode.com/problems/maximum-product-of-splitted-binary-tree/
-
https://leetcode.com/problems/maximum-subarray/
-
https://leetcode.com/problems/median-of-two-sorted-arrays/
-
https://leetcode.com/problems/merge-k-sorted-lists/
-
https://leetcode.com/problems/minimum-height-trees/
-
https://leetcode.com/problems/network-delay-time/
-
https://leetcode.com/problems/number-of-squareful-arrays/
-
https://leetcode.com/problems/queue-reconstruction-by-height/
-
https://leetcode.com/problems/random-pick-with-blacklist/
-
https://leetcode.com/problems/random-point-in-non-overlapping-rectangles/
-
https://leetcode.com/problems/redundant-connection/
-
https://leetcode.com/problems/remove-invalid-parentheses/
-
https://leetcode.com/problems/remove-k-digits/
-
https://leetcode.com/problems/rotate-list/
-
https://leetcode.com/problems/smallest-sufficient-team/
-
https://leetcode.com/problems/sort-list/
-
https://leetcode.com/problems/split-array-with-same-average/
-
https://leetcode.com/problems/subsets/
-
https://leetcode.com/problems/target-sum/
-
https://leetcode.com/problems/validate-binary-search-tree/
-
https://leetcode.com/problems/wiggle-sort-ii/
-
https://leetcode.com/problems/word-break-ii/
-
https://leetcode.com/problems/word-search/
-
https://lvdmaaten.github.io/tsne/
-
https://lvdmaaten.github.io/tsne/.Itistrivialtospacenpointsevenlyalongtheboundaryofacircle.However,theproblemisconsiderablymoredicultonthesurfaceofasphere.SeeHardin,Sloane,andSmith[HSS07]forextensivetablesofsuchsphericalcodesforn
-
https://mat.tepper.cmu.edu/COLOR/color.html
-
https://neo4j.com
-
https://neo4j.com/
-
https://neos-server.org
-
https://netlib.org
-
https://netlib.org/
-
https://ompl.kavrakilab.org
-
https://ompl.kavrakilab.org/
-
https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=28
-
https://onlinejudge.org:3
-
https://pacechallenge.wordpress.com/track-b-feedback-vertex-set/
-
https://patatconference.org/
-
https://patatconference.org/.Relatedproblems:Topologicalsorting
-
https://paup.phylosolutions.com
-
https://paup.phylosolutions.com/
-
https://people.unipmn.it/manzini/bandmin
-
https://people.unipmn.it/manzini/bandmin.CapraraandSalazar-Gonz�alez[CSG05]developedimprovedmethodsbasedonintegerprogramming.Theirbranch-and-boundimplementationinCisavailableattheAlgorithmsRepository.FortranlanguageimplementationsofboththeCuthill-McKeealgorithm[CM69]andtheGibbs-Poole-Stockmeyeralgorithm[GPS76]areavailablefromNetlib.Empiricalevaluationsoftheseandotheralgorithmsonatestsuiteofthirtymatrices[Eve79],showGibbs�Poole�Stockmeyertobetheconsistentwinner.Petit[Pet03]performedanextensiveexperimentalstudyonheuristicsfortheminimumlineararrangementproblem.Hiscodesanddataareavailableathttp://www.lsi.upc.edu/~jpetit/MinLA/Experiments/.Notes:Diazetal.[DPS02]provideanexcellentsurveyonalgorithmsforbandwidthandrelatedgraphlayoutproblems.See[CCDG82]forgraph-theoreticandalgorithmicresultsonbandwidthminimization,upto1981.Adhocheuristicshavebeenwidelystudied�atributetoitsimportanceinnumericalcomputation.Everstine[Eve79]citesnolessthan49dierentbandwidthreductionalgorithms!Thehardnessofthebandwidthproblemwas�rstestablishedbyPapadimitriou[Pap76b],anditshardnessontreesofmaximumdegree3in[GGJK78].Therearealgorithmsthatruninpolynomialtimefor�xedbandwidthk[Sax80].Approxima-tionalgorithmsoeringapolylogarithmicguaranteeexistforthegeneralproblem[BKRV00,FL07],beyondwhichtheproblemishardtoapproximate[DFU11].Relatedproblems:Solvinglinearequations
-
https://portal.acm.org/
-
https://portal.acm.org/.�Arxiv�Thispreprintserverwithover1.6millionpapersiswherere-searchersdisseminateresultsbeforetheyareformallypublished�atwhichtimetheyareoutofdate.Thisistheplacetogoto�ndthelatestresearchonanytopicdiscussedinthisbook.Checkitoutathttps://arxiv.org/.22.4ProfessionalConsultingServicesAlgoristTechnologies
-
https://sarielhp.org/research/papers/00/diameter/diam_prog.html
-
https://scholar.google.com
-
https://scholar.google.com/
-
https://scikit-learn.org/
-
https://scikit-learn.org/,SVMlight
-
https://snap.stanford.edu/
-
https://snap.stanford.edu/.
-
https://snap.stanford.edu/data/
-
https://sourceforge.net/projects/wgs-assembler/
-
https://treevis.net/
-
https://treevis.net/,withanassociatedsurveypaper[Sch11].Treemapsareapopularmethodfordisplayinghierarchicaldatawherenodesarerepresentedbyrectangles,andthesubtreesarenestedwithintheirparent[JS91].Heuristicsfortreelayouthavebeenstudiedbyseveralresearchers,withBuchheim,etal.[BJL06]re�ectiveofthestateoftheart.Undercertainaestheticcriteria,theproblemisNP-complete[SR83].Certaintreelayoutalgorithmsarisefromnon-drawingapplications.ThevanEmdeBoaslayoutofabinarytreeoersbetterexternalmemoryperformancethanconven-tionalbinarysearch,atacostofgreatercomplexity.SeethesurveyofArgeetal.[ABF05]formoreonthisandothercache-obliviousdatastructures.Relatedproblems:Drawinggraphs
-
https://twitter.com/StevenSkiena
-
https://web.cs.ucdavis.edu/~amenta/powercrust.html
-
https://web.cs.ucdavis.edu/~amenta/powercrust.html.CGAL
-
https://web.cs.ucdavis.edu/~amenta/powercrust.html.Notes:ThebookbySiddiqiandPizer[SP08]oersacomprehensivetreatmentofmedialrepresentationsandalgorithms.Surveysofthinningapproachesinim-ageprocessingandcomputergraphics,include[LLS92,Ogn93,SBdB16,TDS+16].Themedial-axistransformationwasintroducedforshapesimilaritystudiesinbiology[Blu67].Computationaltopologyisanemerging�eldfortheformalanalysisofshape:seethebookbyEdelsbrunnerandHarer[EH10].Goodexpositionsonthemedial-axistransforminclude[dBvKOS08,O�R01,Pav82].Themedial-axisofapolygoncanbecomputedinO
-
https://web.cs.ucdavis.edu/~gusfield/strmat.html
-
https://web.cs.ucdavis.edu/~gusfield/strmat.html.Notes:Trieswere�rstproposedbyFredkin[Fre62],thenamecomingfromthecentrallettersoftheword�retrieval.�AsurveyofbasictriedatastructureswithextensivereferencesappearsinGonnetandBaeza-Yates[GBY91].EcientalgorithmsforsuxtreeconstructionareduetoWeiner[Wei73],Mc-Creight[McC76],andUkkonen[Ukk92].Goodexpositionsonthesealgorithmsin-cludeCrochmoreandRytter[CR03]andGus�eld[Gus97].Theinterestingforty-yearhistoryofsuxtreesisrecountedinApostolicoetal.[ACFC+16].SuxarrayswereinventedbyManberandMyers[MM93],althoughanequiv-alentideacalledPattreesduetoGonnetandBaeza-Yatesappearsin[GBY91].Threeteamsindependentlyemergedwithlinear-timesuxarrayalgorithmsin2003[KSPP03,KA03,KSB06],andprogresshascontinuedrapidly.SeePuglisietal.[PST07]forasurveycoveringallthesedevelopments.Recentworkhasresultedinthedevelopmentofcompressedfulltextindexesthatoeressentiallyallthepowerofsuxtrees/arraysinadatastructurewhosesizeisproportionaltothecompressedtextstring.MakinenandNavarro[MN07]surveytheseremarkabledatastructures.Thepowerofsuxtreescanbefurtheraugmentedbyusingadatastructuretocomputetheleastcommonancestor
-
https://webdocs.cs.ualberta.ca/~joe/Theses/vandegriend.html
-
https://www.acm.org/calgo/
-
https://www.acm.org/calgo/andatNetlib.Almost1,000algorithmshaveappearedtodate.MostofthecodesareinFortranandarerelevanttonumericalcomputing,althoughseveralinterestingcombinatorialalgorithmshaveslitheredtheirwayintoCALGO.Sincetheim-plementationshavebeenrefereed,theyarepresumablymorereliablethanmostcomparablesoftware.22.1.6GitHubandSourceForgeWithover28millionpublicrepositories,thesoftwaredevelopmentplatformGitHub
-
https://www.agner.org/random
-
https://www.agner.org/randomforanexcellentweb-siteonrandom-numbergeneration,includingpointerstopapersandmanyim-plementationsofrandom-numbergenerators.Parallelsimulationsmakespecialdemandsonrandom-numbergenerators.Howcanweensurethatrandomstreamsareindependentoneachmachine?L�Ecuyeret.al[LSCK02]providesobject-orientedgeneratorswithaperiodlengthofapproximately2191.ImplementationsinC,C++,andJavaareavailableathttp://www.iro.umontreal.ca/~lecuyer/myftp/streams00/.Independentstreamsofrandomnumbersaresupportedforparallelapplications.AnotherpossibilityistheScalableParallelRandomNumberGeneratorsLibrary
-
https://www.algorithmic-solutions.com
-
https://www.algorithmic-solutions.com/
-
https://www.boost.org/doc/libs/1_70_0/doc/html/date_time.html
-
https://www.boost.org/doc/libs/1_70_0/doc/html/date_time.html.TheclassGregorianCalendarderivedfromtheab-stractsuperclassCalendarinthepackagejava.utilimplementstheGregoriancalendarinJava.Eitherofthesewilllikelysuceformostapplications.DershowitzandReingoldprovideauniformalgorithmicpresentation[RD18]foravarietyofdierentcalendarsystems,includingtheGregorian,ISO,Chi-nese,Hindu,Islamic,andHebrewcalendars,aswellasothercalendarsofhistor-icalinterest.CalendricalisanimplementationofthesecalendarsinCommonLisp,Java,andMathematica,withroutinestoconvertdatesbetweencalendars,dayoftheweekcomputations,andthedeterminationofsecularandreligiousholidays.Calendricalislikelytobethemostcomprehensiveandreliablecalen-dricalroutinesavailable.Seetheirwebsiteathttp://calendarists.com.CandJavaimplementationsofinternationalcalendarsofunknownreliabilityarereadilyavailableatGitHub
-
https://www.boost.org/libs/crc/
-
https://www.cc.gatech.edu/dimacs10/
-
https://www.cgal.org
-
https://www.cgal.org/
-
https://www.codeproject.com/Articles/1711/A-C-implementation-of-Douglas-Peucker-Line-Approxi
-
https://www.codeproject.com/Articles/1711/A-C-implementation-of-Douglas-Peucker-Line-Approxi.QSlimisaquadric-basedsimpli�cationalgorithmthatcanproducehigh-qualityapproximationsoftriangulatedsurfacesquiterapidly.Itisavailableathttp://mgarland.org/software/qslim.html.Yetanotherapproachtopolygonalsimpli�cationisbasedonsimplifyingandexpandingthemedial-axistransformofthepolygon.Themedial-axistrans-form
-
https://www.cryptopp.com/
-
https://www.cs.brandeis.edu/~dcc/
-
https://www.cs.stonybrook.edu/~skiena/392/programs/
-
https://www.cs.stonybrook.edu/~skiena/392/programs/,andhttps://github.com/SkienaBooks/Algorithm-Design-Manual-Programs.�CombinatorialAlgorithmsforComputersandCalculators�NijenhuisandWilf[NW78]specializesinalgorithmsforconstructingbasiccombinatorialobjectssuchaspermutations,subsets,andpartitions.Suchalgorithms
-
https://www.cs.tau.ac.il/~efif/CD/
-
https://www.cs.tau.ac.il/~efif/CD/.Notes:GoodexpositionsonalgorithmsforMinkowskisumsinclude[dBvKOS08,O�R01].ThefastestalgorithmsforvariouscasesofMinkowskisumsinclude[KOS91,Sha87].ThepracticaleciencyofMinkowskisuminthegeneralcasedependsuponhowthepolygonsaredecomposedintoconvexpieces.Theoptimalsolutionisnotneces-
-
https://www.cs.tufts.edu/research/geometry/other/sweep/
-
https://www.cs.tufts.edu/research/geometry/other/sweep/.AnextensionoftopologicalsweeptodealwiththevisibilitycomplexofacollectionofpairwisedisjointconvexplanarsetshasbeenprovidedinCGAL.Arrangeisapackageformaintainingarrangementsofpolygonsineithertheplaneoronthesphere.Polygonsmaybedegenerate,andhencerepresentarrangementsoflines.Arandomizedincrementalconstructionalgorithmisused,andecientpointlocationonthearrangementissupported.ArrangeiswritteninCbyMichaelGoldwasserandisavailablefromhttp://euler.slu.edu/~goldwasser/publications/.Notes:Edelsbrunner[Ede87]providesacomprehensivetreatmentofthecombinato-rialtheoryofarrangements,plusalgorithmsonarrangementswithapplications.Itisanessentialreferenceforanyoneseriouslyinterestedinthesubject.Recentsurveysofcombinatorialandalgorithmicresultsinclude[AS00,HS18].Goodexpositionsoncon-structingarrangementsinclude[dBvKOS08,O�R01].ImplementationissuesrelatedtoarrangementsasimplementedinCGALarediscussedin[FWH04,HH00].Arrangementsgeneralizenaturallybeyondtwodimensions.Insteadoflines,thespacedecompositionisde�nedbyplanes
-
https://www.cs.ucdavis.edu/~gusfield/strmat.html
-
https://www.cs.ucdavis.edu/~gusfield/strmat.html.Severalversionsofthegeneralregularexpressionpatternmatcher
-
https://www.cs.umd.edu/~mount/ANN/
-
https://www.cs.umd.edu/~mount/ANN/.Annoy
-
https://www.cs.umd.edu/~mount/ANN/.Arrangeisapackageformaintainingarrangementsofpolygonsineithertheplaneoronthesphere.Polygonsmaybedegenerate,andhencerepresentarrangementsoflines.Arandomizedincrementalconstructionalgorithmisused,andecientpointlocationonthearrangementissupported.ArrangeiswritteninCbyMichaelGoldwasserandisavailablefromhttp://euler.slu.edu/~goldwasser/publications/.Routines
-
https://www.csie.ntu.edu.tw/~cjlin/libsvm/
-
https://www.dcc.uchile.cl/~gnavarro/software/
-
https://www.ebi.ac.uk/Tools/msa/
-
https://www.ebi.ac.uk/Tools/msa/.AnotherrespectableoptionistheMSApackageformultiplesequencealignment[GKS95],whichisavailableathttps://www.ncbi.nlm.nih.gov/CBBresearch/Schaffer/msa.html.Anyofthedynamicprogramming-basedapproximatestringmatchingpro-gramsofSection21.4
-
https://www.gnupg.org/
-
https://www.gzip.org
-
https://www.hackerrank.com
-
https://www.hackerrank.com/
-
https://www.hackerrank.com/challenges/array-left-rotation/
-
https://www.hackerrank.com/challenges/bfsshortreach/
-
https://www.hackerrank.com/challenges/brick-tiling/
-
https://www.hackerrank.com/challenges/coin-change/
-
https://www.hackerrank.com/challenges/crossword-puzzle/
-
https://www.hackerrank.com/challenges/ctci-ransom-note/
-
https://www.hackerrank.com/challenges/ctci-recursive-staircase/
-
https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle/problem
-
https://www.hackerrank.com/challenges/dfs-edges/
-
https://www.hackerrank.com/challenges/even-tree/
-
https://www.hackerrank.com/challenges/hackerland-radio-transmitters/
-
https://www.hackerrank.com/challenges/is-binary-search-tree/
-
https://www.hackerrank.com/challenges/jack-goes-to-rapture/
-
https://www.hackerrank.com/challenges/kangaroo/
-
https://www.hackerrank.com/challenges/kingdom-division/
-
https://www.hackerrank.com/challenges/kruskalmstrsub/
-
https://www.hackerrank.com/challenges/longest-increasing-subsequent/
-
https://www.hackerrank.com/challenges/magic-square-forming/
-
https://www.hackerrank.com/challenges/mancala6/
-
https://www.hackerrank.com/challenges/mark-and-toys/
-
https://www.hackerrank.com/challenges/matchstick-experiment/
-
https://www.hackerrank.com/challenges/organizing-containers-of-balls/
-
https://www.hackerrank.com/challenges/palindromes/
-
https://www.hackerrank.com/challenges/pangrams/
-
https://www.hackerrank.com/challenges/queue-using-two-stacks/
-
https://www.hackerrank.com/challenges/quicksort3/
-
https://www.hackerrank.com/challenges/repeat-k-sums/
-
https://www.hackerrank.com/challenges/sams-puzzle/
-
https://www.hackerrank.com/challenges/spies-revised
-
https://www.hackerrank.com/challenges/sudoku/
-
https://www.hackerrank.com/challenges/tbsp/
-
https://www.hackerrank.com/challenges/the-power-sum/
-
https://www.hackerrank.com/challenges/tree-pruning/
-
https://www.hackerrank.com/challenges/unique-divide-and-conquer
-
https://www.hackerrank.com/challenges/walking-the-approximate-longest-path/
-
https://www.ibm.com/analytics/cplex-cp-optimizer
-
https://www.ibm.com/quantum-computing/
-
https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/
-
https://www.laas.fr/~jpl/book.html
-
https://www.lucidchart.com
-
https://www.lysator.liu.se/~nisse/nettle/
-
https://www.lysator.liu.se/~nisse/nettle/.Seehttp://csrc.nist.gov/groups/ST/toolkitforrelatedcryptographicresourcesprovidedbyNIST.Crypto++isalargeC++classlibraryofcryptographicschemes,includingallthatIhavementionedhere.Itisavailableathttps://www.cryptopp.com/.Manypopularopensourceutilitiesemployseriouscryptography,andserveasgoodmodelsofcurrentpractice.GnuPG,anopensourceversionofPGP,isavailableathttps://www.gnupg.org/.OpenSSL,forauthenticatingaccesstocomputersystems,isavailableathttps://www.openssl.org/.TheBoostCRCLibraryprovidesmultipleimplementationsofcyclicredun-dancycheckalgorithms.Itisavailableathttps://www.boost.org/libs/crc/.Notes:TheHandbookofAppliedCryptography[MOV96]providestechnicalsurveysofallaspectsofcryptography,andhasbeengenerouslymadeavailableonlineathttp://www.cacr.math.uwaterloo.ca/hac/.Schneier[Sch15]providesathoroughoverviewofdierentcryptographicalgorithms,with[FS03]asperhapsabetterintroduction.
-
https://www.ncbi.nlm.nih.gov/CBBresearch/Schaffer/msa.html
-
https://www.netlib.org
-
https://www.netlib.org/
-
https://www.netlib.org/voronoi/
-
https://www.netlib.org/voronoi/.BoththeCGAL
-
https://www.netlib.org/voronoi/.TetGen
-
https://www.netlib.org/voronoi/hull.html
-
https://www.openssl.org/
-
https://www.qhull.org/
-
https://www.qhull.org/.Notes:Mount[Mou18]isanexcellentsurveyofalgorithmsforcomputingintersec-tionsofgeometricobjectssuchaslinesegments,polygons,andpolyhedra.Bookswithchaptersdiscussingsuchproblemsinclude[dBvKOS08,CLRS09,PS85].PreparataandShamos[PS85]provideagoodexpositiononthespecialcaseof�ndingintersec-tionsandunionsofaxis-orientedrectangles�aproblemthatarisesofteninintegratedcircuitdesign.AnoptimalO
-
https://www.scottaaronson.com/blog/
-
https://www.scottaaronson.com/blog/isfascinatingreading,coveringthelatestinquantumcomputingalgorithms,aswellasthebroaderworldofcom-plexitytheory.12.11ExercisesSpecialCasesofHardProblems12-1.5Dominosaretilesrepresentedbyintegerpairs
-
https://www.unitime.org/
-
https://www.unitime.org/isacomprehensiveeducationalschedul-ingsystemthatsupportsdevelopingcourse/examtimetables,andschedulingstudentstoindividualclasses.Itisdistributedunderanopensourcelicense.LEKINisa�exiblejob-shopschedulingsystemdesignedforeducationaluse[Pin16].Itsupportssinglemachine,parallelmachines,�ow-shop,�exible�ow-shop,job-shop,and�exiblejob-shopscheduling,andisavailableathttp://www.stern.nyu.edu/om/software/lekin.Forcommercialschedulingapplications,ILOGCPhasbeenre�ectiveofthestate-of-the-artforover20years[LRSV18].Seehttps://www.ibm.com/analytics/cplex-cp-optimizer.Arestrictedfreeversionisavailable.Notes:Theliteratureonschedulingalgorithmsisvast.Brucker[Bru07]andPinedo[Pin16]providecomprehensiveoverviewsofthe�eld.TheHandbookofScheduling[LA04]providesacollectionofsurveysonallaspectsofscheduling.Real-timeschedul-ingforcomputingsystemsistreatedbyButtazzo[But11].Awell-de�nedtaxonomycoversthousandsofjob-shopschedulingvariants,whichclassi�eseachproblem||
-
https://www.visme.co/tree-diagram-maker/
-
https://www.visme.co/tree-diagram-maker/.Allofthesehavefreetrialornon-commercialusedownloads.
- Show all
-