
算法基础
文章平均质量分 93
记录算法基础课
shallrelow
一个计算机小白,西安工业大学,目前大二,微信号:shallrelow,欢迎交流
展开
-
最小生成树基础
最小生成树问题原创 2024-11-28 18:48:58 · 712 阅读 · 0 评论 -
有向图的拓扑排序
若排序后满足,图中的任意一条有向边(u, v),u的位置都在v的前面,则称为拓扑排序该图的拓扑排序为A B C D,AC 边A在C的前面,BC边BZ在C的前面.......所有边都满足定义。原创 2024-11-28 18:48:38 · 870 阅读 · 0 评论 -
染色法判定二分图
若将图的节点可以分为两个集合 u 和 v ,所有节点都只和另一个集合的节点连通,不和所在节点存在边,那么该图被称为是一个二分图下面的则不是一个二分图。原创 2024-10-16 12:49:41 · 638 阅读 · 0 评论 -
kmp算法
假设有两个字符串S和P我们需要从字符串S中找到字符串P,并给出具体下标首先定义两个下标变量 i、 j先模拟一下kmp的核心之处下标 i 指向 a 开始进行匹配直到指向 c 的时候,这时候发现 值不一样了,需要重新进行匹配,但是实际情况是,下标 j 不需要退那么多,下标 j 只需要退到 第一个b字母处(j+1为第二个a字母处)原因是kmp算法当中,会有一个ne数组,用于记录匹配不成功后,下标 j 退的最少的坐标ne数组的长度和 被找的字符串的长度一样比如刚才的 a b a b e。原创 2024-09-08 16:50:51 · 706 阅读 · 0 评论 -
二叉树的相关选择题和基本方法(持续更新)
如果一棵树从1开始按下图一层一层的顺序编号,如果在到最后一个节点前没有出现空节点,那么则这棵树是完全二叉树在此图中,如果10之前只要存在一个节点不存在,则就不是完全二叉树。原创 2024-09-08 16:49:37 · 717 阅读 · 0 评论 -
并查集基础与简单扩展应用
并查集的结构是一棵树并查集有两种功能,一种是判断两个元素是否在同一集合,第二种是合并两个集合并查集的实现需要记录每个节点的父亲节点判断两个元素是否在同一集合,即判断两个元素的祖宗节点是否是一个节点(祖宗代表整棵树的根节点)合并两个集合,即将任意一个集合祖宗的爸爸改为另一个集合的祖宗。原创 2024-09-07 17:31:09 · 942 阅读 · 0 评论 -
spfa算法判断是否存在负权回路
spfa 算法判断负权回路原创 2024-08-09 12:54:51 · 797 阅读 · 0 评论 -
最短路问题中的SPFA算法
spfa算法原创 2024-08-07 19:20:04 · 259 阅读 · 0 评论 -
最短路问题中的bellman-ford算法
belllman_ford算法原创 2024-08-07 19:18:17 · 701 阅读 · 0 评论 -
最短路问题中的堆优化的Dijkstra算法
最短路问题原创 2024-08-01 19:29:55 · 937 阅读 · 0 评论 -
最短路问题中的朴素版Dijkstra算法
最短路问题原创 2024-08-01 19:29:01 · 768 阅读 · 0 评论 -
单调队列的应用
单调队列的应用原创 2024-07-17 13:58:11 · 790 阅读 · 0 评论 -
单调栈的应用
单调栈的应用原创 2024-07-17 13:57:33 · 805 阅读 · 0 评论 -
Trie树的应用
Trie树的应用原创 2024-07-15 19:12:23 · 944 阅读 · 0 评论 -
区间合并算法
区间合并原创 2024-07-15 19:11:20 · 911 阅读 · 0 评论 -
栈(数组模拟)
其只有一端可以进行访问,我们把可以访问的那端成为栈顶。tt为栈顶元素的坐标,当 tt 为 0 时栈为空。操作的查询结果为一个整数,表示栈顶元素的值。操作都要输出一个查询结果,每个结果占一行。N 为栈可能需要的最大空间,一般由题目而定。行,每行包含一个操作命令,操作命令为。栈是一种数据结构,其存储数据的特点是。个操作,其中的每个操作。删除栈顶元素,也叫做出栈。栈共有四种常用的操作。插入一个数据,称为入栈。都要输出相应的结果。原创 2024-07-13 15:08:50 · 620 阅读 · 0 评论 -
什么是离散化?
离散化原创 2024-07-08 17:31:10 · 1216 阅读 · 0 评论 -
双链表(数组模拟)
用数组模拟双向链表原创 2024-07-08 17:29:21 · 684 阅读 · 0 评论 -
单链表(数组模拟实现)
数组模拟单链表原创 2024-06-22 14:01:17 · 1014 阅读 · 0 评论 -
高精度除法
高精度除法原创 2024-06-18 13:56:19 · 1007 阅读 · 2 评论 -
高精度乘法
高精度乘法原创 2024-06-18 13:55:39 · 799 阅读 · 0 评论 -
归并排序的应用—计算逆序对的个数
归并排序的经典应用原创 2024-06-17 14:24:00 · 2861 阅读 · 0 评论 -
归并排序个人见解
归并排序原创 2024-06-17 14:23:21 · 1294 阅读 · 3 评论 -
二分模版(整数二分和小数二分)
整数二分原创 2024-06-15 16:17:24 · 1672 阅读 · 0 评论 -
差分个人见解(二)
差分原创 2024-06-14 13:47:40 · 907 阅读 · 0 评论 -
差分个人见解(一)
差分原创 2024-06-14 13:47:04 · 840 阅读 · 0 评论 -
前缀和个人见解(二)
二维前缀和原创 2024-06-13 19:02:41 · 682 阅读 · 0 评论 -
前缀和 个人见解(一)
前缀和原创 2024-06-13 16:31:49 · 965 阅读 · 0 评论 -
高精度减法
高精度减法原创 2024-06-13 16:30:53 · 1176 阅读 · 0 评论 -
高精度加法
而由于引用是 别名,也就是操作的是原vector容器,所以就不会浪费额外的空间,当然算法题其实也没那么需要注意空间,只需要小于题目要求即可,但是还是引用好一点。在计算机中,高精度的意思是指 一个数特别特别大,最大可以有 10的5次方 个 位数 ,注意是有这么多位数,而不是 10的五次方 大。在刚才的思路中,我们模拟了人类加法的过程,由于在加法的过程中 会有进位,所以需要创建一个变量来存储进制。这里的 t 的含义是 是上一位所进的位,由于个位 是最低位,所以刚开始的进位为0。原创 2024-06-07 08:00:00 · 1087 阅读 · 0 评论 -
快速排序个人见解
比如 当 x = q[r];这时 j 下标 是 <= x ,i 下标是 >= x的,所以不能以 [l, j-1] 和 [j, r] 划分 快排要求 右边这个区间是 >= x 的,而里面的 j 是 <= x的,所以不满足条件。这里的循环条件是 i < j,也就是说当 i 和 j 相遇或 穿过时 这个时候 j 左边的所有值都是 <= x的(包含 j ),j 的右边的值都是 >= x的(不包含j)。此时,j 右边的元素(不包含j)一定是 >= x ,i 左边的元素(不包含i)一定是 <= x 的。原创 2024-06-03 08:00:00 · 1906 阅读 · 0 评论 -
二进制中1的个数的若干求法
下列方法为求二进制中1的个数,求负数只需要将函数中的参数改成 unsigned int n 即可。原创 2024-05-31 08:00:00 · 678 阅读 · 0 评论