随笔分类 - 啊哈!算法
摘要:一、图的最小生成树 找出一个有权重连通图中的最小生成树,即:具有最小权重且连接到所有结点的树。(强调的是树,树是没有回路的)。 镖局运镖 已知城镇地图如下,顶点是城镇编号,边上的值表示这条道路上打点绿林好汉需要的银子数。 目的:镖局可以到达任意一个城镇,要求花费的银子越少越好。 实质:使用最少的边使
阅读全文
摘要:输入 14 99 5 36 7 22 17 46 12 2 19 25 28 1 92 输出 1 2 5 7 12 17 19 22 25 28 36 46 92 99 一、堆排序,利用最小堆,进行排序 1 #include <stdio.h> 2 int h[100], n; 3 void swa
阅读全文
摘要:一、Floyd-Warshall——加入点(多源最短路径,核心算法只有五行) 城市之间的最短路径 输入: 4 8 1 2 2 1 3 6 1 4 4 2 3 3 3 1 7 3 4 1 4 1 5 4 3 12 输出: 0 2 5 4 9 0 3 4 6 8 0 1 5 7 10 0 1 #incl
阅读全文
摘要:深度和广度优先搜索: 单词分解:首先是搜索 深度和广度:是针对图的遍历而言的 图:由顶点和边组成 图的遍历:把图中每一个顶点都访问一次 一: 输入: 5 5(顶点数,边数) 1 2 1 3 1 5 2 4 3 5 输出: 1 2 4 3 5 (按时间戳输出)深度遍历 1 2 3 5 4 (按时间戳输
阅读全文
摘要:一、深度优先搜索DFS 深度优先搜索DFS的关键思想是:当下应该怎么做(每个方法都试一遍),这一步解决后,进入下一步,下一步的解决方法和这一步的解决方法是一样的 DFS的基本模型 void dfs(int step) { 判断边界 尝试每一种可能 for(i=1;i<=n;i++) { 继续下一步
阅读全文
摘要:目描述(ID:12033) 输入 13 13 ############# #GG.GGG#GGG.# ###.#G#G#G#G# #.......#..G# #G#.###.#G#G# #GG.GGG.#.GG# #G#.#G#.#.### ##G...G.....# #G#.#G###.#G# #
阅读全文
摘要:深刻理解这些数据结构的思想,数据结构与算法是紧密联系在一起的 一、队列 新学期开始了,小哈是小哼的新同,小哼向小哈询问QQ号,小哈当然不会直接告诉小哼。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除
阅读全文
摘要:一、桶排序 最快最简单的排序—桶排序 桶的个数M,输入个数规模为N 时间复杂度:O(M+N) 空间复杂度:O(M) 优点:算法思想简单,类似与标记的概念 缺点:空间浪费严重,且对输入的数据范围之类的要求严格 1 //桶排序 2 #include <stdio.h> 3 #include <stdli
阅读全文

浙公网安备 33010602011771号