In Computer Science what concepts you learn will be of no use until you show it.The problem is of main concern that needs to be solved so algorithm is a brief planning of how the problem will be solved in general. Therefore it is of major concern in the Computer Science world.
I think almost every aspect of Computer Science need Algorithm Let me show you this
The following list would include various Computer Science areas and which algorithms they use.
Powerset construction. Algorithm to convert nondeterministic automaton to deterministic automaton.
Todd-Coxeter algorithm. Procedure for generating cosets.
Alpha-beta. Alpha max plus beta min. Widely used in board games.
Ant-algorithms. The ant colony optimisation is a set of algorithms inspired by ant behavior to solve a problem, find the best path between two locations.
DE (Differential evolution). Solve the Chebyshev polynomial fitting problem.
Semi-Supervised Recognition of Sarcastic Sentences in Online Product Reviews.
Algortithm that recognize sacarsms or irony in a tweet or an online document. A such algorithm will be essential for humanoid robots programming too.
Epitome. Represent an image or video by a smaller one.
Counting objects in an image. Uses the connected-component labeling algorithm to first label each object, and count then the objects.
O'Carroll algorithm. From a mathematical conversion of insect vision, this algorithm evaluates how to get around avoiding objects.
They uses three operator. selection (choose solution), reproduction (use choosen solutions to construct other ones), replacement (replace solution if better).
Fitness proportionate selection. Also known as roulette-wheel selection, is a function used for selecting solutions.
Truncation selection. Another method for selecting solutions, ordered by fitness.
Tournament selection. Select the best solution by a kind of tournament.
Stochastic universal sampling. The individuals are mapped to contiguous segments of a line, such that each individual's segment is equal in size to its fitness exactly as in roulette-wheel selection.
Hopfield net. Recurrent artificial neural network that serve as content-addressable memory systems with binary threshold units. They converge to a stable state.
Backpropagation. Supervised learning technique used for training artificial neural networks.
Self-organizing map (Kohonen map). Neural networks trained using unsupervised learning to produce low dimensional (2D, 3D) representation of the training samples. Good for visualizing high-dimensional data.
Needleman-Wunsch. Performs a global alignment on two sequences, for protein or nucleotide sequences.
Smith-Waterman. Variation of the Needleman-Wunsch.
Lossless compression algorithms
Burrows-Wheeler transform. Preprocessing useful for improving lossless compression.
Deflate. Data compression used by ZIP.
Delta encoding. Aid to compression of data in which sequential data occurs frequently.
Incremental encoding. Delta encoding applied to sequences of strings.
LZW. (Lempel-Ziv-Welch). Successor of LZ78. Builds a translation table from the data to compress. Is used by the GIF graphical format.
LZ77 and 78. The basis of further LZ variations (LZW, LZSS, ...). They are both dictionary coders.
LZMA. Short for Lempel-Ziv-Markov chain-Algorithm.
LZO. Data compression algorithm that is focused on speed.
PPM (Prediction by Partial Matching). Adaptive statistical data compression technique based on context modeling and prediction.
Shannon-Fano coding. Constructs prefix codes based on a set of symbols and their probabilities.
Truncated binary. An entropy encoding typically used for uniform probability distributions with a finite alphabet. Improve binary encoding.
Run-length encoding. Primary compression that replaces a sequence of same code by the number of occurences.
Sequitur. Incremental grammar inference on a string.
EZW (Embedded Zerotree Wavelet). Progressive encoding to compress an image into a bit stream with increasing accuracy. May be lossy compression also with better results.
Coding scheme that assigns codes to symbols so as to match code lengths with the probabilities of the symbols .
Huffman coding. Simple lossless compression taking advantage of relative character frequencies.
Adaptive Huffman coding. Adaptive coding technique based on Huffman coding.
Arithmetic coding. Advanced entropy coding.
Range encoding. Same as arithmetic coding, but looked at in a slightly different way.
Unary coding. Code that represents a number n with n ones followed by a zero.
Elias delta, gamma, omega coding. Universal code encoding the positive integers.
Fibonacci coding. Universal code which encodes positive integers into binary code words.
Golomb coding. Form of entropy coding that is optimal for alphabets following geometric distributions.
Rice coding. Form of entropy coding that is optimal for alphabets following geometric distributions.
Lossy compression algorithms
Linear predictive coding. Lossy compression by representing the spectral envelope of a digital signal of speech in compressed form.
A-law algorithm. Standard companding algorithm.
Mu-law algorithm. Standard analog signal compression or companding algorithm.
Fractal compression. Method used to compress images using fractals.
Transform coding. Type of data compression for data like audio signals or photographic images.
Vector quantization. Technique often used in lossy data compression.
Wavelet compression. Form of data compression well suited for image and audio compression.
Secret key (symmetric encryption)
Use a secret key (or a pair of directly related keys) for both decryption and encryption.
Advanced Encryption Standard (AES), also known as Rijndael.
Blowfish. Designed by Schneier as a general-purpose algorithm, intended as a replacement for the aging DE.
Data Encryption Standard (DES), formerly DE Algorithm.
IDEA (International Data Encryption Algorithm). Formerly IPES (Improved PES), another replacement for DES. Is used by PGP (Pretty Good Privacy). Performs transformations on data splitted in blocks, using a key.
RC4 or ARC4. Stream cipher widely-used in protocols such as SSL for Internet traffic and WEP for wireless networks.
Tiny Encryption Algorithm. Easy to implement block cipher algorithme using some formulas.
PES (Proposed Encryption Standard). Older name for IDEA.
Public key (asymmetric encryption)
Use a pair of keys, designated as public key and private key. The public key encrypt the message, only the private key permits to decrypt it.
DSA (Digital Signature Algorithm). Generate keys with prime and random numbers. Was used by US agencies, and now public domain.
ElGamal. Based on Diffie-Hellman, used by GNU Privacy Guard software, PGP, and other cryptographic systems.
RSA (Rivest, Shamir, Adleman). Widely used in electronic commerce protocols. Use prime numbers.
Diffie-Hellman (Merkle) key exchange (or exponential key exchange). Method and algorithm to share secret over an unprotected communications channel. Used by RSA.
NTRUEncrypt. Make use of rings of polynomials with convolution multiplications.
Message digest functions
A message digest is a code resulting of the encryption of a string or data of any length, processed by a hash function.
MD5. Used for checking ISO images of CDs or DVDs.
RIPEMD (RACE Integrity Primitives Evaluation Message Digest). Based upon the principles of MD4 and similar to SHA-1.
SHA-1 (Secure Hash Algorithm 1). Most commonly used of the SHA set of related cryptographic hash functions. Was designed by the NSA agency.
HMAC. keyed-hash message authentication.
Tiger (TTH). Usually used in Tiger tree hashes.
Cryptographic using pseudo-random numbers
See. Random Number Generators
Techniques in cryptography
Secret sharing, Secret Splitting, Key Splitting, M of N algorithms.
Shamir's secret sharing scheme. This is a formula based on polynomial interpolation.
Blakley's secret sharing scheme. Is geometric in nature, the secret is a point in an m-dimensional space.
Other techniques and decryption
Subset sum. Given a set of integers, does any subset sum equal zero? Used in cryptography.
Shor's algorithm. Quantum algorithm able to decrypt a code based on asymetric functions such as RSA.
Gift wrapping. Determining the convex hull of a set of points.
Gilbert-Johnson-Keerthi distance. Determining the smallest distance between two convex shapes.
Graham scan. Determining the convex hull of a set of points in the plane.
Line segment intersection. Finding whether lines intersect with a sweep line algorithm.
Point in polygon. Tests whether a given point lies within a given.
*Line/Triangle intersection.* Particular case of Ray/Plane intersection.
Polygonization of implicit surfaces. Approximate an implicit surface with a polygonal representation.
Triangulation. Method to evaluate the distance to a point from angles to other points, whose distance is known.
3D Surface Tracker Technology. Process to add images on walls in a video while hidden surfaces are taken into account.
Bellman-Ford. Computes shortest paths in a weighted graph (where some of the edge weights may be negative).
Dijkstra's algorithm. Computes shortest paths in a graph with non-negative edge weights.
Perturbation methods. An algorithm that computes a locally shortest paths in a graph.
Floyd-Warshall. Solves the all pairs shortest path problem in a weighted, directed graph.
Floyd's cycle-finding. Finds cycles in iterations.
Johnson. All pairs shortest path algorithm in sparse weighted directed graph.
Kruskal. Finds a minimum spanning tree for a graph.
Prim's. Finds a minimum spanning tree for a graph. Also called DJP , Jarník or Prim–Jarník algorithm.
*Boruvka.* Finds a minimum spanning tree for a graph.
Ford-Fulkerson. Computes the maximum flow in a graph.
Edmonds-Karp. Implementation of Ford-Fulkerson.
Nonblocking Minimal Spanning Switch. For a telephone exchange.
Woodhouse-Sharp. Finds a minimum spanning tree for a graph.
Spring based. Algorithm for graph drawing.
Hungarian. Algorithm for finding a perfect matching.
Coloring algorithm. Graph coloring algorithm.
Nearest neighbour. Find nearest neighbour.
Topological sort. Sort a directed acyclic graph in such a manner that each node comes before all nodes to which it has edges (according to directions).
Tarjan's off-line least common ancestors algorithm. Compute lowest common ancestors for pairs of nodes in a tree.
Bresenham's line algorithm. Uses decision variables to plots a straight line between 2 specified points.
Landscape Draw a 3D scenery.
*DDA line algorithm.* Uses floating-point math to plots a straight line between 2 specified points.
Flood fill. Fills a connected region with a color.
Image Restoring. Restore photo, improve images.
Xiaolin Wu's line algorithm. Line antialiasing.
Painter's algorithm. Detects visible parts of a 3-dimensional scenery.
Ray tracing. Realistic image rendering.
Phong shading. An illumination model and an interpolation method in 3D computer graphics.
Gouraud shading. Simulate the differing effects of light and colour across the surface of a 3D object.
Scanline rendering. Constructs an image by moving an imaginary line.
Global illumination. Considers direct illumination and reflection from other objects.
Interpolation. Constructing new data points such as in digital zoom.
Resynthesizer. Remove an object on a photo and rebuild the background Used by Photoshop and The Gimp. Resynthesizer tutorial .
Slope-intercept algorithm. It is an implementation of the slope-intercept formula for drawing a line.
Spline interpolation. Reduces error with Runge's phenomenon.
3D Surface Tracker Technology. Adding images or vidéo on walls in a vidéo, hidden surfaces being taken into account.
Lists, arrays and trees
Dictionary search. See predictive search.
Selection algorithm. Finds the kth largest item in a list.
Binary search algorithm. Locates an item in a sorted list.
Breadth-first search. Traverses a graph level by level.
Depth-first search. Traverses a graph branch by branch.
Best-first search. Traverses a graph in the order of likely importance using a priority queue.
A tree search.* Special case of best-first search that uses heuristics to improve speed.
Uniform-cost search. A tree search that finds the lowest cost route where costs vary.
Predictive search. Binary like search which factors in magnitude of search term versus the high and low values in the search.
Hash table. Associate keys to items in an unsorted collection, to retrieve them in a linear time.
Interpolated search. See predictive search.
Binary tree sort. Sort of a binary tree, incremental, similar to insertion sort.
Bogosort. Inefficient random sort of a desk card.
Bubble sort. For each pair of indices, swap the items if out of order.
Bucket sort. Split a list in buckets and sort them individually. Generalizes pigeonhole sort.
Cocktail sort (or bidirectional bubble, shaker, ripple, shuttle, happy hour sort). Variation of bubble sort that sorts in both directions each pass through the list.
Comb sort. Efficient variation of bubble sort that eliminates "turtles", the small values near the end of the list and makes use of gaps bewteen values.
Counting sort. It uses the range of numbers in the list A to create an array B of this length. Indexes in B are used to count how many elements in A have a value less than i.
Gnome sort. Similar to insertion sort except that moving an element to its proper place is accomplished by a series of swaps, as in bubble sort.
Heapsort. Convert the list into a heap, keep removing the largest element from the heap and adding it to the end of the list.
Insertion sort. Determine where the current item belongs in the list of sorted ones, and insert it there.
Introsort. Or introspective sort. It begins in quicksort and switches to heapsort at certain recursion level.
Merge sort. Sort the first and second half of the list separately, then merge the sorted lists.
Pancake sort. Reverse elements of some prefix of a sequence.
Pigeonhole sort. Fill an empty array with all elements of an array to be sorted, in order.
Postman sort. Hierarchical variant of bucket sort, used by post offices.
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.
Radix sort. Sorts keys associated to items, or integer by processing digits.
Selection sort. Pick the smallest of the remaining elements, add it to the end of the sorted list.
Shell sort. Improves insertion sort with use of gaps between values.
Smoothsort. See heapsort.
Stochastic sort. See bogosort.
and many more...