算法演示
正在载入算法资源…
关键语句随步骤高亮;代码按当前输入生成。
使用说明
下标均从 0 开始。步骤在浏览器本地计算,支持拖动进度及回退;复制或下载的代码可在对应语言环境运行。辅助数组与逻辑节点编号用于展示算法结构。
概述
动态规划可视化,支持斐波那契、0/1 背包、最长公共子序列、编辑距离。可自定义数据、逐步播放、暂停回退,并复制或下载 Python、JavaScript、Java、C、C++、Go 代码。
动态规划可视化
输入数据后自动生成步骤,点击播放或使用上一步、下一步查看过程。拖动进度条可直接定位,右侧代码同步标出关键语句。
- 斐波那契:F(0)=0,F(1)=1,逐项填表;输入 0–40,避免整数溢出。时间和空间均 O(n)。
- 0/1 背包:每件物品只能选择一次,重量为正整数,价值非负。表格行为物品前缀、列为容量。结果同时给出最大价值和选中物品编号;相同价值优先不选当前物品。
- 最长公共子序列:按 Unicode 码点逐格动态规划,并从右下角还原一个最优答案。LCS 为子序列(无需连续);编辑距离的插入、删除、替换代价均为 1。时间和空间 O(nm)。
- 编辑距离:按 Unicode 码点逐格动态规划,并从右下角还原一个最优答案。LCS 为子序列(无需连续);编辑距离的插入、删除、替换代价均为 1。时间和空间 O(nm)。
示例代码使用固定上限数组与整数,节点编号模拟指针。代码展示与下载不执行用户脚本;输入在本地处理。