article

LIST - algorithms

[WHAT]

  1. ] by Don Sagrott, founder @ sospep.com - a listing of various algorithms, with type ( search, sorting, graph, ...) and a brief description 

[WHY]

[WHERE]

  1. ] READ THE FULL ARTICLE

[WHEN]

  1. ] 2017-01-27 EDIT moved from contents book

[EXAMPLE]

  1. [sequence search]
  2. Linear search: finds an item in an unsorted sequence
  3. Selection algorithm: finds the kth largest item in a sequence
  4. Ternary search: a technique for finding the minimum or maximum of a function that is either strictly increasing and then strictly decreasing or vice versa
  5. Sorted lists
    1. Binary search algorithm: locates an item in a sorted sequence
    2. Fibonacci search technique: search a sorted sequence using a divide and conquer algorithm that narrows down possible locations with the aid of Fibonacci numbers
    3. Jump search (or block search): linear search on a smaller subset of the sequence
    4. Predictive search: binary-like search which factors in magnitude of search term versus the high and low values in the search. Sometimes called dictionary search or interpolated search.
    5. Uniform binary search: an optimization of the classic binary search algorithm
  6. [sorting] Exchange Sorts
    1. Bubble sort: for each pair of indices, swap the items if out of order
    2. Cocktail sort
    3. Comb sort
    4. Gnome sort
    5. Odd-even sort
    6. Quicksort: divide list into two, with all items on the first list coming before all items on the second list.; then sort the two lists. Often the method of choice
  7. Humorous or ineffective
    1. Bogosort
    2. Stooge sort
  8. Hybrid
    1. Flashsort
    2. Introsort: begin with quicksort and switch to heapsort when the recursion depth exceeds a certain level
    3. Timsort: adaptative algorithm derived from merge sort and insertion sort. Used in Python 2.3 and up, and Java SE 7.
  9. Insertion sorts
    1. Insertion sort: determine where the current item belongs in the list of sorted ones, and insert it there
    2. Library sort
    3. Patience sorting
    4. Shell sort: an attempt to improve insertion sort
    5. Tree sort (binary tree sort): build binary tree, then traverse it to create sorted list
    6. Cycle sort: in-place with theoretically optimal number of writes
  10. Merge sorts
    1. Merge sort: sort the first and second half of the list separately, then merge the sorted lists
    2. Strand sort
  11. Non-comparison sorts
    1. Bead sort
    2. Bucket sort
    3. Burstsort: build a compact, cache efficient burst trie and then traverse it to create sorted output
    4. Counting sort
    5. Pigeonhole sort
    6. Postman sort: variant of Bucket sort which takes advantage of hierarchical structure
    7. Radix sort: sorts strings letter by letter
  12. Selection sorts
    1. Heapsort: convert the list into a heap, keep removing the largest element from the heap and adding it to the end of the list
    2. Selection sort: pick the smallest of the remaining elements, add it to the end of the sorted list
    3. Smoothsort 
  13. Other
    1. Bitonic sorter 
    2. Pancake sorting 
    3. Topological sort 
  14. Unknown class
    1. Samplesort
  15. [ Graph Algorithms ]
    1. Coloring algorithm: Graph coloring algorithm.
    2. Hopcroft–Karp algorithm: convert a bipartite graph to a maximum cardinality matching 
    3. Hungarian algorithm: algorithm for finding a perfect matching 
    4. Prüfer coding: conversion between a labeled tree and its Prüfer sequence 
    5. Topological sort: finds linear order of nodes (e.g. jobs) based on their dependencies

[HOW-TO]

  1. ]

[REFERENCE]

  1. ] LIST - algorithms - http://en.wikipedia.org/wiki/List_of_algorithms  

 

Details Photos Edit more

Details

ID: 5558

NAME: LIST-algorithms

DESCRIPTION: ] LIST - algorithms, SCR=wikipedia,

AUTHOR: article.author/s

EDITOR: article.editor/s

PUBLISHER: article.publisher/s

STATUS: Write

PRIORITY: -5

OWNER ID: 75

Content Photos Edit more

photos

page_photo

actions

Email Email-Owner SMS and