数据结构
文章平均质量分 66
&后来&
记录每一个灵感的瞬间
展开
-
Dijkstra最短路算法
之前在比赛中用到了dijstra最短路算法, 用于计算一个顶点到其他节点的最短距离和路径.以起点为源点,向外扩展的方式,搜寻当前步骤下能找到的最短距离.#include <iostream>#include <vector>#include <limits.h>#include <algorithm>using namespace std;// 邻接矩阵-无向图// adj[i][j] == 0 表示 i j 不相邻vector<ve原创 2020-09-07 15:48:55 · 216 阅读 · 0 评论 -
Topk实现(C++)
小顶堆实现topk#include <iostream>#include <vector>using namespace std;void uptodown(vector<int>& heap, int k, int pos){ int i = pos; int j = 2 * i + 1; while (j < k) { if (j < k - 1 && heap[j] > heap[j + 1])原创 2020-09-12 17:30:38 · 1911 阅读 · 0 评论 -
最小生成树的PRIM算法(c++实现)
原文链接在网络搭建中,最小生成树有其广泛的应用.本文是作者学习了PRIM算法实现最小生成树之后的笔记体会.欢迎指正批评.1.概述设G =(V,E)是无向连通带权图,即一个网络。E中每条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树。网络的最小生成树在实际中有广泛应用。例如,在设计通信网络时,用图的顶点表示城市,用边(v,w)的权c[v][w]表示建立城市转载 2020-09-13 20:39:48 · 1925 阅读 · 0 评论 -
有向图环路检测
有向图环路检测原创 2022-11-04 17:20:17 · 1199 阅读 · 3 评论 -
动态规划从入门到关门
动态规划从入门到关门引例每当听到动态规划这个词的时候,总有一种抽象,排斥的想法,我们准备先不管TM的动态规划是个啥,家在哪,在哪工作?玩个游戏先,这个游戏叫爬楼梯爬楼梯邻居家的小孩总是爱爬楼梯,有一天你去邻居家做客,看见小朋友又在爬楼梯。你,伫立良久…这时,阿姨给你洗了个水果,招呼你快坐,你拉着阿姨,深情地看着她,又指了指小朋友,问道:假如你家有nnn 阶楼梯,才能到达二楼。每次小朋友可以爬 $1 $或 222 个台阶。小朋友有多少种不同的方法可以爬到楼顶呢?阿姨:…你能帮阿姨解决这个问题吗?原创 2022-04-19 10:58:09 · 394 阅读 · 0 评论 -
算法设计与分析基础-笔记-下
分治法分治法是按照一下方案工作的:将一个问题划分为同一类型的若干子问题,子问题最好规模相同。对这些子问题求解(一般使用递归方法,但在问题规模足够小时,有时也会利用另一个算法)有必要的话,合并这些子问题的解,已得到原始问题的答案。分治法对于并行计算时非常理想的,因为各个子问题都可以由各自的CPU同时计算。合并排序合并排序是成功应用分治技术的一个完美例子。对一个需要排序的数组A[0..n−1]A[0..n-1]A[0..n−1] ,合并排序把它一分为二:A[0..⌊n/2⌋−1]A[0..\原创 2022-02-19 21:27:36 · 434 阅读 · 2 评论 -
算法设计与分析基础-笔记-上
算法设计与分析基础绪论什么是算法一系列解决问题的明确指令,对于符合一定规范的输入,能够在有限的时间内获得要求的输出。例子:最大公约数:俩个不全为0 的非负整数mmm和nnn的最大公约数记为gcd(m,n)gcd(m,n)gcd(m,n),代表能够整除(即余数为0)mmm 和nnn的最大正整数。欧几里得算法gcd(m,n)=gcd(n,m mod n)(m mod n表示m除以n 之后的余数)gcd(m,n)=gcd(n, m \ mod \ n原创 2022-01-18 14:02:43 · 2757 阅读 · 0 评论 -
常用数据结构及复杂度
原文链接: https://www.cnblogs.com/gaochundong/p/data_structures_and_asymptotic_analysis.html常用数据结构的时间复杂度如何选择数据结构Array (T[])当元素的数量是固定的,并且需要使用下标时。Linked list (LinkedList)当元素需要能够在列表的两端添加时。否则使用 List。Resizable array list (List)当元素的数量不是固定的,并且需要使用下标时。Stack转载 2020-08-05 22:35:09 · 361 阅读 · 0 评论 -
数据结构之树
树的相关概念:二叉树基本概念参考链接:https://www.cnblogs.com/QG-whz/p/5168620.html原创 2020-04-02 22:00:30 · 83 阅读 · 0 评论 -
数据结构之排序
本文将对数据结构中的排序进行归纳学习1.排序框图整理通常排序有以下俩种操作:(1)比较俩个关键字大小(2)将记录从一个位置移动到另一个位置2.程序实现插入排序:(1)直接插入:void Sort::Swap(T*a, T *b){ T temp = *a; *a = *b; *b = temp;}/*直接插入排序*/void Sort::InsertSort(T...原创 2020-04-02 21:58:43 · 115 阅读 · 0 评论