# algorithm

## What is Sliding Window Algorithm? Examples?

Generally speaking a sliding window is a sub-list that runs over an underlying collection. I.e., if you have an array like a sliding window of size 3 would run over it like This is useful if you for instance want to compute a running average, or if you want to create a set of all …

## What does O(log n) mean exactly?

The most common attributes of logarithmic running-time function are that: the choice of the next element on which to perform some action is one of several possibilities, and only one will need to be chosen. or the elements on which the action is performed are digits of n This is why, for example, looking up …

## When is it practical to use Depth-First Search (DFS) vs Breadth-First Search (BFS)? [closed]

That heavily depends on the structure of the search tree and the number and location of solutions (aka searched-for items). If you know a solution is not far from the root of the tree, a breadth first search (BFS) might be better. If the tree is very deep and solutions are rare, depth first search …

## how to calculate binary search complexity

Here a more mathematical way of seeing it, though not really complicated. IMO much clearer as informal ones: The question is, how many times can you divide N by 2 until you have 1? This is essentially saying, do a binary search (half the elements) until you found it. In a formula this would be …

## What does O(log n) mean exactly?

I cannot understand how to identify a function with a log time. The most common attributes of logarithmic running-time function are that: the choice of the next element on which to perform some action is one of several possibilities, and only one will need to be chosen. or the elements on which the action is …

## What is a loop invariant?

In simple words, a loop invariant is some predicate (condition) that holds for every iteration of the loop. For example, let’s look at a simple for loop that looks like this: In this example it is true (for every iteration) that i + j == 9. A weaker invariant that is also true is that i >= 0 && …

## What is a loop invariant?

In simple words, a loop invariant is some predicate (condition) that holds for every iteration of the loop. For example, let’s look at a simple for loop that looks like this: In this example it is true (for every iteration) that i + j == 9. A weaker invariant that is also true is that i >= 0 && …

## In a triangulated isometric grid, what triangle is a given point in?

What you want to do is turn this into a grid as much as possible because grids are far easier to work with. The first thing you do is work out what column it’s in. You say you store that so it should be easier by doing a simple integer division on the x coordinate …