Maurice (emperor)Maurice (Mauricius; Maurikios; 539 – 27 November 602) was Byzantine emperor from 582 to 602 and the last member of the Justinian dynasty. A successful general, Maurice was chosen as heir and son-in-law by his predecessor Tiberius II. Maurice's reign was troubled by almost constant warfare. After he became emperor, he brought the war with Sasanian Persia to a victorious conclusion. The empire's eastern border in the South Caucasus was vastly expanded and, for the first time in nearly two centuries, the Romans were no longer obliged to pay the Persians thousands of pounds of gold annually for peace.
IslamIslam (ˈɪslɑːm; ۘالِإسْلَام, al-ʾIslām ʔɪsˈlæːm, ) is an Abrahamic monotheistic religion centered on the Quran and the teachings of Muhammad. Adherents of Islam, called Muslims, number approximately 2 billion globally and are the world's second-largest religious population after Christians. Muslims believe that Islam is the complete and universal version of a primordial faith that was revealed many times through earlier prophets such as Adam (believed to be the first man), Ibrahim, Moses, and Isa (Jesus), among others.
Sorting algorithmIn computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders are numerical order and lexicographical order, and either ascending or descending. Efficient sorting is important for optimizing the efficiency of other algorithms (such as search and merge algorithms) that require input data to be in sorted lists. Sorting is also often useful for canonicalizing data and for producing human-readable output.
Euclidean algorithmIn mathematics, the Euclidean algorithm, or Euclid's algorithm, is an efficient method for computing the greatest common divisor (GCD) of two integers (numbers), the largest number that divides them both without a remainder. It is named after the ancient Greek mathematician Euclid, who first described it in his Elements (300 BC). It is an example of an algorithm, a step-by-step procedure for performing a calculation according to well-defined rules, and is one of the oldest algorithms in common use.
Greedy algorithmA greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage. In many problems, a greedy strategy does not produce an optimal solution, but a greedy heuristic can yield locally optimal solutions that approximate a globally optimal solution in a reasonable amount of time. For example, a greedy strategy for the travelling salesman problem (which is of high computational complexity) is the following heuristic: "At each step of the journey, visit the nearest unvisited city.
Concurrency (computer science)In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.
Problem solvingProblem solving is the process of achieving a goal by overcoming obstacles, a frequent part of most activities. Problems in need of solutions range from simple personal tasks (e.g. how to turn on an appliance) to complex issues in business and technical fields. The former is an example of simple problem solving (SPS) addressing one issue, whereas the latter is complex problem solving (CPS) with multiple interrelated obstacles.