数据结构可视化辅助函数

本文档概述了可用于可视化各种数据结构的辅助函数。

目录

链表函数

创建链表

根据值的数组创建一个链表。

参数:

  • arr: 数值或字符串的数组

返回值:

  • 一个链表,每个节点包含输入数组中的一个值
  • 输入数组为空时返回 null/None/nullptr

示例:

将链表转换为数组

将链表转换回数组。

参数:

  • head: 链表的头节点

返回值:

  • 按顺序包含链表中所有值的数组

示例:

队列函数

创建队列

根据字符串或数组创建一个队列。

参数:

  • input: 字符串或数值/字符串的数组

返回值:

  • 包含输入所有元素的队列
  • 输入为空时返回 None/nullptr

示例:

将队列转换为数组

将队列转换为数组并保留原队列。

参数:

  • queue: 队列实例

返回值:

  • 按 FIFO 顺序包含队列所有元素的数组

示例:

二叉树函数

创建二叉树

通过层序遍历(广度优先)从数组创建二叉树。

参数:

  • arr: 表示层序遍历的数值/字符串/null 数组
  • null/None/-1 表示空节点

返回值:

  • 创建的二叉树的根节点
  • 输入数组为空或第一个元素为 null 时返回 null/None/nullptr

示例:

将二叉树转换为数组

通过层序遍历将二叉树转换为数组。

参数:

  • root: 二叉树的根节点

返回值:

  • 层序遍历表示的数组
  • 空节点表示为 null/None/T()
  • 去除末尾的 null

示例:

栈函数

创建栈

从数组创建栈,最后一个元素成为栈顶。

参数:

  • arr: 数值或字符串的数组

返回值:

  • 包含数组元素的栈

示例:

将栈转换为数组

将栈转换为数组并保留原栈。

参数:

  • stack: 栈实例

返回值:

  • 按 LIFO 顺序(栈顶元素在前)的数组

示例:

图函数

创建图

参数:

  • data: 邻接表格式的图数据。详情见示例
  • directedGraph: 是否为有向图,默认为 true/True

返回值:

  • 返回类 data 数据,您可以将其视为 data 本身

示例: