首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术总结

    算法3

    上两篇: 算法(1) 算法(2) 一、常见的时间复杂度 常用的时间复杂度.png 二、最坏情况和平均情况 最坏情况运行时间是一种保证,那就是运行时间将不会再坏了 平均时间是所有情况中最有意义的 对算法的分析,一种方法是计算所有情况的平均值,这种时间复杂度的计算方法称为时间复杂度。另一种方法是计算最坏情况下的时间复杂度,这种方法称为最坏时间时间复杂度。 三、算法空间复杂度 算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作:S(n) = O(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数. 结尾语: 很多学生,学了四年计算机专业,很多程序员,做了很长时间的编程工作,却始终都弄不明白算法的时间复杂度的估算,这是很可悲的一件事。 算法的重要

    75670发布于 2018-05-22
  • 来自专栏云深之无迹

    Python算法.3

    int(intput('>>>') if i // 10000: print(5): elif i // 1000: print(4) elif i // 100: print(3) #限定5位 if a<10: print(1) elif a<100: print(2) elif a<1000: print(3) print("请输入一个不超过5位的数") nnumber=input(">>>>") length=len(nnumber) if length>4: print(5) elif length>3: print(4) elif length>2: print(3) elif length>1: print(2) else: print(1) number=int(input

    69830发布于 2021-04-28
  • 来自专栏修也的进阶日记

    算法手记3

    36510编辑于 2025-03-14
  • 来自专栏云深之无迹

    Python 算法.3

    单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。

    68120发布于 2021-04-28
  • 来自专栏python3

    算法3

    ---- 摘自传智播客公开课 ---- package test; import java.util.Scanner; public class Arithmetic3 { //题设 break; case 2: System.out.println("青年"); break; case 3:

    39910发布于 2020-01-10
  • 来自专栏数据云团

    算法篇-python排序算法-3

    你能发现它是在某个区间内交换位置,也采用了标志位的做法,那就是先取最左边的元素。

    61430发布于 2019-07-18
  • 来自专栏机器视觉工坊

    AI算法分类

    AI算法分类如下: 一、机器学习算法 监督学习 1、回归算法:线性回归和逻辑回归。 线性回归:进行直线或曲线拟合,一般使用“最小二乘法”来求解。 3、决策树在本质上是一组嵌套的if-else判定规则,从数学上看是分段常数函数,对应于用平行于坐标轴的平面对空间的划分。 无监督学习 7、K均值算法核心:把样本分配到离它最近的类中心所属的类,类中心由属于这个类的所有样本确定。k均值算法是一种无监督的聚类算法。 和其他类型的神经网络一样,循环神经网络是一个判别模型,既支持分类问题,也支持回归问题,并且支持多分类问题 三、大数据算法 数据挖掘&数据分析 推荐算法 四、一些算法本身并不算是一个机器学习算法 ,而是为了解决某个子问题而诞生的机器学习算法的子算法,如深度学习的神经网络的训练一般采用反向传播算法,梯度下降法。

    2.6K20发布于 2020-07-28
  • 来自专栏国产程序员

    垃圾回收算法(3)-标记清除算法

    前言 标记清除算法(Mark-Sweep)是一种非常基础和常见的垃圾收集算法,该算法被J.McCarthy等人在1960年提出并成功的发明并应用于Lisp语言。 这2个名词经常在垃圾收集算法中出现。 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分,比如说我们的应用程序本身。 算法原理 标记清除算法将垃圾回收分为2个阶段,标记阶段和清除阶段。 存在问题 标记清除算法最大的问题是存在大量的空间碎片,因为回收后的空间是不连续的。在对象的堆空间分配过程中,尤其是大对象的内存分配,不连续的内存空间的工作效率要低于连续的空间。 ?

    1.2K10发布于 2020-07-14
  • 来自专栏Initial programming

    初识算法 · 分治(3)

    交易逆序对的总数 - 力扣(LeetCode) 题目分为三个部分讲解,一是题目解析,二是算法原理,三是算法编写,那么,话不多说,直接进行主题咯。 归并排序 题目解析 其实这个题目我们已经在分治1里面做过了,但是在分治1里面使用的是快排,本文介绍分治的另一种算法,即归并排序。 直接就进入原理吧! 算法原理 对于归并排序来说,基本思想是将数组不断的划分,不断的划分,直到划分到了一个数的情况,这么做的原因是为了后面方便合并数组,你想,如果存在两个有序数组,我们想要合并这个有序数组是不是十分容易? 那么对于归并算法同理,我们将数组不断的划分,不断的划分,直到划分为一个元素,此时,我们将该元素视为有序的,所以分治的第一步就完成了,我们应该递归回去了。 那么对于归并排序来说,是将左右划分,并排好序,最后合并,这其实就是树的后序遍历: 对于快排来说,是先确定好了一个元素的位置,然后排序左右两边,这实际上是一种前序遍历: 现在直接算法编写吧!

    30310编辑于 2024-11-26
  • 来自专栏重归混沌

    DC3算法

    算法导论上的LCS(公共子序列)算法并不是很适合我,因为COPY只是去借数据,并不在乎这块数据在哪个位置。 但是其生成算法DC3,我搞了将近2周才总算搞明白。 整个算法一共就分4步,原始数据在buf中,长度为N,(这里仅粗略描述): 1. 将(i % 3 ! 这算法并不是通常见到的,如快排,二分查找,甚至红黑树那么直观。他神奇到,我完全不知道这是在做什么,后缀数组已经排完序了。 在看这个算法时,在第2步我有几个很大的疑惑。 ---- 搞明白之后发现,整个算法的核心思想就是”收敛”, 运用递归的思想不断的收敛,直到比如结果为止。 总的来说这是一个很神奇的算法,有动态规划的影子,各个步骤又配合的天衣无缝。

    86320发布于 2020-04-26
  • 来自专栏TSINGSEE青犀视频

    操作指南:智能分析网关V3AI算法配置步骤

    智能分析网关V3内置了20多种AI算法,可针对安全生产、通用园区、智慧食安、石油化工等场景,提供基于视频智能检测技术的个性化行业解决方案。今天来具体介绍下v3版本的智能分析网关如何配置AI算法。 智能分析网关V3算法配置操作步骤如下: 打开硬件盒子的后台,浏览器输入盒子的IP地址,登录到后台。 该视频流转发到国标服务器使用的通道编号 转发到国标服务:是否开启国标转发,开启后会将该视频流按照[国标通道编号]+国标服务器设置信息,将相机视频流转发到服务器 2、任务配置 任务配置是指将配置的视频通道添加指定的AI 3算法设置 这里我们以离岗、抽烟打电话检测来举例说明。部分算法需要额外配置项来辅助完成算法检测功能。 ? 如果需要绘制多个区域,重复步骤2、步骤3即可。 ? 2)抽烟打电话检测 勾选【抽烟打电话检测】算法后出现三个子开关,分别是:【开启打电话检测】、【开启抽烟检测】、【开启玩手机检测】。

    72520编辑于 2023-07-12
  • AI 算法迭代 3 个版本后,哪些改动必须触发备案更新?

    比如某金融智能投顾算法,连续三个版本优化风险评估参数,累计调整达 42%,最终被监管要求补充备案材料,就是典型案例。​3. 3. 新增跨境数据流动​根据《数据安全法》要求,若算法迭代中新增境外数据采集,或是调整数据出境节点,必须同步提交《数据出境安全评估报告》。​ 尤其社交匹配类算法,若用户画像维度增加(如新增宗教信仰、政治倾向等标签),必须通过备案更新进行合规确认 —— 这类敏感维度的调整,监管审查会更严格。​3. 尤其是经历过实际安全事件后的机制优化(如某图像生成算法处理对抗样本攻击后,升级了安全加固方案),必须在备案中说明改进措施及效果验证数据,确保监管认可安全机制的有效性。​3. 3.

    65810编辑于 2025-08-29
  • 来自专栏强化学习专栏

    聚类算法3)---K-means 算法

    文章分类在AI学习笔记: AI学习笔记(9)---《聚类算法3)---K-means 算法》 聚类算法3)---K-means 算法 1. 理解并掌握感 K-means 算法原理以及物理含义,编写一个简单的基于欧式距离的 K-means 算法进行聚类的例子。 在后面介绍的 K-means 聚类算法中,使用重心距离法会简化计算过程。 3.K-means 算法原理 K-means 算法是一种动态聚类算法。 动态聚类算法的基本步骤是: 选取初始聚类中心及有关参数,进行初始聚类; 计算样本和聚类的距离,调整样本的类别; 计算各聚类的参数,删除、合并或分类一些聚类; 从初始聚类开始,通过迭代算法动态的改变类别和聚类中心 = [1 1 1; 2 2 2]; b3 = [3 3 3; 0 0 0; 5 5 5]; a4 = [1 2 3 4 5 6 7 8 9]; b4 = [1 1 2 3 4 5 6 8 9; 5 5

    47610编辑于 2024-12-03
  • 来自专栏xiaosen

    AI - 聚类算法

    感谢大家的观看 聚类算法概念 聚类算法是一种无监督学习方法,用于将数据集中的对象划分为若干个簇,使得同一个簇内的对象之间具有较高的相似性,而不同簇的对象之间具有较大的差异性。 聚类算法的应用场景: 商业选址:通过分析用户的地理位置信息,聚类算法可以帮助企业确定新店铺的最佳位置,以最大化覆盖潜在客户。 资源优化:在物流和供应链管理中,聚类算法可以帮助优化资源的分配,例如确定最佳的仓库位置或货物配送路线。 聚类算法因其能够在无监督的环境中发现数据的内在结构和模式,而在各个领域都有广泛的应用。 选择合适的聚类算法和参数对于解决特定问题至关重要。这类方法通常需要预先指定簇的数量,并通过迭代优化来找到最佳的数据划分。典型的划分方法包括K-means算法、K-medoids算法等。 代表性的算法有AGNES(自底向上的聚合算法)和DIANA(自顶向下的分裂算法)。

    1.5K10编辑于 2024-03-22
  • 来自专栏AI系统

    AI系统】QNNPack 算法

    对计算进行划分 虽然 QNNPACK 利用了像其他 BLAS 库一样的 PDOT 微内核,但其对具有 8 位元素的量化张量和移动 AI 使用案例的关注带来了非常不同的性能优化视角。 B_3 大小为 15,起始地址为 50。 B_3 大小为 15,起始地址为 30。 内存紧凑化可以通过多种方式实现,下面展示一种常用的方式。 下图以 M 和 N 均为 4,KH 和 KW 均为 3 的情况做出示例。 可以看到,图中标出 A、B、C 共 3 个缓冲区,相邻的两个缓冲区所指向的地址有(KW - Stride)/KW 即 2/3 的区域相同。

    94110编辑于 2024-12-13
  • 来自专栏sofu456

    斗地主ai算法

    牌的识别 识别和过滤,即要知道牌是什么牌,还要过滤出那几张牌是需要的牌 sequence = ['3', '4', '5', '6', '7', '8', '9', '10', item))) return ret def is_sequence(data,id=1): item = list(filter(lambda x:x<len(sequence)-3, >0 and \ (len(seq[0][seq[1].index(3)])>=list(filter(lambda x:x not in seq[0][seq[1].index(3)] [1].index(3)],it[0])).count(2)): return 7 # 飞机 elif seq[1].count(3)>=1: return 6 >=1 and it[1].count(1)>=1: return 3 # 三带一 elif it[1].count(3)>=1: return 2 # 三张

    1.4K10编辑于 2021-12-06
  • 来自专栏AI系统

    AI系统】Winograd 算法

    在本文将重点介绍 Winograd 优化算法,它是矩阵乘优化方法中 Coppersmith–Winograd 算法的一种应用,按照 Winograd 算法的原理将卷积的运算进行转换,从而减少卷积运算中乘法的计算总量 在 Winograd 算法中则是通过增加加法操作来减少乘法操作从而实现计算加速,具体操作如下式所示: \begin{align}F(2,3) = \begin{bmatrix}d_0 & d_1 & d 如下图所示,在输入卷积核的转换过程中,首先通过 Winograd 算法中的卷积核变换矩阵 G 和 G^T 分别将 3 \times 3 的卷积核权重转换为 4 \times 4 在实际工程应用中,Winograd 算法通常只用于处理一些特定的 3 \times 3 卷积,而 1 \times 1 和 7 \times 7 、 5 \times 5 的卷积则不会采用 另一个想法是将 Winograd 算法与空间组织算法结合起来,充分利用局部性和算法分析的优化,将卷积计算通过空间组合优化算法中的拆分方法,将输入拆分成若干个小规模卷积。

    83511编辑于 2024-12-17
  • 来自专栏数据科学与人工智能

    3个机器学习算法

    3、ADABOOST   adaboost 是 bosting 的方法之一。   bosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。    training的时候,会得到每个feature的weight,例如2和3的开头部分很像,这个feature对分类起到的作用很小,它的权重也就会较小。 ?   

    57620发布于 2019-05-28
  • 来自专栏Initial programming

    初识算法 · 位运算(3)

    两整数之和 - 力扣(LeetCode) 题目分为三个部分讲解,一是题目解析,二是算法原理,三是算法编写,那么,话不多说,直接进行主题咯。​ 对于这道题目,要求是让我们找到一大堆数字中只出现过一次的数字,对于只出现一次的数字I和只出现一次的数字III,重复的数字都是重复出现了2次,或者是说找两个重复的数字,但是对于这道题目,它重复出现的数字是重复了3次 ,就相对来说麻烦一点,题目的要求我们清楚了,直接进入到算法原理吧。 算法原理 虽然说是使用的异或运算,但是这里我们不妨列出一个规律: 由于整个数组中,需要找的元素只出现了「⼀次」,其余的数都出现的「三次」,因此我们可以根 据所有数的「某⼀个⽐特位」的总和 %3 的结果, int x : nums) if (((x >> i) & 1) == 1) sum++; sum %= 3;

    29710编辑于 2024-11-19
  • 来自专栏Initial programming

    初识算法 · 滑动窗口(3)

    找到字符串中所有字母异位词 - 力扣(LeetCode) 题目分为三个部分讲解,一是题目解析,二是算法原理,三是算法编写,那么,话不多说,直接进行主题咯。 算法原理 算法原理就非常简单了,需要一个变量判断种类,所以引入变量,又因为数的范围是10的五次方 所以引入的hash表为100001,并且是固定的三部曲,进窗口的时候维护kind,如果最开始为0,那么没有该水果种类 题目要求也是没有要特别注意的,现在就进入算法原理部分。 算法原理 算法一眼判定为滑动窗口,因为我们是用一个连续的区间,来和另一个连续的区间进行比较,那么正常的就是进窗口,出窗口,进行判断,进窗口自然是使用right指针,进窗口之后。 什么时候出窗口呢? 那么优化我们放在算法编写里面。

    35910编辑于 2024-10-16
领券