background preloader

List of algorithms

List of algorithms
The following is a list of algorithms along with one-line descriptions for each. Combinatorial algorithms[edit] General combinatorial algorithms[edit] Graph algorithms[edit] Graph drawing[edit] Network theory[edit] Routing for graphs[edit] Graph search[edit] Subgraphs[edit] Sequence algorithms[edit] Approximate sequence matching[edit] Sequence search[edit] Sequence merging[edit] Simple merge algorithmk-way merge algorithmUnion (merge, with elements on the output not repeated) Sequence permutations[edit] Fisher–Yates shuffle (also known as the Knuth shuffle): randomly shuffle a finite setSchensted algorithm: constructs a pair of Young tableaux from a permutationSteinhaus–Johnson–Trotter algorithm (also known as the Johnson–Trotter algorithm): generate permutations by transposing elementsHeap's permutation generation algorithm: interchange elements to generate next permutation Sequence alignment[edit] Sequence sorting[edit] Subsequences[edit] Substrings[edit] Computational mathematics[edit]

Flood fill recursive flood-fill with 4 directions The algorithm[edit] recursive flood-fill with 8 directions List of terms relating to algorithms and data structures The NIST Dictionary of Algorithms and Data Structures is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data structures. For algorithms and data structures not necessarily mentioned here, see list of algorithms and list of data structures. The PutPlace Blog » Blog Archive » Cheat Sheet: How To Get 124 GB in Free Online Storage While PutPlace has a different take on backing up your digital life, there’s no denying that we’re in the online storage space. As such, we’re always keeping an eye on what other players are doing. In the process of our research, we compiled a big spreadsheet that records, among other things, how much free storage space each service offers.

Software Engineering Proverbs collected by Tom Van Vleck Drawn by Angus Macdonald A clever person solves a problem. A wise person avoids it. -- Einstein Cornell Computational Synthesis Laboratory Eureqa is a breakthrough technology that uncovers the intrinsic relationships hidden within complex data. Traditional machine learning techniques like neural networks and regression trees are capable tools for prediction, but become impractical when "solving the problem" involves understanding how you arrive at the answer. Eureqa uses a breakthrough machine learning technique called Symbolic Regression to unravel the intrinsic relationships in data and explain them as simple math.

bashsimplecurses - Project Hosting on Google Code "Bash simple curses" give you some basic functions to quickly create some windows on you terminal as Xterm, aterm, urxvt... An example is given: bashbar. Bashbar is a monitoring bar that you can integrate in tiling desktop (Xmonad, WMii...) The goal of Bash Simple Curses is not done (not yet) to create very complete windows. It is only done to create some colored windows and display informations into.

Row Three » Brave New Worldview – 30 Science Fiction Films of the 21st Century A decade into the 21st Century and we have arrived at the future. The promise of Tomorrow. But instead we have looming energy crises, endless middle east conflict and more disappointing, we have no flying cars, Heck, for all the bright and clean future promised in 2001: A Space Odyssey, none of the real companies used as brands in the film even exist anymore. Even moving from the late 1960s to the mid 1980s, nobody makes DeLoreans (although they occasionally sell on Ebay), but cloning and tablet computing (as promised by Star Trek: The Next Generation) have more or less come to pass in this century.

Six ways to write more comprehensible code I learned to write, clear, maintainable code the hard way. For the last twelve years, I've made my living writing computer games and selling them over the Net using the marketing technique that was once charmingly known as shareware. What this means is that I start with a blank screen, start coding, and, a few tens of thousands of lines of code later, I have something to sell.

You Don’t Know Anything About Regular Expressions: A Complete Guide Regular expressions can be scary...really scary. Fortunately, once you memorize what each symbol represents, the fear quickly subsides. If you fit the title of this article, there's much to learn! Index An error has been encountered in accessing this page. 1. Server: 2. URL path: / 3. Error notes: NONE 4. Error type: 404 5. How Algorithms and Editors Can Work Together to Burst the "Filter Bubble" The algorithms that surface content for us on Facebook and Google are miracles of modern programming. But Eli Pariser, author and chairman of the board at, has concerns. In March, Pariser gave a popular TED talk about "filter bubbles" — the idea that when search and social networks only serve us content that we "like," we're not seeing content we need. He cited examples where liberal-leaning Facebook friends only see fellow liberals in their "Top Stories," or a frequent traveler only got tourism results when Googling "Egypt" in the midst of the Arab Spring. As users increasingly get their news from curated social channels, this trend has the potential to isolate us and damage our world view.

Top 10 Ways to be Screwed by "C" To get on this list, a bug has to be able to cause at least half a day of futile head scratching, and has to be aggravated by the poor design of the "C" language. In the interests of equal time, and to see how the world has progressed in the 20-odd years since "C" escaped from its spawning ground, see my Top 10 Ways to be Screwed by the Java programming language, and for more general ways to waste a lot of time due to bad software, try my Adventures in Hell page. A better language would allow fallible programmers to be more productive.

Related:  EducationalProgrammingalgorithmsAlgorithmsProgramming