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

东营两学一做网站网站优化公司免费咨询

东营两学一做网站,网站优化公司免费咨询,app下载赚钱,建设银行对公打不开网站文章目录 1.树状数组2.红黑树3.星星打分4.欧几里得算法5.快速幂6.并查集 在编程的世界里#xff0c;简洁的代码往往隐藏着深邃的智慧。一起来看看那些看似简单#xff0c;实则精妙绝伦的代码片段#xff0c;体会编程语言的优雅与力量。 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){ xparent[x]:find(parent[x]); }并查集Union-Find数据结构中的 find 函数的简洁实现。 递归查找find 函数通过递归的方式查找元素 x 的根节点。递归会在元素与其父节点不同时继续查找父节点的父节点直到找到一个元素其父节点是它自己的元素即根节点。 路径压缩代码中的三元运算符 ?: 实现了路径压缩技术。当 x 不是其根节点时即 x ! parent[x]find 函数会调用自身并传入 parent[x] 作为参数。在递归返回的过程中每个节点的父节点指针都被更新为最终的根节点这样可以减少后续查找操作的深度。
http://www.dnsts.com.cn/news/165387.html

相关文章:

  • 建设厅官方网站企业库网络公司哪家好
  • 帮别人建设网站成都旅游几月份去最佳时间
  • 企业顺德网站建设html5经典网站
  • jsp网站开发总结宁波专业网站制作服务
  • wap电影网站建设昆山做网站
  • 虚拟主机建设网站两个公司网络架构
  • 福建省建设注册执业资格管理中心网站网店货源一件代发货
  • 外贸网站 设计公司网站制作内容
  • 网站设计团队介绍wordpress 新浪博客
  • 电子商务网站cms手机app开发 网站建设
  • 杭州煜灿网络科技有限公司网站开发股票推荐怎么做网站
  • 北京建设信源网站 怎么打不开网站的备案信息域名不一样
  • 婚纱摄影的网站怎么做岗网站制作
  • 张家界公司网站建设网站建设三方合同范本
  • 深圳哪做网站做网站收广告费
  • 建设手机银行网站网站百度收录是什么意思
  • 精通网站开发书籍世界建设企业网站
  • SEO案例网站建设上海企业网站建设费用
  • wordpress 文章回收站在线作图软件有哪些
  • 长治网站建设公司我要做电商怎么做
  • 设计师图片素材网站海安网站开发
  • 外贸seo网站建站贵州省建设厅公示网站
  • 网站设计方案书ppt百度推广登陆平台登录
  • 贵州旅游网站建设策划书旅游网站建设流程
  • 注册网站要多久怎么做网站在里面填字
  • 网站后台管理系统 asp免费视频模板网站
  • 做装饰公司网站6动漫设计是什么
  • 县级网站建设培训会桐梓网站开发
  • 网站开发生命周期模型如何学习网站开发编程
  • 大气金融网站企业展厅公司