
STJ全排列生成算法(Steinhaus–Johnson–Trotter algorithm,简称SJT算法)是计算机科学领域中的一种全排列生成算法 。其核心原理是通过相邻元素交换生成排列,每次循环寻找满足条件的可交换元素,直至所有排列生成完毕,算法时间复杂度为O(n*n!)。
该算法设定每个元素具有左右移动方向,初始化方向均向左。当元素移动方向侧相邻值小于自身时判定为可移动项,优先移动最大可动项。每次移动后,所有大于移动项的剩余元素方向将被反转,该过程循环执行直至无元素可移动。
想要了解更多“STJ全排列生成算法”的信息,请点击:STJ全排列生成算法百科
