/** * This function performs a [preorder traversal][] of the graph `g` starting * at the nodes `vs`. For each node visited, `v`, the function `callback(v)` * is called. * * [preorder traversal]: https://en.wikipedia.org/wiki/Tree_traversal#Depth-first * * @example * * ![](https://github.com/dagrejs/graphlib/wiki/images/preorder.png) * * * ```js * graphlib.alg.preorder(g, "A"); * // => One of: * // [ "A", "B", "C", "D", "E" ] * // [ "A", "B", "C", "E", "D" ] * // [ "A", "C", "D", "E", "B" ] * // [ "A", "C", "E", "D", "B" ] * ``` * * @param {Parameters[0]} g - The graph to traverse. * @param {Parameters[1]} vs - Nodes to start the traversal from. * @returns {ReturnType} The nodes in the order they were visited. */ export function preorder(g: Parameters[0], vs: Parameters[1]): ReturnType; import { dfs } from './dfs.js';