资讯专栏INFORMATION COLUMN

匹配第质数个元素的 CSS 选择器长度

JayChen / 751人阅读

摘要:容易看出,对于个元素,采用这种方法匹配所有质数所需的选择器的个数至少为也就是的复杂性。质数分布的渐近定律是这样说的,把上式代入可以得到我们的选择器长度复杂度为由于故我们化简后的选择器长度复杂性为有任何错误欢迎指出。。。

之前回答过这么一道题: https://segmentfault.com/q/10...

提问者问到,

nth-child 的值可以是包含 n 的线性公式,也可以是 odd 和 even 表示奇数行和偶数行. 然而素数本身是没有规律的, 请问怎么实现素数行和合数行分别设置不同的背景色?

现在假设我们已知有不大于 N 个元素需要匹配,求选择器长度的复杂性。

这是我当时的答案:

tr{background:#fff;}
tr:nth-of-type(1){background:#eee} /* 1 is neither a prime nor a composite number. */
tr:nth-of-type(2n+4),tr:nth-of-type(3n+6),tr:nth-of-type(5n+10){background:#eaa}

JSFiddle: https://jsfiddle.net/qdzruq16/3/

其中最后一行选择器为所有 tr:nth-of-type(pn+2p), 其中 p 为不大于
$$ sqrt{N} $$ 的所有质数。

现在设函数
$$ pi(n) $$ 表示不大于 n 的质数个数

容易看出,对于 N 个元素,采用这种方法匹配所有质数所需的选择器的个数至少为
$$ 2+pi(sqrt{N}), $$

也就是
$$ O(pi(sqrt{N})) $$ 的复杂性。

然而我们在算法课上貌似没学过这样的式子。 Don’t worry. 根据质数定理 https://en.wikipedia.org/wiki... 我们可以把它变成更加熟悉的形式。

质数分布的渐近定律是这样说的,
$$ lim_{xtoinfty}frac{pi(x)}{x/log(x)}=1 $$

i.e.,
$$ pi(x)simfrac{x}{log x}. $$

把上式代入可以得到我们的选择器长度复杂度为
$$ O(sqrt{N}/log sqrt{N}), $$

由于
$$ log sqrt{N}=frac{1}{2}log N, $$

故我们化简后的选择器长度复杂性为:

$$ O(sqrt{N}/log N). $$

有任何错误欢迎指出。。。/* 反正也没人看 */

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111627.html

相关文章

  • 前端之CSS

    摘要:不管你是滚动页面还是背景设置的元素,它都会保持在相同的位置。当滚动元素时,背景会随之滚动。目录 一.css三种引用方式 1.行间式 2.内联式 3.外联式 4.三种方式的优先级 二.样式与长度颜色 1.基本样式 2.长度...

    raise_yang 评论0 收藏0
  • 数据结构-散列

    摘要:散列是一种常用的数据存储技术散列后的数据可以快速的插入或取用散列使用的数据结构叫做散列表在散列表上插入删除和取用的数据都非常快但是对于查找操作来说却效率低下比如查找一组数据中最大值和最小值这些操作得求助于其它数据结构二叉查找树就是一个很好的 散列是一种常用的数据存储技术, 散列后的数据可以快速的插入或取用. 散列使用的数据结构叫做 散列表 . 在散列表上插入、删除和取用的数据都非常快,...

    lei___ 评论0 收藏0
  • css 背景和渐变

    css 背景和渐变 background 背景 所有背景属性都不能继承 在CSS2.1里,background属性的简写方式包含五种属性值 – background-color, background-image, background-repeat, background-attachment, and background-position CSS3开始,又增加了3个新的属性值注意:反斜杠可以...

    k00baa 评论0 收藏0
  • 前端开发

    摘要:前端开发前端概述一什么是前端前端即网络站前台部分,运行在端,移动端等浏览器上展现给用户浏览的页面。文件后缀前端三剑客一标记语言标记语言为非标记语言,不具备编程语言具备的程序逻辑为前端页面的主体,有标签指令与转义字符等组成。前端开发 前端概述 一、什么是前端 前端即网络站前台部分,运行在pc端,移动端等浏览器上展现给用户浏览的页面。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,...

    SQC 评论0 收藏0
  • CSS3学习笔记

    摘要:只对英文起作用,以单词作为换行依据。换句话说,字符串与属性值中的任意位置相匹配。其主要有两个值和。主要具有四个属性值和。或表示红色,表示绿色,表示蓝色,也可取其他数值来指定颜色。 1.文档换行 a.强制一排显示文本,多出的地方切割文本,并加上省略号,三句真言 text-overflow:ellipsis; /*实现溢出时产生省略号的效果, 或者clip表示剪切*/ overflow:h...

    Flink_China 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<