摘要: 目录 结构体,这里讨论的都是带头节点的 一、单链表建立 1、头插法:利用头指针控制链表节点的增加 代码: 2、尾插法: 二、遍历 三、插入:(pos代表要插入的位置) 四、删除 五、销毁 六、查找 单链表的查找分为按位查找和按值查找(只讨论带头结点) 七、... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 目录 1、基本操作: 2、参考文献: 3、注意 4、代码实现 1、基本操作: 1.创建树 2.递归/非递归先中序遍历 3.递归/非递归后续遍历 4.层次遍历 5.递归/非递归交换左右子树 6.查找父节点 7.计算节点数/叶子节点数/有两个孩子的... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(35) 评论(0) 推荐(0) 编辑
摘要: //递归求路径!适用于任何最短路算法的保存路径输出//pre[i] 记录路径,pre[i] 表示点 i 是从 pre[i] 连过来的,即 i 的前驱是 pre[i]void print(int x) { if(pre[x] == -1... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 目录 介绍: 1.冲突 2.哈希函数 3.存储结构: 4.离散化: 5.基本操作:O(1) 应用: 一.拉链法 二.直接寻址法 介绍: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(24) 评论(0) 推荐(1) 编辑
摘要: 目录 模板 应用场景 例题 注意这种写法会出现 Segmentation Fault 模板 for (int i = 0, j = 0; i #include using namespace std;const int N = 100010;int... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 目录 大值 乘 大值: 题目链接:A*B Problem - 洛谷 高精度加法 高精度减法 高精度乘法 高精度除法(带余数) 为什么要压位呢?当我们的一个数很大, 大到数组空间开不到那么多位了, 我们考虑压位来解决问题, 压多少位, 数组空间将变为多少分之一... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(113) 评论(0) 推荐(0) 编辑
摘要: #搜索#1.BFS最短路性质边的权重为1时,BFS有最短路性质,DFS不具有2.应用场景BFS:最小步数,最短距离,最少操作几次 DFS:算法思路比较奇怪,对空间要求比较高3.DFS回溯和剪枝DFS,又称爆搜,搜索顺序可以看成一棵树 DFS回溯(恢复现场):每... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 目录 DFS与BFS 最短路算法大纲 最小生成树与二分图算法大纲 DFS框架 朴素Djisktra算法 堆优化Djikstra算法 Bellman-Ford Prime算法框架 spfa算法框架 拓扑排序框架​ DFS与BFS 最短路算... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 目录 1.Prime算法 思路:类似于djikstra算法 堆优化Prime算法 大话数据结构Prime算法模板,可以保存最小生成树中的边集和路径 2.Kruskal算法 思路: 二分图:二分图_百度百科 (baidu.com) 3.染色法判断二分... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 目录 1.朴素dijkstra算法 2.堆优化版dijkstra算法 分析 为什么Dijkstra不能处理(有些)负权边 负权概念 3.Bellman-Ford算法 几点说明: 2.memcpy()函数:memcpy_百度百科,memcpy... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(46) 评论(0) 推荐(0) 编辑