小编Rya*_*yan的帖子

插入后产生的红黑树是否独特?

假设我有一个二叉搜索树,它最初满足所有的红黑条件,并且在某些集合S中包含每个整数s的一个节点.接下来,我想要一个新节点; 说一个(不在S中).

重新平衡后,这个添加的结果是独一无二的吗?

换句话说:插入节点后是否只有一种方法可以重新平衡红黑树?

我相信它们并不是独一无二的,尽管我没有提供任何证据(而且信心不足).我只是想知道一个比我更有知识的人是否会如此善良以至于能够启发我?

algorithm binary-tree red-black-tree

7
推荐指数
1
解决办法
978
查看次数

在 PCRE 中捕获未知重复的模式

对于有经验的正则表达式主义者来说,这可能是一个快速的问题,但我无法正确执行我的匹配。

假设我有一个看起来像这样的字符串:

http://aaa-bbbb-cc-ddddd-eee-.sub.dom
Run Code Online (Sandbox Code Playgroud)

我想捕获所有的“aaa”、“bbbb”、“cc”和“ddddd”子字符串,但我不确定会有多少(例如,通过“zzz”将所有三元组向上) .

这是我现在尝试使用的正则表达式:

/http:\/\/(\w*?\-)+\.sub\.dom/
Run Code Online (Sandbox Code Playgroud)

我这样写是因为:

  1. 我想匹配子字符串,但我希望每个都在解析 - 时终止
  2. 我想捕获这些子字符串中的一个或多个

但它似乎只保存它所做的最后一次匹配(在上述情况下,它只会匹配“eee-”。

有没有一种好方法来捕获所有匹配的子字符串?

更多信息:我正在使用 PHP 的 PCRE 函数preg_replace_callback。谢谢!

php regex

3
推荐指数
1
解决办法
523
查看次数

仅选择元素的第一个特定类型的子元素

我要选择的第一个孩子<body>是一个<div>,并且只有该元素.

我在为我想要的元素制定正确的选择器时遇到了麻烦.我可以简单地给它一个ID,但现在我很好奇这是否可能.

在这样的简单情况下:

<body>
  <div></div>
</body>
Run Code Online (Sandbox Code Playgroud)

我可以使用子选择器:

body > div {
    margin: 0 auto 0 auto;
    width: 800px;
}
Run Code Online (Sandbox Code Playgroud)

但是如果下面有两个<div>元素,现在会发生什么<body>

<body>
  <div></div>
  <div></div>
</body>
Run Code Online (Sandbox Code Playgroud)

好吧,现在我可以使用first-child伪类来进行选择.这非常有效:

body > div:first-child {
    margin: 0 auto 0 auto;
    width: 800px;
}
Run Code Online (Sandbox Code Playgroud)

但等一下.如果有人去<body>我的另一个孩子元素之前<div>怎么办?

<body>
  <a name="top"></a>
  <div></div>
  <div></div>
</body>
Run Code Online (Sandbox Code Playgroud)

<div>在这种情况下,我如何只选择第一个孩子(一般情况下)?

css css-selectors

1
推荐指数
1
解决办法
276
查看次数