NOTIFICATION: These examples are provided for educational purposes. Using this code is under your own responsibility and risk. The code and information is given ‘as is’. I do not take responsibilities of how they are used.

List of Common Algorithms – Part 2 >

  1. Insertion sort: Efficient for sorting small number of elements. Remove one element at a time and insert it back into the correct position.
  2. Merge sort: Divide-and-conquer sorting algorithm. Divide the problem into small sub-problems. Solve the sub-problems recursively. Combine the solution of the sub-problems into the solution for the original problem.
  3. Bubble sort: Repeatedly swap adjacent elements in the right order.
  4. Horner’s polynomial rule: A rule which the number of necessary multiplications and results in less numerical instability due to potential subtraction of one large number from another are reduced.
  5. Permute-By-Sorting: Randomized algorithm in which the input is randomized by permuting the input array. This algorithm belong to the uniform random permutation algorithms.
  6. Randomize-In-Place: This algorithm belong to the uniform random permutation algorithm.
  7. Heapsort: Array in which elements can be viewed as a complete binary tree. Each node satisfy a heap property.
  8. Max-Heapify: subroutine for manipulating max-heaps. Normally used for Heapsort.
  9. Priority Queues: A set of data sequence in which each set of elements is associated with a value called key.
  10. Quicksort: Divide-and-conquer sorting algorithm. Uses a partition algorithm in order to divided the array.
  11. Random Sampling Quicksort: This version of the Quicksort algorithm performs a randomized-partition.
  12. Hoare partition: This version of the Quicksort algorithm performs a partition with the use of two indices in which each begins at the extreme ends of the input array.
  13. Stooge sort: Recursively sorting algorithm. Slower than Bubble sort.
  14. Stack Depth: Also known as tail recursion. After the partition, first sub-array to be recursively shorted will be the left sub-array, then the right sub-array.
  15. Median-of-3 partition: An improved version of the Randomized-Quicksort.
  16. Fuzzy sorting of intervals: Produce a permutation of the intervals such that the existent must satisfy a rule.
  17. Counting sort: For each input element, determine the number of elements less than the input. Assumes that the input consists of integers in a small range.
  18. Radix sort: Used for card-sorting. All cards are organized into 80 columns.  In each column a card is punched into one of twelve places. Then a sort is perform on a list of seven 3-digit numbers.
  19. Bucket sort: Similar to counting sort however it assumes that the input is generated by a random process in which the numbers are distributed uniformly and independently over an interval [0,1).
  20. Randomized-Select: This algorithm only works on one side of the partition instead of both as in Quicksort. This algorithm uses a Randomized-Partition.
  21. Stacks: In a stack, the stack can implement a last-in, first-out (LIFO) policy or first-in, first-out (FIFO) policy.
  22. Queue: An stack with FIFO property which have a head and a tail.
  23. Enqueue: Insert operation on a queue.
  24. Dequeue: Delete operation on a queue.
  25. Linked-list: data structure in which each node is arranged in a linear order.
  26. Binary Tree: A parent node which have a left and right child node.
  27. Hash Tables: Generalization of a simpler notion of an ordinary array. It performs a direct addressing, applicable when allocating an array that has one position for every possible key is affordable.
  28. Direct-Address Tables: A dynamic set is represented by an array or direct-address table in which each slot (or position) correspond to a key.
  29. Open Addressing: Each table entry contain either an element of the dynamic set or none; therefore, we can say that all elements are being store in the hast table itself.
  30. Double Hashing: A method of open addressing in which permutations produced have randomly even permutations.
  31. Red-Black Trees: Binary tree in which each node have an extra bit of storage which is use to indicate the colour of the node: red or black.
  32. Matrix-chain multiplication: Compute the product of a given sequence (chain) of n number of matrices.
  33. Length of Less Common Denominator (LCS): Compute two sequences as input.
  34. Bitonic Euclidean Travelling-Salesman Problem: Also known as TSP. Algorithm that help to simplify the problem of determining the shortest closed tour that connects a set of given points.
  35. Viterbi Algorithm: Algorithm used for speech recognition. It help to solve a labelled graph made of  a person speaking a restricted language.
  36. Greedy Algorithm: It is an algorithm in which the best looking choice is made at the moment.
  37. Fractional Knapsack Problem: Greedy algorithm for a problem related with items size, their price and storage.
  38. Huffman Algorithm: Algorithm use for compressing data in an effective way.
  39. B-Trees: Balanced search trees.
  40. Binomial trees: ordered tree defined recursively.
  41. Binomial heaps: Set of binomial trees which have binomial heap properties.
  42. Fibonacci heaps: Collection of min-heap-ordered trees.
  43. Unordered binomial tree: Binomial tree with a single node, and an unordered binomial tree consisted of two unordered binomial trees.
  44. Disjoint-set operations: Maintenance of  a collection of disjoint dynamic sets.
  45. Disjoint-set forests: Set of rooted trees which in each of their nodes contain one member and each of these trees represent one set.
  46. Union by rank: Linked-list representation of the weighted-union heuristic.
  47. Path compression: simple and effective heuristic without changing any ranks.
  48. Union by rank with path compression: Combination of union-by-rank and path-compression heuristic.
  49. Off-line minimum problem: Maintenance of a dynamic set of elements from an specific domain.
  50. Adjacency-list representation: representation of a graph using adjacent list for each vertex.

List of Common Algorithms – Part 2 >


© 2011 – 2017, Alejandro G. Carlstein Ramos Mejia. All rights reserved.


Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.


Click to Insert Smiley

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepyDanceClapJumpHandshakeHigh FiveHug LeftHug RightKiss BlowKissingByeGo AwayCall MeOn the PhoneSecretMeetingWavingStopTime OutTalk to the HandLoserLyingDOH!Fingers CrossedWaitingSuspenseTremblePrayWorshipStarvingEatVictoryCurseAlienAngelClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicNerdPartyPirateSkywalkerSnowmanSoldierVampireZombie KillerGhostSkeletonBunnyCatCat 2ChickChickenChicken 2CowCow 2DogDog 2DuckGoatHippoKoalaLionMonkeyMonkey 2MousePandaPigPig 2SheepSheep 2ReindeerSnailTigerTurtleBeerDrinkLiquorCoffeeCakePizzaWatermelonBowlPlateCanFemaleMaleHeartBroken HeartRoseDead RosePeaceYin YangUS FlagMoonStarSunCloudyRainThunderUmbrellaRainbowMusic NoteAirplaneCarIslandAnnouncebrbMailCellPhoneCameraFilmTVClockLampSearchCoinsComputerConsolePresentSoccerCloverPumpkinBombHammerKnifeHandcuffsPillPoopCigarette