二叉树遍历可视化 - 前序/中序/后序动画
构建二叉树节点,动态演示三种深度优先遍历顺序及逐层遍历。
UD5工具箱
冒泡排序(Bubble Sort)是最简单直观的排序算法之一。它重复地遍历待排序数组,依次比较相邻的两个元素,如果顺序错误(前大后小)就交换它们。每一轮遍历会将当前未排序部分的最大值"冒泡"到数组末尾,就像水中的气泡上升一样。
时间复杂度:最坏 O(n²),平均 O(n²),最好 O(n)(已有序时)。空间复杂度:O(1),是原地排序。稳定性:稳定。
快速排序(Quick Sort)采用分治法策略:选择一个"枢轴"(pivot)元素,将数组分为两部分——小于枢轴的在左边,大于枢轴的在右边,然后递归地对左右子数组进行同样操作。由于每次分区后枢轴就位于最终位置,递归深度为 log n,因此平均效率极高。
时间复杂度:平均 O(n log n),最坏 O(n²)(如已有序时选择固定枢轴)。空间复杂度:O(log n)(递归栈)。稳定性:不稳定。
归并排序(Merge Sort)同样使用分治法:将数组递归地分成两半,分别排序,然后合并两个有序子数组。它的最大优势是时间复杂度始终为 O(n log n),不受输入数据影响,且是稳定排序。
时间复杂度:O(n log n)(所有情况)。空间复杂度:O(n)(需要辅助数组)。稳定性:稳定。适合对链表排序和大数据量的外部排序。
稳定排序是指:如果两个元素的值相等,排序后它们的相对顺序保持不变。例如,按分数排序学生列表时,如果使用稳定排序,同分数的学生会保持原来的排列顺序。
冒泡排序和归并排序是稳定的,快速排序是不稳定的(分区过程中可能改变相等元素的相对位置)。在需要多级排序的场景(如先按部门排序,再按入职日期排序),稳定性至关重要。
原地排序指排序过程中只需要常数级别的额外空间(O(1)),不依赖输入规模的辅助存储。冒泡排序和快速排序都是原地排序,而归并排序需要O(n)的辅助数组来合并子数组,因此不是原地排序。在内存受限的环境中,原地排序更具优势。
构建二叉树节点,动态演示三种深度优先遍历顺序及逐层遍历。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
构建或随机生成二叉树,逐步动画展示前序、中序、后序和层序遍历的路径。
定义字段名称和类型(姓名、邮箱、数字范围等),批量生成符合规则的 JSON 模拟数据。
随机给出一组Emoji,玩家用身体语言表演,其他人猜出对应成语或短语。
以JSON或可视化方式编写分支剧情,生成可在浏览器游玩的文字冒险游戏。
输入矩形布片尺寸,尝试在限定幅宽的布料上手动排列,优化利用率。
输入几个选项,随机选出其中一项,包含简单动画,帮您解决晚餐吃啥。
输入文字描述或符号(如K, P),生成编织花样预览图,方便织女试读图解。
提供点阵并编号,玩家按序点击连线,显现简单图形。
输入代码并自动去除无意义空格,统计有效字符数,用于Code Golf比赛。
交互式探索Julia集,实时调整复数参数c,支持平滑着色和鼠标缩放,感受分形之美。
生成非矩形、由内向外发散的圆形迷宫,支持打印用于幼儿专注力训练。
上传 GIF 动画,提取每一帧并拼接为单张精灵表图片,可设置排列方式,用于游戏开发。
待办项拖入四象限,并设置每个的提醒时间,自动排序今日。
在散点图上拖拽数据点,实时更新最小二乘回归线,显示斜率和截距。
并排展示ease、ease-in、ease-out等不同CSS缓动函数的动画速率差异,辅助选择合适曲线。
输入行与列的线索数字,自动求解逻辑绘图谜题并显示像素图。
在线响应式布局测试器,同时预览常见设备分辨率的网页显示效果,帮助检查前端适配。
选择标题和正文的网络字体或系统字体,即时预览搭配效果。
计算不同物体的排列数P(n,r),即从n个中取r个有序排列的方式数,辅助概率统计学习。
选择基数大小与比例(如黄金比例),预览标题到正文字号层叠样式序列。
输入LaTeX表达式,即时渲染为美观的数学公式,可导出SVG或PNG,适合学术文档。
选择预设图形(如天鹅、房子),显示用七巧板块拼出的解法。
输入列表项,通过鼠标拖拽手动排列项目顺序后导出。
提供一组单词与提示,自动生成纵横交错的最优填字布局,导出为图片或HTML。
在网格上放置彩色珠子,设计像素图案,导出珠数统计和色号清单,方便购买。
拖拽添加图片与文字,生成响应式轮播图Slider,支持自动播放和导航点,提供HTML/CSS/JS代码。
随机生成包含主角、场景与冲突的写作提示,拯救空白文档,激发创作欲。
使用Web Audio PannerNode,在头顶环绕拖拽一个声源,体验声音在空间的移动。