2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络中,只有当 graph[i][j] = 1 时,节点 i 能够直接连接到另一个节点 j。...只要两个节点直接连接, 且其中至少一个节点受到恶意软件的感染,那么两个节点都将被恶意软件感染。 这种恶意软件的传播将继续,直到没有更多的节点可以被这种方式感染。...假设 M(initial) 是在恶意软件停止传播之后,整个网络中感染恶意软件的最终节点数。 我们可以从 initial 中删除一个节点, 并完全移除该节点以及从该节点到任何其他节点的任何连接。...4.统计在同一个initial的所有节点中,连接的总节点数,找出连接数最多的initial节点。 5.返回最小索引的节点。...空间复杂度为O(n),其中n是节点数,因为需要使用一个并查集数组来存储节点的父节点,另外还需要使用一个数组来记录每个节点是否被感染和每个initial节点的连接数量。
2025-01-14:K 秒后第 N 个元素的值。用go语言,给定两个整数 n 和 k,我们开始时有一个长度为 n 的整数数组 a,其中每个元素均为 1。...在每秒的更新中,数组的每个元素都会被其前面所有元素的和与自身相加。...3. pow 函数用来计算 x 的 n 次方的结果,并且对 mod 取模。这个函数会在计算逆元的过程中使用。 4. valueAfterKSeconds 函数用来计算经过 k 秒后第 n 个元素的值。...首先计算出当前数组的值,然后按照规则更新数组 n+k-1 次,最终返回 a[n-1] 的值对 mod 取模的结果。...总的额外空间复杂度: • 在 main 函数中,除了 n 和 k 外没有额外的空间占用,复杂度为 O(1)。
2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capacity包含m个元素,表示m个不同箱子的容量。...有n个包裹,每个包裹内装有指定数量的苹果,以及m个箱子,每个箱子的容量不同。 任务是将这n个包裹中的所有苹果重新分配到箱子中,最小化所需的箱子数量。...需要注意的是,可以将同一个包裹中的苹果分装到不同的箱子中。 需要计算并返回实现这一目标所需的最小箱子数量。 输入:apple = [1,3,2], capacity = [4,3,1,5,2]。...• 如果 s 大于 0,继续尝试将苹果放入下一个箱子,更新 s 为剩余苹果的数量。 5.如果循环结束时仍未返回箱子数量,说明无法将所有苹果重新分装到箱子中,返回 -1。...总的时间复杂度: • 计算苹果总数的时间复杂度为 O(n),n 为苹果数量。 • 对箱子容量进行排序的时间复杂度为 O(m log m),m 为箱子数量。
2024-12-11:数组最后一个元素的最小值。用go语言,给定两个整数 n 和 x,构造一个长度为 n 的正整数数组 nums,使得数组中相邻元素递增且所有元素按位与的结果为 x。...返回可能的最小 nums 数组中的最后一个元素的值。 1 n, x <= 100000000。 输入:n = 3, x = 4。 输出:6。...解释: 数组 nums 可以是 [4,5,6] ,最后一个元素为 6 。 答案2024-12-11: chatgpt[1] 题目来自leetcode3133。...大体步骤如下: 1.计算变量 bitCount,表示 n 和 x 转换为二进制后的位数差。 2.设置初始解 res 为 x,并初始化另一个变量 m 为 n - 1。...5.返回最终的 res 值,即可能的最小 nums 数组。 总体时间复杂度: • 该算法的时间复杂度取决于 bitCount,即 O(bitCount)。
用go语言,给定一个整数 n 和一个二维数组 requirem)ents,其中每个元素 requirements[i] = [endi, cnti] 表示在要求中末尾的下标以及逆序对的数量。...在一个整数数组 nums 中,如果存在一个下标对 (i, j),使得 i nums[j],则称这对 (i, j) 为逆序对。...输入保证至少有一个 i 满足 endi == n - 1 。 输入保证所有的 endi 互不相同。 输入:n = 3, requirements = [[2,2],[0,0]]。 输出:2。...大体步骤如下: 1.定义常量 MOD,表示取余值为 1e9 + 7。 2.编写函数 numberOfPermutations(n, requirements) 来计算符合要求的排列数量。...3.初始化一个要求映射 reqMap,记录每个末尾下标及其逆序对数量的要求。同时找出最大的逆序对数量 maxCnt。
2023-01-06:给定一个只由小写字母组成的字符串str,长度为N,给定一个只由0、1组成的数组arr,长度为N,arri等于 0 表示str中i位置的字符不许修改,arri 等于 1表示str中i...位置的字符允许修改,给定一个正数m,表示在任意允许修改的位置,可以把该位置的字符变成a~z中的任何一个,可以修改m次。...返回在最多修改m次的情况下,全是一种字符的最长子串是多长。1 N, M n) + 1; let str = random_string(n, rr); let mut arr...let mut change = 0; for l in 0..n { // l......r -> while r n {
2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子。...在筛选过程中,每轮选择一个孩子时,所有尚未选中的孩子的幸福值都会减少 1。需要注意的是,幸福值不能降低到负数,只有在其为正数时才能减少。 我们的目标是尽可能使选中的k个孩子的幸福值之和最大化。...3.在选出的 k 个孩子中,逐个孩子判断幸福值是否大于等于当前所在位置的索引值,如果是,将幸福值与当前索引值相减,并累加到最终的结果中,表示该孩子的贡献幸福值。...4.最终返回累加的结果作为最大化幸福值之和的输出。 时间复杂度分析: • 排序的时间复杂度为 O(n*log(n)),n 为孩子的数量。...• 选 k 个孩子时,需要遍历最多 k 个元素,时间复杂度为 O(k)。 • 因此,总的时间复杂度为 O(n*log(n) + k)。
11月26日的学习笔记:阅读原文进入CSDN链接 题目 给定一个浮点格式(IEEE 754),有k位指数和n位小数,对于下列数,写出阶码E、尾数M、小数f和值V的公式。另外,请描述其位表示。...解决 前置知识一:IEEE 754 IEEE 754约定,计算机中浮点数二进制表示为: 数字形式: 符号:s 尾数:M,是一个位于区间[1.0, 2.0)内的小数 阶码:E 编码形式: ?...真实的阶码值需要减去一个偏置(biased)量: E = Exp - Bias Exp: exp域所表示的无符号数值 Bias的取值: 单精度数: 127(Exp:1...254,E:-126...127...前置工作二:总结特性 抛开例题,来看一个例子: 8位浮点数表示:exp域宽度为4 bits,frac域宽度为3 bits。则,其偏置量的值为2^(4-1) - 1 = 7....现在的任务有两个: 不能有小数(C为小数,则E不可以大于n); 是奇数(是奇数则过于浪费,因此使为奇数)。
输入n n为数组元素的个数 2. 输入n个数 存储到一个数组中 3. 用Arrays对数组进行排序 4....找出最大的偶数(输出内容的最后一个元素后面不带空格,输出的最后一个元素是最大的偶数) 5. 输出奇数 6....java.util.Arrays; import java.util.Scanner; public class Odevity { /* OJ题库ID1007:奇偶数 给定一个长度为...Input 输入有两行,第一行输入一个数字n表示数组的长度, 第二行依次输入n个数字,表示数组的元素值。...(" ") 所以要判断是否是最后一个元素 // 已知奇数在左 偶数在右 并且是按照顺序排序 那么最后一个元素就是最大的偶数 // 前面已经找到最大的偶数了
4.找出给定范围内的所有点 matlab还内置了一个函数nearest,可以在给定范围内找出所有符合的节点。...matlab实现 1.Floyd_algorithm函数 用于求解一个权重邻接矩阵任意两个节点之间的最短路径 function [dist,path] = Floyd_algorithm(D) %%...该函数用于求解一个权重邻接矩阵任意两个节点之间的最短路径 % 输入: % D是权重邻接矩阵 % 输出: % dist是最短距离矩阵,其元素dist_ij表示表示i,j两个节点的最短距离...% path是路径矩阵,其元素path_ij表示起点为i,终点为j的两个节点之间的最短路径要经过的节点 n = size(D,1); % 计算节点的个数 % 初始化dist矩阵 dist...end 2.print_all_path函数 求解一个权重邻接矩阵任意两个节点之间的最短路径,并打印所有的结果出来 function [] = print_all_path(D) %% 该函数的作用是求解一个权重邻接矩阵任意两个节点之间的最短路径
文心一言: 传递闭包(Transitive Closure)是图论中的一个重要概念,它表示如果从一个顶点到另一个顶点存在一条路径,则在传递闭包中这两个顶点之间有一条直接路径。...它通过一个三维数组 dist 来记录顶点之间的路径信息。dist[i][j][k] 表示从顶点 i 到顶点 j 是否经过顶点 k 的路径。...传递闭包可以用来表示一个集合中所有元素之间的可达性关系。例如,在一个有向图中,传递闭包可以告诉我们从一个节点是否可以通过一系列边到达另一个节点。...智谱清言: 在离散数学中,传递闭包是关系的一个概念,它表示关系中的所有传递的二元组。给定一个关系R,其传递闭包是包含R中所有元素的最小关系,同时也是一个传递关系。...算法思路(假设基于Warshall算法) • 对于一个(n\times n)的关系矩阵(M),我们通过不断更新矩阵中的元素来得到传递闭包。
常见的Queue面试问题 使用队列实现堆栈 反转队列的前k个元素 使用队列生成从1到n的二进制数 链表 链表是另一个重要的线性数据结构,它最初可能看起来类似于数组,但在内存分配,内部结构以及如何执行插入和删除的基本操作方面有所不同...检测链表中的循环 从链接列表中的末尾返回第N个节点 从链表中删除重复项 图 图是一组以网络形式相互连接的节点。...一对(x,y)称为边,表示顶点x连接到顶点y。边可以包含权重/成本,显示从顶点x到y遍历所需的成本。 ?...图的类型: 无向图 有向图 在编程语言中,图形可以使用两种形式表示: 邻接矩阵 邻接表 常见的图遍历算法: 广度优先搜索 深度优先搜索 常见的Graph采访问题 实现广度和深度优先搜索 检查图形是否为树...以下是树木的类型: N-ary树 平衡树 二叉树 二叉搜索树 AVL树 红黑树 2-3树 常见的Tree面试问题 找到二叉树的深度 在二叉搜索树中查找第k个最大值 查找距离根“k”距离的节点 在二叉树中查找给定节点的根节点
顶点的度定义为该顶点所关联的边的数量,对于有向图它还分为出度和入度,出度是指从一个顶点射出的边的数量,入度是连入一个节点的边的数量。...无向图可以用三元组形式化的表示: (V,E, w) 其中V是顶点的集合,E是边的集合,w是边的权重函数,它为每条边赋予一个正的权重值。...定义顶点i的加权度为与该节点相关的所有边的权重之和,即邻接矩阵每一行元素之和 ? 定义加权度矩阵D为一个对角矩阵,其主对角线元素为每个顶点带权重的度 ? 其中n为图的顶点数。...,此时要求解的最优化问题为 ? 为方便表述,给定一个子集A,构造指示向量f=(f1,...,fn) T,表示每个样本所属的簇即子图,其元素的取值为 ? 根据该向量的定义有 ?...对于NCut最后求解的是如下广义特征值问题 ? 在完成特征值分解之后,保留k个最小的特征值和它们对应的特征向量,构成一个n×k的矩阵,矩阵的每一行为降维后的样本数据。
6.1 图的逻辑结构 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G=(V,E) 其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。...假设图G=(V,E)有n个顶点,则邻接矩阵是一个n×n的方阵,定义为: 无向图的邻接矩阵 无向图的邻接矩阵的特点: 主对角线为 0 且一定是对称矩阵。...求顶点i的度: 邻接矩阵的第i行(或第i列)非零元素的个数。 判断顶点 i 和 j 之间是否存在边: 测试邻接矩阵中相应位置的元素arc[i][j]是否为1。...当一个结点n的parent==-1,树的根节点即为n) 如何将一条边所依附的两个顶点合并到同一个连通分量中 要进行联通分量的合并 ,其中一个顶点所在的树的根节点为vex1,另一个顶点所在的树的根节点为...数组s[n]:存放源点和已经找到最短路径的终点,其初态为只有一个源点v。 迪杰斯特拉算法的主要步骤如下: (1) g为用邻接矩阵表示的带权图。
也就是看邻接矩阵中具体值,一节邻近度描述了两节点是否相连,是否存在边。 二阶临近度(Second-Order ) 给定 N_u=\{s_{u,1},......对于节点 i 的输入特征 x_i (邻接矩阵第 i 行),经过 K 层全连接层的编码器(隐含层神经元个数递减),嵌入到一个低维空间,得到嵌入向量 y_i^{(K)} ,然后再经过 K 层的全连接层的解码器...{|Q|} precision@k 中, index(j) 是排序后的第 j 个顶点, \Delta_i(j)=1 表示节点 v_i 和 v_j 之间存在一条边。...precision@k(i) 表示对于第 i 个顶点,学习到的图表示中,最有可能相连的前 k 个顶点中(也就是对学习到的邻接矩阵第 i 行排序),有多少个是原图中和节点 i 相连的。...对于GraRep,结果看起来更好,相同颜色的点形成了分段的组,但是不同组之间的边界并不是非常清晰。 对于SDNE,显然在集群分类和边界方面都表现得最好,表明了SDNE在可视化任务中的优越性。
1、概念 1.定义 图(graph)是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系的集合组成。 二元组定义:G=(V,E) V:表示元素的非空有限集合。...元素通常称为顶点(Vertex)。 E:表示元素之间关系的有限集集合。 如果图的边限定为从一个顶点指向另一个顶点,即每条边都是顶点的有序偶对,称之为有向图(directed graph)。...由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区的位置来表示元素之间的关系,即图没有顺序映像的存储结构,但可以借助数组来表示数据元素之间的关系。...它采用两个数组来表示图:一个是用于存储所有顶点信息的一维数组,另一个是用于存储图中顶点之间关联关系的二维数组,这个关联关系数组也被称为邻接矩阵。 ? ?...缺点: 除完全图外,其他图的邻接矩阵有许多零元素,特别是当n值较大,而边数相对完全图的边n-1又少的多时,则此矩阵称为稀疏矩阵,非常浪费存储空间。
如何将存储在磁盘上的邻接矩阵输入到 R 程序中,是进行社交网络分析的起点。在前面的章节中已经介绍了基本的数据结构以及代码结构,本章将会面对一个实质性问题,学习如何导入一个图以及计算图的一些属性。...图的文件表示 导入一个图 生成人工网络 图的基本分析 图的文件表示 在计算机中,最常见的两种表示图的基本结构是邻接矩阵和邻接表。...以最简单的无权无向图为例,邻接矩阵中第 行第 列的元素 如果等于 1,则表示顶点 和顶点 之间有边,即邻接矩阵将所有节点之间的关系都表示出来。...邻接表则是对顶点 建立一个单链表,这个单链表由顶点 的所有邻居节点构成,即邻接表只是把存在关系的节点表示出来。 网络上许多公开的数据集更常使用三元组去表示一个图。...下面是一个三元组的示例,以第一行的三元组 (1, 2, 1) 为例,它表示有一条从顶点 1 指向顶点 2 的边,并且该边的权重为 1。对于无权图而言,通常会省略三元组中的第三个元素。
二、网络的应用 从网络分析方法角度来看,网络的应用可以分为以下几类: 节点分类(Node classification):预测一个给定节点的类型; 链路预测(Link prediction):预测两个节点是否是关联...知识图谱:知识图谱是异构图很好的例子,图的每一个结点具有不同的含义。可以对给定领域的知识进行编码。 推荐系统:预测一个用户的偏好,可以抽象为在一个二部图中预测边是否存在。...首先要知道如何构建一个图,构建一个图的两个关键是弄明白点是什么,边是什么。对于一个给定问题能否选择一个合适的网络决定了能否成功使用网络。...3.3 图的表示方式 常见的图的表示方式有三种,邻接矩阵,边列表和邻接表。邻接矩阵最常用。 邻接矩阵(Adjacency Matrix): 定义:如果点之间有边,矩阵对应位置为1,假设邻接矩阵 ?...即代表i和j有边相连,无向图的邻接矩阵是一个对称矩阵。如果是有向图的话,点i和点j之间存在有向边,则 ? 为1, ? 则为0。接下来看一个例子,如何构建邻接矩阵。 ?
图的存储结构分为邻接矩阵和邻接表两种。 邻接矩阵 1. 图的邻接矩阵 图的邻接矩阵为表示图的各顶点之间关系的矩阵。...设G=(V,E)是n个顶点的图,则G的邻接矩阵用n阶方阵G表示,若(Vi ,Vj )或属于E(G),则G[i][j]为1,否则为0。 ?...带权图(网)的邻接矩阵 设G=(V,E)是n个顶点的图,则G的邻接矩阵用n阶方阵G表示,若(Vi ,Vj )或 属于 E(G),则G[i][j]为边或弧的权Wij,否则Vi与Vj间无边或弧...以下是无向图的邻接表示例。 ? 以下是有向图的邻接表示例,每个单链表上记录是该顶点的出度。 ? 对于有向图,有时需要建立一个逆邻接表,记录每个顶点相关联的入度。 ? 2....邻接表表示在检测边数方面比邻接矩阵表示效率要高。 ? 3. 计算图的度 (1). 对于无向图,第i个链表的结点数为顶点Vi的度; (2).
交互的类型有很多,包括点击、购买等,这里简化为是否交互,不区分具体类型,定义一个矩阵 X \in \mathbb{R}^{m\times n} ,m是会话集合大小,n是商品集合大小,其中的元素等于1表示有交互...随着k的增加,x_k收敛到一个分布。...为了在随机游走中利用商品转移矩阵,每个元素应该是从一个节点到另一个节点的转移概率。...给定矩阵 X,该模型使用与现有线性模型中使用的相同输入和输出矩阵来制定。同时,放宽了 B 的零对角约束以处理重复的物品消费。当 B 的对角元素被松散惩罚时,它允许我们重复预测与下一个商品相同的商品。...\end{aligned} 3.4.2 推理 给定一个新会话 s_{new} ,我们表示一个会话向量 x_{new} 并使用 M 计算接近分数。预测下一个商品的接近分数 x_{new}M 。
领取专属 10元无门槛券
手把手带您无忧上云