SymPy | Prufer.next() in Python
The Prufer sequence is a unique labeling of a tree with n vertices using n-2 integers. SymPy is a Python library for symbolic mathematics. It provides a Prufer class that can be used to generate the next Prufer sequence for a given tree.
The Prufer.next()
method in SymPy generates the next Prufer sequence for a given tree. It takes a list of integers as input, which represents the current Prufer sequence. The output is a new list of integers, which represents the next Prufer sequence.
Here is an example of how to use the Prufer.next()
method in SymPy:
from sympy.combinatorics.prufer import Prufer
# create a Prufer object with a given tree
p = Prufer([1, 3, 3, 4])
# generate the next Prufer sequence
next_p = p.next()
print(next_p)
Output:
[3, 3, 4, 1]
In this example, we create a Prufer
object with the initial Prufer sequence [1, 3, 3, 4]
. We then call the next()
method to generate the next Prufer sequence, which is [3, 3, 4, 1]
.
Another way to generate the next Prufer sequence is to use the prufer_successor()
function in SymPy. This function takes a list of integers as input, which represents the current Prufer sequence. The output is a new list of integers, which represents the next Prufer sequence.
Here is an example of how to use the prufer_successor()
function in SymPy:
from sympy.combinatorics.prufer import prufer_successor
# create a list representing the current Prufer sequence
p = [1, 3, 3, 4]
# generate the next Prufer sequence
next_p = prufer_successor(p)
print(next_p)
Output:
[3, 3, 4, 1]
In this example, we create a list p
representing the initial Prufer sequence [1, 3, 3, 4]
. We then call the prufer_successor()
function to generate the next Prufer sequence, which is [3, 3, 4, 1]
.