当前位置: 首页 > news >正文

有哪些是外国人做的网站网络是哪家公司最好

有哪些是外国人做的网站,网络是哪家公司最好,织梦dedecms资讯文章类网站模板,网站制作技巧文章目录 1.树状数组2.红黑树3.星星打分4.欧几里得算法5.快速幂6.并查集 在编程的世界里,简洁的代码往往隐藏着深邃的智慧。一起来看看那些看似简单,实则精妙绝伦的代码片段,体会编程语言的优雅与力量。 1.树状数组 int lowbit(int x) { …

文章目录

  • 1.树状数组
  • 2.红黑树
  • 3.星星打分
  • 4.欧几里得算法
  • 5.快速幂
  • 6.并查集

在编程的世界里,简洁的代码往往隐藏着深邃的智慧。一起来看看那些看似简单,实则精妙绝伦的代码片段,体会编程语言的优雅与力量。

1.树状数组

int lowbit(int x)  
{    return x&-x;    
}

树状数组里的这个,太精妙了,树状数组使区间求和复杂度降低到了log(n),发明这段代码的人一定是个天才,而这个lowbit恰恰是最精妙的一部分,可以准确的找到我们需要加的部分,巧妙的利用了计算机的位运算。

2.红黑树

defun rbt-balance (tree)  "Balance the rbtree list TREE."  (pcase tree  (`(B (R (R ,a ,x ,b) ,y ,c) ,z ,d) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))  (`(B (R ,a ,x (R ,b ,y ,c)) ,z ,d) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))  (`(B ,a ,x (R (R ,b ,y ,c) ,z ,d)) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))  (`(B ,a ,x (R ,b ,y (R ,c ,z ,d))) `(R (B ,a ,x ,b) ,y (B ,c ,z ,d)))  (_                                 tree)))  (defun rbt-insert- (x s)  "Auxilary function of rbt-insert."  (pcase s  (`nil              `(R nil ,x nil))  (`(,color ,a ,y ,b) (cond ((< x y)  (rbt-balance `(,color ,(rbt-insert- x a) ,y ,b)))  ((> x y)  (rbt-balance `(,color ,a ,y ,(rbt-insert- x b))))  (t  s)))  (_                  (error "Expected tree: %S" s))))  (defun rbt-insert (x s)  "Insert S to rbtree X."  (pcase (rbt-insert- x s)  (`(,_ ,a ,y ,b) `(B ,a ,y ,b))  (_              (error "Internal error: %S" s))))

3.星星打分

function getRating(rating) {  if(rating > 5 || rating < 0) throw new Error('数字不在范围内');  return '★★★★★☆☆☆☆☆'.substring(5 - rating, 10 - rating );  
}

这种实现方式之所以精妙,是因为它利用了字符串的固定模式和 substring 方法的灵活性来生成不同数量的星星,而不需要使用循环或额外的逻辑来逐个添加或删除星星。这种方法简洁且高效,特别是在需要频繁生成星级评分表示时。

然而,这段代码也有局限性,它假设评分总是整数,并且只支持0到5的评分范围。如果需要支持小数评分或更广泛的评分范围,这段代码将需要相应的调整。

4.欧几里得算法

function gcd(a, b) {  return b ? gcd(b, a % b) : a;   
}

这种递归实现的欧几里得算法非常简洁且高效。它利用了数学上的一个性质:两个整数的最大公约数与它们的余数和较小数的最大公约数相同。即 gcd(a, b) = gcd(b, a % b)。

5.快速幂

function fastPower(b, n) {  if (n === 0) return 1;  const result = fastPower(b, Math.floor(n / 2));  return n % 2 === 0 ? result * result : b * result * result;

用于高效地计算 b 的 n 次方。快速幂算法特别适用于计算大幂次的情况,因为它将幂次的计算复杂度从 O(n) 降低到 O(log n)。

6.并查集

int find(int x){  x==parent[x]:find(parent[x]);  
}

并查集(Union-Find)数据结构中的 find 函数的简洁实现。

递归查找:find 函数通过递归的方式查找元素 x 的根节点。递归会在元素与其父节点不同时,继续查找父节点的父节点,直到找到一个元素其父节点是它自己的元素,即根节点。

路径压缩:代码中的三元运算符 ?: 实现了路径压缩技术。当 x 不是其根节点时(即 x != parent[x]),find 函数会调用自身并传入 parent[x] 作为参数。在递归返回的过程中,每个节点的父节点指针都被更新为最终的根节点,这样可以减少后续查找操作的深度。

http://www.yayakq.cn/news/941932/

相关文章:

  • 自己做的网站怎么上线wordpress文章列表不显示图片
  • 网站页面安全监测建设方案电子商务网址大全
  • 国内做网站群平台的公司厦门做网站优化哪家好
  • 临邑建设局网站外贸营销方式有哪些
  • 直播网站可以做毕设吗百度域名验证网站
  • 国内网站排名seo企业建站系统
  • 青岛网站开发费用公司内部网站维护
  • 贵金属网站建设公司网站制作知乎
  • 门户网站的好处logo设计vi
  • 珠海网络网站建设寻找郑州网站建设公司
  • 高性能网站建设指南 pdf制作网页和网站有啥不同
  • 做一个wordpress模板下载地址网站建设及优化教程
  • 自己开发网站怎么开发wordpress 腾讯云cdn
  • 丹阳火车站对面规划wordpress 特色缩略图
  • 利用免费网站做SEO做旅行网站
  • 搭建了什么样的平台关键词怎么优化
  • 专业网站设计工作室免费发布招聘信息
  • 旅游景点网站建设规划书江苏建设教育培训网
  • 360制作网站flash代码做网站教程
  • 模板网站能用吗一人有限公司怎么注册
  • 注册公司网站的费用泉州建设银行网站
  • 做网站开什么端口vps建设网站
  • 起名字最好的网站企业电话卡
  • 网站开发 毕业设计wordpress首页弹出公告
  • 学校网站建设评审会议通知咖啡店网站模板
  • 建设网站服务器选择制作网站站用的软件下载
  • 郑州网站建设找哪家好山西省住房和城乡建设厅网站
  • 织梦技术网站模版动画制作软件flash
  • 网站建设这个行业如何企业做营销型网站
  • 网站的可行性分析怎么写石家庄站建设费用多少