摘要: Djikstra算法 Dijkstra算法: Dijkstra算法常用于求无负权边中的最短路, 在优化后有比Bellman-Ford算法优秀很多的时间复杂度。 同样的,我们引入记号: G = <V,E>代表一个简单有向图(简单图:没有重边和自环) n = |V|代表顶点数 m = |E|代表边数 l(u,v)代表u到v的 阅读全文
posted @ 2022-04-24 10:10 Conqueror712 阅读(142) 评论(0) 推荐(0)
摘要: 最短路算法入门(Bellman-Ford算法) 前置: 对于无向图中的一条边(u↔v),可以看作有向图中两条边(u→v)and(v→u)的结合。 我们可以通过这种方式把无向图转化为有向图, 从而使用有向图的最短路算法。 图的一些记号: G = <V,E>代表一个简单有向图(简单图:没有重边和自环) n = |V|代表顶点数 m = |E|代表边数 阅读全文
posted @ 2022-04-16 15:04 Conqueror712 阅读(105) 评论(0) 推荐(0)
摘要: Heap堆的基本功能数组实现 众所周知,堆是一种很好用的数据结构,是基于完全二叉树的。 1 //堆的数组实现 2 const int Maxsize = 10000; 3 int len = 0; //记录当前size 4 int heap[Maxsize+1]; 5 6 //当然也可以用vector实现 7 vector <i 阅读全文
posted @ 2022-04-13 23:50 Conqueror712 阅读(52) 评论(0) 推荐(0)
摘要: Backpack_Problem背包问题 背包问题入门篇 首先当然是我们最熟悉的01背包啦! 最简单的想法是,二维dp数组,不考虑其他的优化。 状态: dp[i][j] 表示取第 i 个物品,总体积为 j 时候的情况。 那么我们就会获得两种转移情况,对于下一个物品。一种是取了,一种是没取。 于是我们获得了状态转移方程: dp[i][j] = 阅读全文
posted @ 2022-04-06 10:25 Conqueror712 阅读(40) 评论(0) 推荐(0)
摘要: 二叉树入门简析 给出一些二叉树的入门级(确信)使用方法: 1 //用递归的方式建立一个完全二叉树 2 void Bulid(int t){ 3 UpdateData(t); //添加数据 4 Build(t + t); //如果子节点存在 5 Build(t + t + 1); 6 //用这种方法建立非完全二叉树 阅读全文
posted @ 2022-04-05 18:27 Conqueror712 阅读(37) 评论(0) 推荐(0)
摘要: List链表的基本功能结构体实现 这里直接以插入排序和归并排序的代码来介绍单向链表: 1 //结构体实现链表 插入排序 2 struct Node{ 3 int value; 4 Node *next; 5 //Node *prev; //双向链表 6 Node *head = NULL; //NULL表示一个空节点,实际上是一个定 阅读全文
posted @ 2022-04-01 16:08 Conqueror712 阅读(61) 评论(0) 推荐(0)
摘要: KMP算法简析 暂且就先以一道洛谷板子题作为讲解吧, 直接上代码,部分代码参考了优秀的大佬们的优秀的题解。(确实人家的码风很好呜呜呜) 1 #include<bits/stdc++.h> 2 #define ios ios::sync_with_stdio(false);cin.tie(0),cout.tie(0) 阅读全文
posted @ 2022-03-31 22:06 Conqueror712 阅读(49) 评论(0) 推荐(0)
摘要: Queue队列的基本功能数组实现 类似地,鉴于STL的队列有或多或少的功能缺失,于是我们就来手写一个队列。 以下是代码,功能有待完善。 1 //数组实现队列的简单操作 2 int q[100001]; 3 int front = 1,rear = 0; 4 5 void Push(int x){ 6 q[++rear] = x; 7 阅读全文
posted @ 2022-03-29 20:26 Conqueror712 阅读(70) 评论(0) 推荐(0)
摘要: Stack栈的基本功能数组实现 鉴于STL的栈有或多或少的功能缺失,于是我们就来手写一个栈。 以下是代码,功能有待完善。 1 //栈的简单操作 数组实现 2 int s[100001]; //创建栈 3 int top = 0; //创建头指针,一开始在底部 4 5 void Push(int x){ 6 s[++top] = x 阅读全文
posted @ 2022-03-28 20:58 Conqueror712 阅读(30) 评论(0) 推荐(0)
摘要: 大整数BigInteger 这里用结构体实现大整数类。 主要功能有:输入 输出 四则运算 幂运算 比较运算。 代码如下: 1 #include<bits/stdc++.h> 2 #define ios ios::sync_with_stdio(false);cin.tie(0),cout.tie(0) 3 typedef lo 阅读全文
posted @ 2022-03-26 15:13 Conqueror712 阅读(49) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示