[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [igraph] find highest degrees

**From**: |
John Lapeyre |

**Subject**: |
[igraph] find highest degrees |

**Date**: |
Thu, 18 Feb 2010 18:30:54 +0100 |

**User-agent**: |
KMail/1.12.4 (Linux/2.6.31.9; KDE/4.3.4; x86_64; ; ) |

Hello All,
I would like to remove some of the vertices of highest
order from a graph using the igraph C library. Ie, if the
vertex-orders were sorted, take the n highest numbers and
remove the corresponding vertices. Is there some idiomatic
way of doing this?
There are a few subtasks that could be used to achieve
this task, such as obtaining a list of the vertex ids
in order of descending vertex-order. They might be of
general use.
Getting an igraph_vector vo of the vertex-orders indexed
by vertex id is easy enough. I played with the undocumented
igraph_vector_order1(), but it seems to work only for an
array of unique positive integers.
Currently, I am looking at doing a quicksort of vo while
effectively keeping track of the permutations of the
indices. There seem to be a few ways to do this. Perhaps
most computationally efficient is getting the source to a
quicksort implementation and then swapping elements in an
array of indices each time the vertex-orders are swapped.
But I thought it is a good idea to write to this list before
plunging in.
An unrelated task is taking the union of two igraph_vectors
of vertex ids considered as sets. That is, combine the lists,
but don't put in duplicates. This seems like it might be a
generally useful task. (or eg just return the number of vertices
in the union) These were not so difficult to write, but
are worth mentioning.
Thanks,
John

**[igraph] find highest degrees**,
*John Lapeyre* **<=**