上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 问题:给定 n 行和 m 列的二维数组矩阵。如图所示,以 ZIG-ZAG 方式打印此矩阵。 从对称的角度来看,通过反复施加滑行反射可以从简单的图案如线段产生规则的之字形。 主要思想:算法从(0, 0)位置开始水平向右遍历,当到达(0, 1)时沿着反对角线方向左下遍历(利用一个变量控制左下右上方向), 阅读全文
posted @ 2019-12-10 23:49 賣贾笔的小男孩 阅读(2701) 评论(0) 推荐(0) 编辑
摘要: 双重散列是线性开型寻址散列(开放寻址法)中的冲突解决技术。双重散列使用在发生冲突时将第二个散列函数应用于键的想法。 此算法使用: (hash1(key) + i * hash2(key)) % TABLE_SIZE 来进行双哈希处理。hash1() 和 hash2() 是哈希函数,而 TABLE_S 阅读全文
posted @ 2019-12-07 23:04 賣贾笔的小男孩 阅读(9788) 评论(0) 推荐(0) 编辑
摘要: 一、AVL 树 在计算机科学中,AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为 1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是 O(log(n))。插入和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。 阅读全文
posted @ 2019-12-05 23:40 賣贾笔的小男孩 阅读(2304) 评论(0) 推荐(0) 编辑
摘要: 一、算法介绍 普里姆算法(Prim's algorithm),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。像 Kruskal算法一样,Prim算法也是贪婪算法。 二、Prim算法思想 Prim算 阅读全文
posted @ 2019-12-03 21:32 賣贾笔的小男孩 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 一、算法介绍 Kruskal算法是一种用来查找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪心算法的应用。和Boruvka算法不同的地方是,Kruskal 算法在图中存在相同权值的边时也有效。最小生成树是一副 阅读全文
posted @ 2019-12-01 23:18 賣贾笔的小男孩 阅读(1877) 评论(0) 推荐(0) 编辑
摘要: 一、算法介绍 Floyd-Warshall算法(英语:Floyd-Warshall algorithm),中文亦称弗洛伊德算法,是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。Floyd-Warshall算法的时间 阅读全文
posted @ 2019-11-27 19:19 賣贾笔的小男孩 阅读(3403) 评论(0) 推荐(0) 编辑
摘要: 一、基于邻接表的Dijkstra算法 如前一篇文章所述,在 Dijkstra 的算法中,维护了两组,一组包含已经包含在最短路径树中的顶点列表,另一组包含尚未包含的顶点。使用邻接表表示,可以使用 BFS 在O(V + E)时间中遍历图的所有顶点 。这个想法是使用 BFS 遍历图的所有顶点,并使用最小堆 阅读全文
posted @ 2019-11-26 20:55 賣贾笔的小男孩 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 一、算法介绍 迪杰斯特拉算法(英语:Dijkstra's algorithm)由荷兰计算机科学家艾兹赫尔·迪杰斯特拉在1956年提出。迪杰斯特拉算法使用了广度优先搜索解决赋权有向图的单源最短路径问题。这个算法是通过为每个顶点 v 保留当前为止所找到的从s到v的最短路径来工作的。 初始时,原点 src 阅读全文
posted @ 2019-11-24 20:25 賣贾笔的小男孩 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 一、背景及介绍 在数学中,辗转相除法,又称欧几里得算法(英语:Euclidean algorithm),是求最大公约数的算法。两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。例如,252和105的最大公约数 阅读全文
posted @ 2019-11-22 00:13 賣贾笔的小男孩 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 一、Huffman算法介绍 霍夫曼编码(英语:Huffman Coding),又译为哈夫曼编码、赫夫曼编码,是一种用于无损数据压缩的熵编码(权编码)算法。在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现几率的方法得到的,出现 阅读全文
posted @ 2019-11-22 00:11 賣贾笔的小男孩 阅读(2678) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页