# Problem 45261. List every vertices neighbor indices

Input T is a triangulation.

The purpose of this function is to query at once the cell array N of all vertex neighbor indices... of every vertices, nothing less (!)

Output N must be a cell array since of course each vertex may have a different number of neighbors.

For example, for an input filled octahedron whom triangulation is

```T = [1, 2, 3;...
1, 3, 4;...
1, 4, 5;...
1, 2, 5;...
2, 3, 6;...
3, 4, 6;...
4, 5, 6;...
2, 5, 6;...
2, 3, 4;...
2, 4, 5;...
1, 2, 4;...
2, 4, 6],
```

then the output N is a 6x1 cell array of integers row vectors, such that :

```N(1,1) = {[2, 3, 4, 5]};
N(2,1) = {[1, 3, 4, 5, 6]};
N(3,1) = {[1, 2, 4, 6]};
N(4,1) = {[1, 2, 3, 5, 6]};
N(5,1) = {[1, 2, 4, 6]};
N(6,1) = {[2, 3, 4, 5]};
```

Indeed vertex #2 is part of triangles [1, 2, 3], [1, 2, 5], [2, 3, 6], [2, 5, 6], [2, 3, 4], [2, 4, 5], [1, 2, 4], and [2, 4, 6], it then admit all the other vertices as neighbors ([1, 3, 4, 5, 6]).

Hypothesis / conditions :

• a vertex is the neighbor of another if they are linked with an edge in at least one same triangle. A vertex is not neighbor of itself.
• Output N row order is crucial since row number actually corresponds to the vertex id / index.
• Output N cells content order doesn't matter, but it doesn't admit any duplicated index / value.

Tip : solving my previous problems, and especially query_vertex_neighbors will help you to fully understand and solve this one.

NB : the question of unreferenced vertices is not tacled here. We just supposed there are not.

Good work Matlab-bro ! :)

### Solution Stats

86.36% Correct | 13.64% Incorrect
Last Solution submitted on Apr 11, 2023

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!