gpt4 book ai didi

algorithm - 字典顺序排列如何在算法上工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:10 25 4
gpt4 key购买 nike

或者例如,如果给定“abcd”,则字典排列将是:

abcd
abdc
acbd
acdb
adbc
adcb
bacd
badc
bcad
bcda
bdac
bdca
cabd
cadb
cbad
cbda
cdab
cdba
dabc
dacb
dbac
dbca
dcab
dcba

我凭直觉理解它是如何排序的,如果你给我任何一组字母或数字,我可以计算出它们应该如何排序,但不是数学上如何从一步到最后下一个。例如:从 abdc 到 acbd 的数学过程是什么?

最佳答案

好吧,一个选择可能是:

从一步到下一步,

  • 令 p = n-1
  • 你取第 (p) 个字母 abdc => d。
    • 你根据你的命令取下一封信。
      • 如果它存在,那么你写它,然后用剩下的字母排序结束你的单词
      • 否则,p = p - 1,然后返回上一步。

不确定这是最好的方法。为什么要从一步到下一步?为什么不写所有的单词,从写 (n-1) 开始!以第一个字母开头的单词,然后是 (n -1)!秒...

a
a
...
a
b
b
...
b

对于这些单词中的每一个:继续(n-2)!第二个字母和 (n-2)!第三个字母:

ab
ab
...
ab
ac
ac
....
ac
....
ba
ba
...
bc
bc
....

等等

关于algorithm - 字典顺序排列如何在算法上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17742297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com