首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏工科狗和生物喵

    】Dijkstra算法

    正文之前 好久没弄C++了,上学期颓废了半学期,这学期开学就搞课程设计快疯了。待会要考试CSP,所以弄点代码储备,待会到了考场说不定能省点功夫! 正文 #include<iostream> usin

    1.3K30发布于 2018-07-24
  • 来自专栏秘籍酷

    算法(各种排序算法,有!)

    用 Objective-C 实现几种基本的排序算法,并把排序的过程图形化显示。其实算法还是挺有趣的 ^ ^. 选择排序 冒泡排序 插入排序 快速排序 选择排序 以升序为例。 因我们不讨论三向切分的快排优化算法,所以这里答案是:不理它。 随着一趟一趟的排序,它们会慢慢被更小的元素往后挤,被更大的元素往前挤,最后的结果就是它们都会和枢轴一起移到了中间位置。 结果很明显,当某个算法所需要进行的比较操作越少时,它排序就会越快(根据上面四张的比较,毫无疑问快排所进行的比较操作是最少啦~)。 那么如何模拟出比较操作的耗时时间呢?

    1.4K30发布于 2019-08-08
  • 来自专栏算法channel

    算法|Dijkstra算法python实现

    01 — Dijkstra算法的理论部分 关于Dijkstra算法的原理部分,请参考之前的推送: 算法|Dijkstra最短路径算法 Dijkstra算法总结如下: 1. 此算法是计算从入度为0的起始点开始的单源最短路径算法,它能计算从源点到图中任何一点的最短路径,假定起始点为A 2.

    3.6K60发布于 2018-04-02
  • 来自专栏机器之心

    图论与学习(二):算法

    本文是其中第二篇,介绍了算法。 前一篇文章介绍了的主要种类以及描述一个的基本特性。现在我们更加详细地介绍分析/算法以及分析的不同方式。 一 寻路和搜索算法 寻路算法是通过最小化跳(hop)的数量来寻找两个节点之间的最短路径。 搜索算法不是给出最短路径,而是根据的相邻情况或深度来探索。这可用于信息检索。 1. 和 SCC 一样,并查集通常用在分析的早期阶段,以理解的结构。 并查集是一个预处理步骤,为了理解的结构,在任何算法之前都是必需的。 四 总结 现在我们已经介绍了的基础知识、的主要类型、不同的算法和它们使用 networkx 的 Python 实现。

    4.3K22发布于 2019-08-06
  • 来自专栏菜鸟学数据分析之R语言

    gcRMA算法-聚类分析PCA

    ) > library(affycoretools) > data("CLLbatch") > data("disease") > CLLgcrma<-gcrma(CLLbatch) #使用gcrma算法预处理数据 通过采用两个主成分构建分类,可以看出稳定组(矩形)和恶化组(菱形)根本不能很好分开,在主成分分析时,考虑两个组成分的代表性以及累计贡献率,若低于60%,需要采用多维尺度分析

    1.4K40发布于 2020-08-06
  • 来自专栏mathor

    的常见算法

    的表示方式  是由一系列点和边的集合构成的,一般有邻接矩阵和邻接表两种表示方式,c/c++可以看我的这篇文章:搜索(1)  这篇文章主要讲java语言中的相关算法。  的拓扑排序以下图来举例,假设你要学课程A,但是课程A有先导课,必须上完先导课才能上A,因此你必须先上BCD,但是由于BD也有先导课K,所以必须先上K。  的最小生成树算法用于无向,只选择图中的某些边,达到整体边的权重加起来是最小的,并且各个点之间是连通的,连通的意思是假设[1,2]之间有条边,[2,3]之间有条边,那么[1,3]之间就是连通的,的最小生成树算法有两个 ,分别是K算法和P算法,他俩产生的结果都是一样的,只不过决策的过程不一样。 K算法 ?  以上面的图为例,K算法的思想是以边进行考虑,优先选择小权重的边。

    1.6K20发布于 2018-08-17
  • 来自专栏软件开发 -- 分享 互助 成长

    的遍历算法

    前言:学习的遍历算法之前,需要先了解一下的存储方式(这里只以无向作为讨论了)。

    1.3K70发布于 2018-02-05
  • 来自专栏算法channel

    算法|Dijkstra最短路径算法

    比如,从A到D的最短路径,通过肉眼观察可以得出为如下,A->C->D,距离等于3+3=6,其中A->C边上的数值3称为权重,又知这是无向,从C到A的权重也为3。 ? 02 — Dijkstra算法求单源最短路径 这个算法首先设置了两个集合,S集合和V集合。S集合初始只有源顶点即顶点A,V集合初始为除了源顶点以外的其他所有顶点,如下图所示: ? 设置一个从A到各顶点的缓存字典,作为算法的输出,初始时,统一设置为 -1, ? 选取最小距离,即B进入S集合,并且,Dijkstra算法要和dist字典中A->B 距离做一次比较, 如果dist(A->B)! 以上分析就是Dijkstra算法的基本思想,直到集合V的元素个数为0为止,最终的dist字典如下: ? 03 — Dijkstra算法总结 算法的基本思路: 1. 初始化两个集合,S集合和V集合。

    7.1K50发布于 2018-04-02
  • 来自专栏null的专栏

    推荐算法——基于的推荐算法PersonalRank算法

    推荐的算法有很多,包括协同过滤(基于用户的协同过滤和基于物品的协同过滤)以及其他的一些基于模型的推荐算法。 二、基于的推荐算法PersonalRank算法 1、PersonalRank算法简介 在协同过滤中,主要是将上述的用户和商品之间的关系表示成一个二维的矩阵(用户商品矩阵)。 而在基于的推荐算法中,将上述的关系表示成二部的形式,为用户A推荐商品,实际上就是计算用户A对所有商品的感兴趣程度。 PersonalRank算法对通过连接的边为每个节点打分,具体来讲,在PersonalRank算法中,不区分用户和商品,因此上述的计算用户A对所有的商品的感兴趣的程度就变成了对用户A计算各个节点B,C, PersonalRank算法的具体过程如下(对用户A来说): 初始化: PR(A)=1,PR(B)=0,⋯,PR(d)=0 PR\left ( A \right )=1,PR\left ( B \

    3.1K30发布于 2019-01-31
  • 来自专栏null的专栏

    推荐算法——基于的推荐算法PersonalRank算法

    推荐的算法有很多,包括协同过滤(基于用户的协同过滤和基于物品的协同过滤)以及其他的一些基于模型的推荐算法。 二、基于的推荐算法PersonalRank算法 1、PersonalRank算法简介 在协同过滤中,主要是将上述的用户和商品之间的关系表示成一个二维的矩阵(用户商品矩阵)。 而在基于的推荐算法中,将上述的关系表示成二部的形式,为用户A推荐商品,实际上就是计算用户A对所有商品的感兴趣程度。 PersonalRank算法对通过连接的边为每个节点打分,具体来讲,在PersonalRank算法中,不区分用户和商品,因此上述的计算用户A对所有的商品的感兴趣的程度就变成了对用户A计算各个节点B,C,

    3.3K100发布于 2018-03-20
  • (二):python dHash算法

    different Hash算法 dHash中文叫差异哈希算法,在对图片进行哈希转换时,通过左右两个像素大小的比较,得到最终哈希序列。相比于aHash算法。dHash速度快,判断效果也要好。

    9910编辑于 2026-01-23
  • 来自专栏机器学习AI算法工程

    :Python实现dHash算法

    向AI转型的程序员都关注了这个号 机器学习AI算法工程   公众号:datayx 期研究了一下以这个炫酷的东西。百度和谷歌都有提供以的功能,有兴趣可以找一下。当然,不是很深入。 这个问题也是困扰了我,在偶然的机会,看到哈希感知算法。这个分两种,一种是基本的均值哈希感知算法(dHash),一种是余弦变换哈希感知算法(pHash)。dHash是我自己命名的,为了和pHash区分。 大致算法就是这样,汉明距离的代码我没给出,这个比较简单。一般都是在数据库里面进行计算,得到比较小的那些图片感知哈希值。 当然,实际应用中很少用这种算法,因为这种算法比较敏感。 在dHash算法中,它们是不同的。而我们肉眼可以看出其实是一样的。前面说过dHash算法比较较真、比较敏感。若要处理一定程度的变形,得要调整一下这个算法。 pHash算法就是基于dHash算法调整而来的,用第一次计算得到的值进行余弦变换。所以命名为余弦哈希感知算法。它可以识别变形程度在25%以内的图片。

    1.9K20编辑于 2022-03-04
  • 来自专栏Excel和Access学习笔记

    算法和流程

    大家好,今天不写代码,改为教大家画画,不过不是教素描或者油画之类的,而是画流程。 在画流程之前,先简单介绍下算法的概念,理解即可。然后通过画流程来复习下前面学过的几种程序控制结构。 根据这些方法和步骤来编写计算机程序代码,这些具体的步骤和方法就是解决问题的算法。 根据算法,选择一种编程语言来编写可以完成任务的代码,就是编制程序。 对于复杂的应用程序,我们在开始编写代码之前,都应先设计起算法。 二、流 程 流程就是一种描述算法的方式,相比于纯文字的描述,可以把解决问题的思路以更清晰、直观的方式展现出来,有助于更好的设计程序过程。 那么首先来看一下常用的流程图符号(在excel中“插入”选项卡,插入“形状”,流程部分都有下列常用的符号。) ? 下面就通过流程来复习下学习过的控制程序结构。

    3.2K20发布于 2019-10-14
  • 来自专栏工科狗和生物喵

    】广度优先算法(BFS)

    正文之前 好久没弄C++了,上学期颓废了半学期,这学期开学就搞课程设计快疯了。待会要考试CSP,所以弄点代码储备,待会到了考场说不定能省点功夫! 正文 #include <iostream> #include<queue> #define Max 1000 using namespace std; struct Graph { int a[10][10]; }; bool visited[10]; queue<int> path; int width=0; void BFS(Graph tu

    1.1K40发布于 2018-07-24
  • 来自专栏半生瓜のblog

    】最短路径算法

    的最短算法 从起点开始访问所有路径,可以到达终点的有多条地址,其中路径权值最小的为最短路径。 最短路径算法有深度优先遍历、广度优先遍历、Bellman-Ford算法、弗洛伊德算法、SPFA(Shortest Path Faster Algorithm)算法和迪杰斯特拉算法等。 void createGraph(AdjListGraph& G) { cout << "请输入该的顶点数以及边数" << endl; cin >> G.vex >> G.edge; cout first;//头插法-类似于hashtable中的插入数据 temp->weight = weight; G.adjlist[i1].first = temp; } } } //的最短路径算法 ;//路径回退 } temp = temp->next; } } int main(void) { AdjListGraph G; //初始化 initGraph(G); //创建

    3.6K20编辑于 2023-05-13
  • 来自专栏营琪的小记录

    算法:树和-理论

    关于Map数据类型可以访问,算法:列表List、映射Map、集合Set-理论 public class TreeMap<K,V> extends AbstractMap<K,V> implements 这个算法直接看容易懵,需要按图服用。下面给出每种情况调用的图例。 情况1,父亲节点在祖父节点左边,且叔叔节点为红色。 ? fixAfterInsertion方法逻辑顺序 ? 引入 在树的基础上,我们知道当前节点中有多个指向下一节点的引用,假如还存在零个及以上指向上一节点(或者根节点)的引用,我们称之为(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个,V是G中顶点的集合,E是G中边的集合。 ? JDK源码中好像并没有这种数据结构。 下面给出几个Java实现的博文。 Java数据结构和算法- 数据结构(Java随笔)—

    1.3K10发布于 2019-11-04
  • 来自专栏芋道源码1024

    排序算法总结(多

    概述 算法名称 复杂度 实现关键 冒泡排序 O(n^2) (无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。 选择排序 O(n^2) (有序区,无序区)。

    87830发布于 2018-10-26
  • 来自专栏全栈程序员必看

    遍历算法的应用

    1.判断的连通性 的遍历算法可以用来判断的连通性。如果一个无向是联通的,如果无向是联通的,则从任一节点出发,仅需一次遍历就可以访问图中的所有节点。 如果无向是非联通的,则从某一节点出发,一次遍历仅能访问到该顶点所在联通分量的所有顶点,而对于图中其他联通分量的顶点,则无法通过这次遍历访问。 对于有向来说,若从初始点到图中的每个顶点都有路径,则能够访问到图中的所有顶点,否则不能访问到所有顶点。

    89310编辑于 2022-08-19
  • 来自专栏程序萌部落

    布局算法的发展

    不过在早期的研究阶段中,针对的数据规模一般较小,并未达到单机处理极限,可视化研究的重点大都集中在布局模型的探索,这一时期出现的力导向模型为布局的发展起到了重要作用,众多布局算法均由其改进而来。 除此之外,这一阶段也产生了许多基于其他模型的布局算法。 力导向布局算法也称 FDP(Force-Directed Placement)算法是目前在布局算法上应用最为广泛的算法,其在自然规则模型(弹簧或电荷力)的指导下,能以人类易理解的形式充分展现的整体结构 ,通用性强,在的布局算法中占据主导地位。 ;国内研究者也开始关注这一内容,2015年,赵玉聪等人根据分层扩展的思想,提出了一种基于匹配的分层布局算法 [23] ,递归的对大进行简化和布局,同时还研究了对简化布局结构的反向扩展,为分层布局算法提供了一种新的思路

    2.5K30发布于 2019-08-08
  • 来自专栏Web行业观察

    雷达生成算法

    首先进行阶级分析,这个雷达(虽然不知道这种图案与现代雷达有什么关联)由3个部分组成,分别是: 同心圆环剔除 扇形渐变(极坐标的线性渐变) 圆形剔除 所以我们一个一个做。 首先我们看fract函数,图像在x轴上方: 下面的图像是fmod奇函数: 所以思考算法的时候一定要想象函数图像,才能一目了然。 由于像素到圆心距离是0~0.5,我们先对0.2取余(影响圆环的数量),然后取图像上大于0.15的部分作为圆环的宽度,于是得到了如下的算法: 得到的buffer如下,仍然是通过step函数得到0或1, 使用的截屏插件(滚动截长):Blueprint Graph Screenshot (Regardless of screen size) 此shader的整体性能: User interpolators

    1.2K40发布于 2021-09-07
领券