首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后端知识开放麦

    Java快速幂算法:从递归与迭代到矩阵应用

    1 快速幂算法基础快速幂算法用来计算 $a^n$,其中 $a$ 是底数,$n$ 是指数。 1.3 应用场景快速幂在多个领域都很有用:密码学:RSA 加密需要计算大整数的幂取模,快速幂配合模运算能加快加密解密速度。数论计算:求高次幂、模运算,解决离散对数等问题。 图形学:计算矩阵的高次幂,比如图形变换的多次迭代。 :用位运算 (n & 1) 检查 n 的最低位如果最低位是 1,就把当前的 a 乘到结果里每次循环让 a 平方,n 右移一位2.3 带模运算的快速幂实际应用中经常需要对结果取模,防止数值溢出:public Java 中可以用递归或迭代方式实现,还能结合取模运算避免溢出。矩阵快速幂扩展了这个算法的应用范围,在解决线性递推、图论路径等问题时很有用。选择哪种实现方式要看具体需求。

    30520编辑于 2025-09-18
  • 来自专栏Vegout

    迭代器和快速失败机制

    作为一种设计模式,在各种语言中都有对应的应用,今天主要说的就是java中对迭代器模式的应用(想说说其他地方的也不敢说,怕说错…)!java提供了两个接口 Iterator和Iterable。 ,这个迭代器从何而来呢? 众所周知,foreach循环内部就是用迭代器对容器的元素进行迭代的,如果一个容器不提供迭代器是不能使用foreach的,于是我们来验证一下我们改造的结果 public class Main { 记录下这个版本号,并且在迭代的过程中一直对两个变量的相等关系进行检测,一旦发现两个元素不等,迭代器就会抛出异常,终止这次遍历,这个机制称为——快速失败(fail-fast)! expectedModCount进行了同步,所以不会触发快速失败机制。

    63730发布于 2019-07-03
  • 来自专栏蒙奇D索隆的学习笔记

    【算法】 递归实战应用:从暴力迭代快速幂的优化之路

    (递归的应用) 导读 大家好,很高兴又和大家见面啦!!! 在上一篇内容中,我们通过经典的汉诺塔问题深入探讨了递归算法的核心思想。 当我们面对LeetCode第50题《Pow(x, n)》时,朴素的迭代方法在指数范围达到 -2^{31} \leq n \leq 2^{31} - 1 时会显得力不从心。 从汉诺塔问题的分治思想,到快速幂的二分策略,递归始终贯穿着"化繁为简"的核心哲学。 快速幂算法不仅是一个高效的数学工具,更是算法优化思维的完美体现。 递归的世界远不止于此,在接下来的内容中,我们将继续探索递归在更多经典问题中的应用,如二叉树的遍历、回溯算法等,进一步深化对这种强大编程范式的理解。 下篇预告:递归在数据结构中的应用——二叉树的深度优先遍历 互动与分享 点赞 - 您的认可是我持续创作的最大动力 收藏⭐ - 方便随时回顾这些重要的基础概念 转发↗️ - 分享给更多可能需要的朋友

    29810编辑于 2025-11-26
  • 来自专栏腾讯云TI平台

    【技术分享】快速迭代聚类

    快速迭代算法和谱聚类算法都是将数据点嵌入到由相似矩阵推导出来的低维子空间中,然后直接或者通过k-means算法产生聚类结果,但是快速迭代算法有不同的地方。下面重点了解快速迭代算法的原理。 2 快速迭代算法的原理   在快速迭代算法中,我们构造另外一个矩阵W=D−1AW=D−1A ,同第一章做比对,我们可以知道W的最大特征向量就是拉普拉斯矩阵L的最小特征向量。 计算一个矩阵最大的特征向量可以通过一个简单的方法来求得,那就是快速迭代(即PI)。 PI是一个迭代方法,它以任意的向量v0v0作为起始,依照下面的公式循环进行更新。 快速迭代的收敛性在文献【1】中有详细的证明,这里不再推导。   快速迭代算法的一般步骤如下: 2.png   在上面的公式中,输入矩阵W根据W=D−1AW=D−1A来计算。 3 快速迭代算法的源码实现   在spark中,文件org.apache.spark.mllib.clustering.PowerIterationClustering实现了快速迭代算法。

    1.1K50发布于 2019-07-04
  • 来自专栏音视频技术

    千帆直播快速迭代全历程

    全民直播 前两个版本还是一个传统的PC应用,给它套了一个APP的壳。清明节的时候,我们在这个APP上增加 “开播”功能。 小版本迭代:要求十个工作日,也就是两周的时间可以打包一个小的版本。 大版本迭代:不超过30个工作日。 然后再组装到其他平台,比如华为市场,应用市场等等。原因是APP端有个特点,就是APP在Release之后很难去收回的,也不会强制用户去升级。 还有关于针对某个功能去打的版本,比如说我们针对的一个特定的新闻场景,需要去打一个横屏版;针对特殊的主播产品需要去打一个音乐版;还有应用宝的这种定制的版本。 比如说我们上午还在讨论这个问题,观众的到达率是一个很头疼的的话题,为了保证一个观众能够打开并且能够快速的打开,我们需要去准备多个文件备份,比如你说需要去换多个CDN厂商,上行和下行是分开做,码率也是一样

    1.9K10发布于 2021-09-02
  • 来自专栏不安分的猿人

    快速迭代-自助快递系统升级了

    格式 获取ExcelWriter对象,并写入组装好的数据 excelRows 设置response头信息,内容类型等信息 刷新输出流,并关闭writer,out 四、项目运行效果 项目前端 主要方便快速查询快递信息

    1.2K20发布于 2020-05-08
  • 来自专栏代码人生

    java迭代应用 源码探究

    blog.csdn.net/luo4105/article/details/54176346 Iterator(迭代器 是一个接口,它定义了三个操作方法 boolean hasNext(); //判断序列中下一个元素是否存在 E next(); //获得序列中的下一个元素. void remove(); //将迭代器新返回的元素删除 (4) 使用remove()将迭代器新返回的元素删除。 迭代应用: ArrayList<Integer> l = new ArrayList<Integer>(); l.add(1); l.add(2); l.add(3); Iterator<Integer ); System.out.println(i); } 发现一个有意思的一点,在java中foreach的写法for(obj a : objb){} objb的对象类必须实现Iterable(迭代

    56630发布于 2019-10-30
  • 来自专栏HarmonyOS Next快速入门

    HarmonyOS Next快速入门:条件语句和循环迭代

    ##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##点击跳转《HarmonyOS Next快速入门》视频教程条件语句使用规则支持if、else和else if语句。 某些容器组件限制子组件的类型或数量,将条件渲染语句用于这些组件内时,这些限制将同样应用于条件渲染语句内创建的组件。 break; } default: { console.log('非法输入'); break; } }循环迭代当一个对象实现了 Symbol.iterator属性时,我们认为它是可迭代的。 一些内置的类型如Array,Map,Set,String,Int32Array,Uint32Array等都具有可迭代性。

    15400编辑于 2025-06-23
  • 快速迭代!小程序版本管理实用技巧

    快速迭代!支付宝小程序版本管理实用技巧嘿,各位程序猿小伙伴们‍!欢迎来到支付宝小程序开发的奇妙世界。 在这个充满挑战与机遇的领域里,小程序的版本管理可是个超级重要的环节呢,它就像是给你的小程序打造了一个坚固的 “成长轨道”️,让你的小程序能够顺利地迭代升级,变得越来越强大。 发布后,我们还需要收集用户反馈,根据反馈来决定是否需要进行新的版本迭代。开发分支管理策略在支付宝小程序开发中,合理的分支管理策略能够提高开发效率,避免代码冲突,同时方便团队协作。 修复分支是从主分支创建的,专门用于快速修复线上问题。修复完成后,需要将修复分支合并回主分支和开发分支,以确保线上版本和后续开发版本都包含了修复内容️。 版本管理贯穿小程序开发的整个生命周期,掌握好这些技巧,能让你的开发流程更加顺畅,小程序迭代更加高效。希望大家在实际开发中多多运用,不断积累经验。

    73910编辑于 2025-04-30
  • 来自专栏数据猿

    深入机器学习系列之:快速迭代聚类

    快速迭代算法和谱聚类算法都是将数据点嵌入到由相似矩阵推导出来的低维子空间中,然后直接或者通过k-means算法产生聚类结果,但是快速迭代算法有不同的地方。下面重点了解快速迭代算法的原理。 2 快速迭代算法的原理 ? 在大多数情况下,我们只关心第k(k不为1)大的特征向量,而不关注最大的特征向量。 这是因为最大的特征向量是一个常向量:因为W每一行的和都为1。 快速迭代的收敛性在文献【1】中有详细的证明,这里不再推导。 快速迭代算法的一般步骤如下: ? 3 快速迭代算法的源码实现 在spark中,文件org.apache.spark.mllib.clustering.PowerIterationClustering实现了快速迭代算法。 度向量会给图中度大的节点分配更多的初始化权重,使其值可以更平均和快速的分布,从而更快的局部收敛。详细情况请参考文献【1】。 (3)快速迭代求最终的v ? (4)使用k-means算法对v进行聚类 ?

    99010发布于 2019-11-20
  • 来自专栏cwl_Java

    快速学习-Python迭代器和生成器

    迭代器和生成器 迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 14.1 迭代器生成 字符串,列表或元组对象都可用于创建迭代器 list=[1,2,3,4] it = iter(list) # 创建迭代器对象 print(next(it)) # 输出迭代器的下一个元素 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。 调用一个生成器函数,返回的是一个迭代器对象。

    41410发布于 2020-03-23
  • 来自专栏公众号-测试驿栈

    快速迭代的项目中减少测试返工

    概述   在互联网产品中,产品的迭代速度越来越快,项目中的测试同学面临着前期需求摇摆不定,中间各种开发进度死锁,而发布时间却无法推迟。项目的前期阶段似乎总是在压榨着测试的执行时间。 这样做,还可以减少上线后不必要的修复、缩减N次迭代,避免扯皮。 需求分析阶段   需求一定要有优先级和重要程度。对于尝试性的需求,在保障质量的同时,尽量减少投入工作量。 无论是在本次项目中,还是后续版本的迭代中需要不断的进行重复测试,保障最核心功能的质量。测试人在需求分析阶段尽可能细的拆分需求,通过场景法及各种异常分支流,验证产品的功能是否完善,提前发现问题。   

    90040发布于 2019-09-04
  • 来自专栏新智元

    田渊栋:快速迭代的人工智能

    【新智元导读】Facebook 人工智能研究所成员田渊栋认为,arXiv 的出现加速了同行评议,程序和框架的开源也加剧了技术迭代的过程。 但这样过于灵活自主的评议和迭代,让人工智能研究者的思维方式也发生了转变,让计算机参与推理和判断逐渐成为主流。 相比其它方向动辄半年一年的审稿周期,迭代之快,更新之速,史无前例。 从这个趋势上来看,能快速利用各种工具达成目标的,能快速阅读及写出代码的,有强大工程能力的,在就业市场上都有巨大优势;若是再有基础扎实,能快速读懂文章,从中获取新知识并举一反三,经验丰富,看文能抓住要点痛点下手 然而要做到这一步,需要在这样的快速迭代中静下心来积累经验,日久方能见效。 人工智能火爆的背后,是多少天才你来我往的战斗,在这个高维空间里攻城拔寨,刺刀见红。

    86150发布于 2018-03-22
  • 来自专栏小旋锋的大数据专栏

    设计模式 | 迭代器模式及典型应用

    本文的主要内容: 介绍迭代器模式 源码分析迭代器模式的典型应用 Java集合中的迭代器模式 Mybatis中的迭代器模式 迭代器模式 迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象 在迭代器模式中应用了工厂方法模式,抽象迭代器对应于抽象产品角色,具体迭代器对应于具体产品角色,抽象聚合类对应于抽象工厂角色,具体聚合类对应于具体工厂角色。 示例.迭代器类图 迭代器模式总结 迭代器模式的主要优点如下: 它支持以不同的方式遍历一个聚合对象,在同一个聚合对象上可以定义多种遍历方式。 在迭代器模式中只需要用一个不同的迭代器来替换原有迭代器即可改变遍历算法,我们也可以自己定义迭代器的子类以支持新的遍历方式。 迭代器简化了聚合类。 源码分析迭代器模式的典型应用 Java集合中的迭代器模式 看 java.util.ArrayList 类 public class ArrayList<E> extends AbstractList<E

    75820发布于 2019-01-21
  • 来自专栏python3

    Python函数名应用闭包迭代

    函数名的应用.   函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执行函数的变量.     1. 迭代器     __iter__() 可迭代对象. 获取迭代器     __next__() + __iter__() 迭代器   特点:     1. 惰性机制     2. 节省内存   for循环的内部就是迭代器 lst = [1,2,4] it = lst.__iter__() # 获取迭代器 while 1:   try:    it. __next__() # 从迭代器中获取数据   except StopIteration:     break Iterable: 可迭代的 Iterator: 迭代

    73010发布于 2020-01-15
  • 来自专栏吾非同

    快速学习Python之迭代器和生成器

    迭代器 什么是可迭代对象? 我们知道list、tuple、dict、set、 str 可以用for循环遍历,这种遍历称为迭代(Iteration),被遍历的list或tuple等被称为可迭代对象。 什么是迭代器( Iterator) 迭代器是一个具有迭代功能的对象,它从集合的第一个元素开始访问,直到所有的元素被遍历完,它有两个基本的方法iter()和next()。 其中iter()用来创建迭代器对象,next()用于遍历对象的元素。 集合数据类型如 list 、 dict 、 str 等是可迭代的, 但不是迭代器 ,不过可以通过 iter() 函数获得一个 Iterator 对象。 for语句就是通过__iter__()方法来获得迭代器对象,接着不停的调用迭代器对象的__next__()方法,循环遍历取值。

    55831发布于 2020-10-26
  • 来自专栏java达人

    快速失败Vs安全失败(Java迭代器附示例)

    Java快速失败与安全失败迭代器 : java迭代器提供了遍历集合对象的功能,集合返回的迭代器有快速失败型的也有安全失败型的,快速失败迭代器在迭代时如果集合类被修改,立即抛出ConcurrentModificationException 我们来看看快速失败和 安全失败迭代器的具体细节。 java快速失败迭代器 : 大多数集合类返回的快速失败迭代器在遍历时不允许结构性修改(结构性修改指添加,删除和更新一个元素) 当遍历的同时被结构性修改,就会抛出ConcurrentModificationException 快速失败迭代器运行原理: 所有的集合类都维护着一个对象数组(Object[]),用来存储元素, 快速失败迭代器直接从数组中获取元素,在迭代过程中,总是假定该内部数组不会被修改。 ArrayList,Vector,HashMap等集合返回的迭代器都是快速失败类型的。

    1.6K70发布于 2018-01-31
  • YashanDB数据库在快速迭代开发中的角色

    随着软件开发流程向敏捷化和持续交付演进,快速迭代开发已成为主流实践。数据库系统作为业务核心支撑,其性能、稳定性和灵活性直接影响开发效率和应用上线周期。 本文围绕YashanDB数据库,深入剖析其技术架构与功能优势,重点探讨其如何助力快速迭代开发环境的业务支撑和技术提升,旨在为数据库管理员、应用开发人员及架构师提供技术指引。 不同部署形态可根据业务迭代需求灵活调整,保障快速上线与平滑扩容。 高可用保障使快速迭代中部署频率提高,业务部署安全无忧。 合理配置内存和线程资源:根据应用负载调整共享内存缓存、线程池和并行度参数,提升系统整体吞吐能力,适应快速开发的压力变化。

    27510编辑于 2025-09-02
  • 来自专栏python3

    迭代器的应用以及说明的问题

    一般使用for循环的顺序:   先创建一个迭代器:列表,并且列表内已存在数据   接着使用 for循环遍历列表 但这样存在一个问题,假如列表内的数据量很大,这样还未使用for循环便已经被列表占用很大的资源 这时我们就可以将这个迭代器做成一个生成数据的迭代器,而非只是占用大资源的数据,从而减少资源占用 python2里有range和xrange,而前者和后者区别是,range就像是那个占用大资源的数据,xrange 则是生产数据的迭代器 python3并没有xrange,它的range就是一个生产数据的迭代器 同理,list(),和tuple(),之间并非简单的转换,而是创建了一个空列表/元组,然后不断将原列表/元组的数据添加到空列表 /元组中,也就是生产数据的迭代器 例子中 for循环遍历的nums是已经存在需要遍历的所有数据 # 未使用迭代器的斐波那契数列例子 nums = list() a = 0 b = 1 i = 0 while i += 1 for num in nums: print(num) 例子中 for循环遍历的nums需要用几个到才去生产几个(即每遍历获取一个num,才生产一个数据) # 使用了迭代器的斐波那契数列的例子

    46620发布于 2020-01-17
  • 来自专栏腾讯安全应急响应中心

    小步快跑,快速迭代:安全运营的器术法道

    二、安全运营是什么 互联网业务的快速发展产生了很多新概念,最重要的就是系统/产品的“运营”,即指系统的快速迭代过程,用朴素的语言描述就是业务遇到问题“先抗住,再优化”。 那么,什么是安全运营呢? 相比于传统行业,互联网业务本身讲究小步快跑快速迭代,所以运营的迭代也很快,安全运营也继承了这个特性(更多关于互联网业务系统运营的思路,可以参考腾讯的海量服务之道)。 ,AI应用到安全场景是个新东西,所以特别邀请腾讯内部安全人员和外部白帽子来测试效果,结果发现一堆问题,赶紧修复之。 所以人工找漏洞这种策略短期内快速收敛安全风险可以,作为长期工作持续运营是不现实的。 一旦架构被广泛应用,出现安全问题修复困难。这么多年了,SQL注入漏洞还是存在而且量很大。

    95310发布于 2020-08-12
领券