问题标签 [lexicographic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
578 浏览

sorting - 按字典顺序排列矩阵的复杂性

m给定一个具有行和列的矩阵n,其中每个条目由一对(a,b)整数组成。没有一对在矩阵中出现两次。

我们现在想对这些对进行排序,这样对于同一行中的两个对(a,b)(c,d)我们有该对位于当且仅当(a,b)的左侧,即如果该对根据其条目按字典顺序排列。此外,对于同一列中的两对,当且仅当。(c,d)((a < c) or (a=c and b < d))(a,b)(c,d)(a,b)(c,d)((b < d) or (b=d and a < c)

如果我们找到一个所有行和列都满足上述条件的位置,我们称之为稳定。

通过首先根据行条件对所有对进行排序,很容易获得稳定的放置,这需要O(mn log(mn))时间。然后将此列表拆分为 m 个部分p_1,...,p_m(现在每个部分包含 n 个元素,并且对于每个(a,b)in p_i(c,d)in p_jit is (a,b) < (c,d) if i < j)。现在p_i根据列条件对每个部分进行排序,O(n log(n))每个部分,即O(mn log(n))所有部分。将已排序的部分p_i写入列i可提供稳定的位置。

现在考虑特殊情况m=nN=n²。有了上面的论点,我们得到一个稳定的位置可以及时获得O(N log(N)),这给出了一个上限。现在这提出了一个问题:

这个问题的下限是多少?是O(N log(N))最优的吗?

0 投票
3 回答
1805 浏览

python - 如果按字典顺序输入三个单词,则创建一个打印 true 的程序

我正在尝试创建一个程序,询问用户三个单词并在单词按字典顺序输入的情况下打印“True”。例如:

到目前为止,这是我的代码:

0 投票
2 回答
290 浏览

list - 使用约束按字典顺序排列两个变量列表

我正在尝试使用其 CLP(FD) 在 BProlog 中实现字典排序约束。

据我从手册中可以看出,BProlog 没有提供内置lexLeq约束(尽管此全局约束存在有效的传播算法),所以我尝试编写自己的并将排序表示为以下集合二元约束:

为了表达(A1 #/\ A2 #/\ ... #/\ AN) => AN+1我认为我应该能够具体化Ais 的约束,所以:

然后我收集Bs 并检查连接是否有效,我只需这样做:

这个想法导致了以下(可能非常丑陋)的代码:

部分有效:

如您所见,产生的所有解决方案都满足约束。问题是并非所有有效的解决方案都产生了。似乎我所描述的约束也以某种方式暗示了这一点X1 #>= X2 #>= ... #>= XN或类似的东西,因此所有变量都是0or 1,而上面的查询也应该返回类似[0,1,0]vs[0,1,0][0,0,0]vs的解决方案[0,1,0]

那么,我的推理有问题还是上述定义中有错误?

0 投票
1 回答
160 浏览

java - 我如何在java上按字典顺序读取类属性(成员)?

我正在尝试使用 swt 构建输入对话框。我想阅读我的类属性并按指定顺序甚至字典顺序制作对话框窗口。我会将我的类属性保存在linkedhahmap\treemap 中。

例子:

输出不是类属性顺序,它类似于

0 投票
1 回答
377 浏览

java - 我是否正确地按字典顺序比较字符串?

我正在创建一种compareTo(AltString altStr2)按长度(最短到最长)对字符串进行排序的方法。

但是,我想加倍努力并检查长度相同的字符串。在这种情况下,我认为最好按字典顺序对字符串进行排序,以便它们的排序方式与它们在字典中出现的方式相同。到目前为止,我的代码如下。

我必须坚持的部分是按字典顺序比较字符串。目前,我有我的代码设置,以便我进入一个while循环并比较每个字符。

我的问题是,这是最有效的方法吗,或者在字符串长度相同的情况下,是否有更好的方法来按字典顺序比较每个字符串?

0 投票
1 回答
545 浏览

java - 获取下一个字典字符

有没有一种java字符的方法可以按字典顺序返回下一个字符?

'a'.next()会回来b的。'b'.next()会回来c的。等等

0 投票
4 回答
2256 浏览

c++ - 删除重复项后选择字典最小的字符串

从字符串中删除所有重复项并选择可能的字典最小字符串。例如,字符串 cbacdcbc 将返回 acdb,而不是 adcb。

因此,如果我们不必选择字典最小的字符串,这有一个相对简单的解决方案,但考虑到这一事实,我不确定如何找到一个有效的解决方案。这是我到目前为止所拥有的:

0 投票
1 回答
1654 浏览

c - 搜索二叉树 C、字典顺序、下一个排列、递归

我有一个家庭作业,完成了大部分工作,但我被困在一个点上。我必须搜索一棵二叉树并找到一个关键字,如果关键字没有出现,我必须在树上找到按字典顺序排列的下一个字符串,女巫以我想要查找的关键字作为前缀,直到没有其他字符串满足以前的标准。

下面的代码用于在我没有找到确切的单词后进行搜索。

例子

如果我有话说:tree traversal trees

如果我搜索:“tr”

我只得到遍历。

遍历原因是一片叶子后,我不能向左或向右走,而且我也找不到出现树和树的方法。

我已经尝试了一些事情,但没有成功,所以现在我问你,除此之外,我什至不知道如何处理字典顺序的 next 关键字或我必须用它做什么!

任何帮助表示赞赏!:D

0 投票
1 回答
69 浏览

r - 在 data.table 中创建按字典顺序排序的对

我怎样才能有效地将两个键列绑定到一个单列中,以保留两个键的字典顺序?我有兴趣将“loc”用作单个(排序)变量

0 投票
1 回答
150 浏览

python - 旋转一个字符串并打印出字典上最大的旋转

代码运行良好,但效率非常低。
有没有更省时的方法来解决问题?