<< Chapter < Page | Chapter >> Page > |
Every field of science has its own problems and needs efficient algorithms. Related problems in one field are often studied together. Some example classes are search algorithms , sorting algorithms , merge algorithms , numerical algorithms , graph algorithms , string algorithms , computational geometric algorithms , combinatorial algorithms , machine learning , cryptography , data compression algorithms and parsing techniques .
Fields tend to overlap with each other, and algorithm advances in one field may improve those of other, sometimes completely unrelated, fields. For example, dynamic programming was originally invented for optimization of resource consumption in industry, but is now used in solving a broad range of problems in many fields.
Algorithms can be classified by the amount of time they need to complete compared to their input size. There is a wide variety: some algorithms complete in linear time relative to input size, some do so in an exponential amount of time or even worse, and some never halt. Additionally, some problems may have multiple algorithms of differing complexity, while other problems might have no algorithms or no known efficient algorithms. There are also mappings from some problems to other problems. Owing to this, it was found to be more suitable to classify the problems themselves instead of the algorithms into equivalence classes based on the complexity of the best possible algorithms for them.
(From Wikipedia, the free encyclopedia)
A data model is an abstract model that describes how data is represented and used.
The term data model has two generally accepted meanings:
Notification Switch
Would you like to follow the 'Data structures and algorithms' conversation and receive update notifications?