An algorithm is a prescribed sequence of steps which solves a given problem or performs some process. Computer scientists draw flow-charts to represent the algorithm. Algorithms thus have geometrical, pictorial, topological structure. Recognizing these universal structures should help in reverse engineering biological circuits.
Basic elements of algorithms
Hexagonal Sampling and Processing of Images
Two dimensional (2D) image sampling has been investigated. Hexagonal sampling, where the samples on alternate rows are offset, can require fewer samples per unit area to give equal high frequency information to normal square sampling. Additionally some processing algorithms including monochrome edge detectors and binary skeletonisers have been shown to operate more efficiently in their hexagonal variant (50% computation saving). The hexagonal sampling scheme is also being applied to height measurement on machined surfaces.
Molecular Biology (13)
Molecular Dynamics (10)
List of algorithms
The following is a list of the algorithms described in Wikipedia. See also the list of data structures, list of algorithm general topics and list of terms relating to algorithms and data structures.
· Measure the area of A on the map:
o Traverse the tree and add those leafs coded A, weighted by the area at the level of the leaf
· To overlay two maps:
The new tree has the attributes of both of the maps.
o Traverse the trees simultaneously, following all branches which exist in either tree
o Where one tree lacks branches (has a leaf where the other tree has branches), assign the value of the associated leaf to each of the branches
- Find if two leafs are adjacent (here adjacent means sharing a common edge, not just a common point )
Corollary: find the leafs adjacent to a given leaf
1. Same size blocks:
- two leafs are adjacent if their binary representations differ by binary 1 or 10 (decimal 1 or 2) in tesseral arithmetic
- example: 01 and 03 are adjacent because 0001 and 0011 differ by binary 10, or decimal 2
- example: 033 and 211 are adjacent because in tesseral arithmetic
001111 + 10 = 100101, or 100101 - 10 = 001111
2. Different size blocks:
Taking the longer of the two codes:
- convert it from base 4 to binary
- tesseral-add and -subtract 01 and 10 to create four new codes
- reject any cases where subtracting was not possible (a "negative" code would have resulted, or a "carry" would have been necessary to the left of the leftmost digit)
- discard the excess rightmost digits in the resulting transformed longer codes
- convert back to base 4 to get the leaf
- The two blocks are adjacent if any of the transformed and truncated codes are equal to the shorter code
- The length of common boundary between the two blocks is determined by the level of the longer code
Area of a Contiguous Patch Algorithm
- Find the area of a contiguous patch of the same value, e.g. all A
Corollary: How many separate patches of A are there?
- Indexes are used in vector systems to get fast access to the objects in a particular area of a map
- very useful in searching for potentially overlapping or intersecting objects