E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
[算法基础]
软件设计师——【笔记】7数据结构与
算法基础
一、数组与矩阵1、数组存储地址的计算(按行、列存储)i一般从0开始计,len取决于每一个数组元素占用的字节数。不用记以上公式,其实就是a+数组元素所在单元格序号x字节数如上题,在5行5列数组中(各元素占2字节),a[2][3]即a+13x2;偏移量13为从0到a[2][3]的数组元素2、稀疏矩阵数据中大部分数据为0,用稀疏矩阵能省空间例题:记公式难,应对考试快捷法:代入法,随便代几个数排除错误(正
heart000_1
·
2023-11-12 22:32
笔记
#
软件设计师笔记
经验分享
中级软件设计师知识点整理:数据结构与
算法基础
互异的非平凡子串(非空且不同于本身)因为他说的是子串,而不是任意字符的随意组合,所以可以列举可得,长度是n的话,n-1长度的有2个,n-2长度的有3个。。。长度为1的有n个,所以是n+n-1+…2=(n+2)*(n-1)/2\哈夫曼树假设某消息中只包含7个字符{a,b,c,d,e,f,g},这7个字符在消息中出现的次数为{5,24,8,17,34,4,13},利用哈夫曼树(最优二叉树)为该消息中的
关切得大神
·
2023-11-12 22:57
学习
算法
二叉树
队列
数据结构
面试
软考中级软件设计师——数据结构与
算法基础
六、数据结构与
算法基础
:数据结构:已学省略线性表——顺序存储和链式存储对比二叉树:二叉排序树:哈夫曼树:线索二叉树:使用线索划线的方法,将对应的线索二叉树的对应序列写出,前序线索就对应前序遍历,然后看对应序列的叶子节点的直接前驱和直接后继节点是谁
不不爱写博客
·
2023-11-12 22:26
笔记
其他
数据结构与
算法基础
(软件设计师备考笔记)
目录第六章.数据结构与
算法基础
(重点)第一节.数组及稀疏矩阵第二节.数据结构的定义及线性表的概念第三节.顺序存储与链式存储的比较第四节.线性表——队列与栈第五节.广义表第六节.非线性结构——树与二叉树(
路过的陈哥
·
2023-11-12 22:54
软件设计师备考笔记
经验分享
二叉树
算法
数据结构
【第六章】软件设计师 之 数据结构与
算法基础
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享?踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。备考资料导航软考好处:软考的好处拥有软考证书的8大作用机考感悟:2023下半年软件设计师机考考后体验如何?改为机考后的一些注意事项考试大纲:软件设计师高频考点及考试大纲总结文章地址:【第一章】软件设计师之计算机组成与
Mr.Aholic
·
2023-11-12 22:53
软件设计师
软考
acwing
算法基础
之数学知识--分解质因子
目录1基础知识2模板3工程化1基础知识分解质因子:将一个正整数写成几个质数相乘的形式。比如24=23∗324=2^3*324=23∗3、30=2∗3∗530=2*3*530=2∗3∗5、42=2∗3∗742=2*3*742=2∗3∗7等等。一个数x,至多有一个大于x\sqrt{x}x的质因子。试除法分解质因子的关键步骤:voidf(intx){for(inti=2;i1)cout<
YMWM_
·
2023-11-12 17:12
Acwing
C++学习
算法
acwing
算法基础
之搜索与图论--匈牙利算法求二分图的最大匹配数
目录1基础知识2模板3工程化1基础知识二分图中的最大匹配数:从二分图中选择一些边(这些边连接集合A和集合B,集合A中结点数目为n1,集合B中结点数目为n2),设为集合S,其中任意两条边不共用一个结点。求集合S的最大元素数目,即二分图中的最大匹配数。匈牙利算法的关键步骤:初始化匹配数组match[1~n2]=0。其中match[b]=a,表示集合B中的结点b匹配了集合A中的结点a。遍历集合A中的每一
YMWM_
·
2023-11-12 17:42
Acwing
C++学习
算法
图论
acwing
算法基础
之数学知识--判断质数
目录1基础知识2模板3工程化1基础知识质数和合数,这两个概念都是针对大于等于2的整数定义的。质数:大于等于2,并且约数只有1和它本身。比如2、3、5、7等等。判断质数的方法:从定义出发,时间复杂度O(n\sqrt{n}n)。boolis_prime(intx){//如果x是质数,返回true;否则,返回false。if(x<2)returnfalse;for(inti=2;i<=x/i;++i){
YMWM_
·
2023-11-12 17:40
Acwing
C++学习
算法
算法与数据结构——
算法基础
——二叉树(java)(b站左程云课程笔记整理)
二叉树了解一个二叉树的递归序、先序、中序、后序递归序:每个数会被打印三次(可以理解为前中后)先序:头左右中序:左头右后序:左右头publicstaticclassNode{publicintvalue;publicNodeleft;publicNoderight;publicNode(intdata){this.value=data;}}//先序publicstaticvoidpreOrderRe
Borslav
·
2023-11-12 11:25
数据结构与算法
java
数据结构
算法
基于python制作的文件加密解密器(无需任何
算法基础
,有手就行)
前言记得那是一个下午,我无聊地浏览着电脑,玩着pycharm,随手在插件搜索栏里随手搜了一些东西,然后我迷迷糊糊地就装了这个库Fernet,我也不知道这个库是干什么地,网上也没有关于这个库地任何资料,但是我用的是pycharm,我装的那些库都有基本语法介绍的,然后我把pycharm关于这个库的介绍复制到百度翻译上去寻找翻译,然后慢慢摸索,我就发现了这个库的神奇了,这些下面具体再讲,就是这么神奇的经
luck安
·
2023-11-12 07:42
python
python
pycharm
开发语言
算法
数据结构:二叉树概念篇(
算法基础
)
目录一.有向树的图论基础1.有向树的相关基本概念有向树的基本定义:有向树的结点的度:有向树的度:有向树的根结点,分枝结点,叶结点:树的子树:树结点的层次:树的高度:2.一个基本的数学结论3.有序有向树二.数据结构中树的顺序存储结构与链式存储结构1.数据结构的物理结构与逻辑结构2.物理结构为顺序表(数组)的树形数据结构3.物理结构为链表的树形数据结构三.二叉树1.二叉树基本概念2.两个重要的特殊二叉
摆烂小青菜
·
2023-11-12 02:03
初阶数据结构
数据结构
acwing
算法基础
之搜索与图论--有向图的拓扑序列
目录1基础知识2模板3工程化1基础知识拓扑序列:针对有向图而言,该序列内,所有边都是从前指向后的。如果存在环,那么该图一定不存在拓扑序列。否则,一定存在拓扑序列。有向图中的入度和出度。入度为0的结点,可以作为拓扑序列的起点。求拓扑序列的关键步骤:把入度为0的结点插入队列q。弹出队头t,遍历队头t的下一个结点,将其入度减1。操作之后,如果其值为0,则插入队列q。重复进行步骤2,直至队列q为空。2模板
YMWM_
·
2023-11-12 01:53
Acwing
C++学习
算法
图论
c++
Acwing -
算法基础
课 - 笔记(图论 · 一)
文章目录搜索与图论(一)DFS和BFS概述DFSBFS树与图的存储树与图的深度优先遍历树与图的宽度优先遍历拓扑排序搜索与图论(一)本节讲的是,普通的DFS和BFS,树和图的存储,拓扑排序。DFS和BFS概述DFS:深度优先搜索(Depth-First-Search)BFS:宽度优先搜索(Breadth-First-Search)DFS和BFS的对比DFS使用栈(stack)来实现,BFS使用队列(
抠脚的大灰狼
·
2023-11-12 01:06
算法
Acwing算法基础课
算法
AcWing
算法基础
课----搜索与图论(二) 笔记 (最短路:Dijkstra、Bellman-Ford、SPFA、Floyd)
搜索与图论抽屉原理常见的最短路问题1.朴素dijkstra算法2.堆优化版dijkstra3.Bellman-Ford算法4.spfa算法(队列优化的Bellman-Ford算法)5.spfa判断图中是否存在负环6.floyd算法抽屉原理桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放不少于两个苹果。这一现象就是我们所说的“抽屉原理”。抽屉原理的一般含义为
彡倾灬染|
·
2023-11-12 01:35
算法学习笔记
AcWing
最短路
c++
c语言
acwing
算法基础
之搜索与图论--spfa算法
目录1基础知识2模板3工程化1基础知识存在负权边时,使用spfa算法来求解最短路问题,它的时间复杂度为O(m)。spfa算法求最短路问题的关键步骤:初始化距离数组dist为正无穷大,然后d[1]=0。定义队列q,将1号结点插入到队列中。如果队列不空:弹出队头t,看看t能走到哪儿,比如t能走到x。如果dist[x]>dist[t]+edge[t][x],则更新dist[x],如果x不在队列中,则将x
YMWM_
·
2023-11-12 01:34
Acwing
C++学习
算法
图论
acwing
算法基础
之搜索与图论--染色法判断二分图
目录1基础知识2模板3工程化1基础知识二分图:每条边连接的起点和终点,分别属于集合A和集合B。一个图是二分图,当且仅当,图中不含奇数环(即,回环中的结点数目是奇数)。染色法判定二分图的关键步骤为:初始化颜色数组color[1~n]=0。遍历每一个结点a:如果它没有被染色,将其染色为1,即dfs(a,1)。如果没有矛盾,则说明该图是二分图,否则,不是。booldfs(intx,intc){color
YMWM_
·
2023-11-12 01:34
Acwing
C++学习
算法
图论
深度优先
acwing
算法基础
之搜索与图论--bellman-ford算法
目录1基础知识2模板3工程化1基础知识对于单源最短路问题,且存在负权重的边时,使用bellman-ford算法来进行求解。但,如果图中存在负权环,那该最短路问题可能无解(如果最短路径上存在负权环,那一直绕着负权环走,最短距离可以等于负无穷大)。bellman-ford算法可以用来找负权环,但一般不使用它来找负权环,而是用spfa算法来找负权环。bellman-ford算法的关键步骤:初始化距离数组
YMWM_
·
2023-11-12 01:34
Acwing
C++学习
算法
图论
acwing
算法基础
之搜索与图论--朴素版dijkstra算法
目录1基础知识2模板3工程化1基础知识朴素版dijkstra算法的关键步骤:初始化d[1]=0,d[2~n]=正无穷,例如0x3f3f3f3f。用集合S来表示当前已被确定最小距离的结点们。遍历每一个结点:找到不在S中的且距离结点1最近的结点,记为t。将结点t加入到集合S中。看看结点t可以走到哪儿,假设可以走到x,比较dist[x]和dist[t]+edge[t][x],如果前者大于后者,则用后者去
YMWM_
·
2023-11-12 01:04
Acwing
C++学习
算法
图论
数据结构
acwing
算法基础
之搜索与图论--最短路问题
目录1基础知识2模板3工程化1基础知识假设有n个结点,m条边(边的长度或者权重不一致),最短路问题的分类及求解方法如下:1单源最短路问题,例如求结点1到结点n的最短距离。1.1所有边的权重都是正的。朴素版dijkstra算法,时间复杂度为O(n^2)。时间复杂度与边数无关,适合于稠密图。它是基于贪心实现的。堆优化版dijkstra算法,时间复杂度为O(mlogn)。适合于稀疏图。它是基于贪心实现的
YMWM_
·
2023-11-12 01:31
Acwing
C++学习
算法
图论
acwing
算法基础
课:最小生成树算法(Kruskal算法)
Kruskal算法模版时间复杂度是O(mlogm),n表示点数,m表示边数intn,m;//n是点数,m是边数intp[N];//并查集的父节点数组structEdge//存储边{inta,b,w;booloperator#include#includeusingnamespacestd;constintN=30,M=60;intn,m;structEdge{inta,b,w;}edges[M];
墨染&殇泪
·
2023-11-11 23:27
acwing
算法
图论
数据结构
acwing
算法基础
课模版分析
文章目录前言:一.基础算法1.快排模版2.归并排序3.整数二分算法4.浮点数二分算法5.一维前缀和数组6.二维前缀和数组7.一维差分数组8.二维差分数组9.位运算10.离散化11.区间和并二.数据结构1.静态单链表模版例题:2.静态双向链表模版例题:3.栈模版例题:4.队列普通队列模版例题:循环队列模版:5.单调栈模版:6.单调队列模型:题目:[滑动窗口模型/单调队列](https://www.l
相知-
·
2023-11-11 23:54
算法
算法
acwing
算法基础
之搜索与图论--最小生成树问题
目录1基础知识2模板3工程化1基础知识最小生成树:n个结点,选择n-1条边,使得它连通,并且边长之和最小。对应的解决方法有:1prim算法1.1朴素版的prim算法。时间复杂度为O(n^2),适用于稠密图。1.2堆优化版的prim算法。时间复杂度为O(mlogn),适用于稀疏图。2kruskal算法。时间复杂度为O(mlogm),适用于稀疏图。从coding实现来说,对于稠密图,使用朴素版的pri
YMWM_
·
2023-11-11 23:50
Acwing
C++学习
算法
图论
acwing
算法基础
之搜索与图论--prim算法
目录1基础知识2模板3工程化1基础知识朴素版prim算法的关键步骤:初始化距离数组dist,将其内的所有元素都设为正无穷大。定义集合S,表示生成树。循环n次:找到不在集合S中且距离集合S最近的结点t,用它去更新剩余结点到集合S的距离。最小生成树建立完毕,边长之和等于每次的d[t]之和。朴素版prim算法的时间复杂度为O(n^2),它用来解决稠密图的最小生成树问题。2模板intn;//n表示点数in
YMWM_
·
2023-11-11 23:50
Acwing
C++学习
算法
图论
数据结构
acwing
算法基础
之搜索与图论--floyd算法
目录1基础知识2模板3工程化1基础知识floyd算法的时间复杂度为O(n^3),它用来解决多源最短路问题。它的原理是基于动态规划。floyd算法的关键步骤:k从1到n。i从1到n。j从1到n,d[i][j]=min(d[i][j],d[i][k]+d[k][j])。经过上述三重循环之后,数组d即是任意两个结点之间的最短距离。2模板初始化:for(inti=1;iusingnamespacestd;
YMWM_
·
2023-11-11 23:19
Acwing
C++学习
算法
图论
acwing
算法基础
之搜索与图论--kruskal算法
目录1基础知识2模板3工程化1基础知识kruskal算法的关键步骤为:将所有边按照权重从小到大排序。定义集合S,表示生成树。枚举每条边(a,b,c),起点a,终点b,边长c。如果结点a和结点b不连通(用并查集来维护),则将这条边加入到集合S中。kruskal算法的时间复杂度为O(mlogm),它用来解决稀疏图的最小生成树问题。2模板intn,m;//n是点数,m是边数intp[N];//并查集的父
YMWM_
·
2023-11-11 23:16
Acwing
C++学习
算法
图论
牛客-【237题】
算法基础
精选题单-第二章 递归、分治
第二章递归、分治递归NC15173TheBiggestWaterProblemNC22164更相减损术NC208813求逆序数NC207028第k小数递归NC15173TheBiggestWaterProblem简单递归,直接暴力#include#include#include#include#includeusingnamespacestd;constintN=1e5+10;#definede(
JYWsuperman
·
2023-11-11 21:36
算法/思维
基础刷题
算法
数据结构
CSDN超级实习生 | 寒假之前,收藏好这份大厂2022年实习生招聘计划
超级实习生2022年实习内推渠道一览(部分)百度:Java研发实习生:1、扎实的数据结构及
算法基础
,熟悉Java编程;2、熟练使用MySQL、Linux,熟悉Shell、Python等至少一种脚本编程;
实训001
·
2023-11-11 10:16
超级实习生
java
架构
面试
acwing
算法基础
__提高__进阶_课
文章目录1、排序1.1、快速排序——分治1.2、归并排序——分治2、二分2.2、整数二分2.3、小数二分(浮点数二分)3、高精度4、前缀和与差分5、双指针算法6、位运算7、离散化8、区间合并总结要求:把算法的思想搞懂。课后把代码模板背过,能够达到快速默写出来、调试通过就好了。每一个模板重复写几遍。1、排序1.1、快速排序——分治思路:确定分界点:q[i]、q[(i+r)/2]、q[r]调整区间:分
m0_72945438
·
2023-11-11 09:39
算法
数据结构
java
算法基础
课-动态规划
一、背包问题什么样的问题可以被称作为背包问题?换言之,我们拿到题目如何透过题目的不同包装形式看到里面背包问题的不变内核呢?给定一个背包容量target,再给定一个数组nums(物品),能否按一定方式选取nums中的元素得到target。1、背包容量target和物品nums的类型可能是数,也可能是字符串2、target可能题目已经给出(显式),也可能是需要我们从题目的信息中挖掘出来(非显式)(常见
李加号pluuuus
·
2023-11-10 22:08
算法
动态规划
RSA
算法基础
算法笔记:RSA
算法基础
RSA
算法基础
简介
算法基础
算法详解大整数表示素数产生Euclid算法模幂算法Montgomery算法RSA算法实例RSA-CRTRSA
算法基础
简介RSA算法由RonRivest、
云楼主
·
2023-11-10 17:56
算法
密码学
[Acwing
算法基础
课]3.搜索与图论(一)笔记
文章目录一、DFS和BFS1.1DFS1.2BFS1.3图的存储方式与遍历1.4有向图的拓扑序列二、最短路径问题2.1朴素Dijkstra算法2.2堆优化版的Dijkstra算法2.3Bellman-Ford算法2.4SPFA算法2.4.1SPFA算法求最短路径2.4.2SPFA算法判断负环2.5Floyd算法一、DFS和BFS数据结构空间备注DFSstackO(h)O(h)O(h)(树的高度相关
sx失去理智
·
2023-11-10 00:28
Acwing算法基础课笔记
算法
图论
深度优先
acwing
算法基础
课-第三章 搜索与图论
搜索与图论数与图的存储方式DFSAcWing842排列问题AcWing843n-皇后问题BFSAcWing844走迷宫AcWing845八数码树与图的深度优先遍历模板AcWing846树的重心(模板题)树与图的广度优先遍历模板AcWing847图中点的层次(模板题)拓扑排序模板AcWing848有向图的拓扑序列(模板题)最短路径Dijkstra模板AcWing849Dijkstra求最短路径I(模
偶然路过的帅小伙z
·
2023-11-10 00:58
#
算法
-
acwing算法基础课
图论
算法
acwing
算法基础
课第三讲搜索与图论复习总结
最近备考蓝桥杯,准备把之前
算法基础
课题目都复习一遍,冲(*^▽^*)1.排列数字这里的排列数字排列的是组合数通过深度优先搜索来做st[]数组判断每个数字是否使用过(因为组合数排列,每个数字只能用一次)深度优先搜索的题目可以先画出递归搜索树依据枚举到了哪个位置来进行搜索
~.q快乐(^_^ )
·
2023-11-10 00:58
算法
图论
深度优先
Acwing
算法基础
课-搜索与图论-模板习题
目录一、DFS1.排列数字2.n-皇后问题二、BFS1.走迷宫2.八数码二、树与图的深度优先遍历DFS树的重心三、树与图的广度优先遍历BFS图中点的层次四、拓扑排序有向图的拓扑序列五、Dijkstra1.Dijkstra求最短路I(朴素)2.Dijkstra求最短路II(堆优化)六、bellman-ford有边数限制的最短路七、spfa1.spfa求最短路2.spfa判断负环八、FloydFloy
Yang 丶。
·
2023-11-10 00:57
c++
c语言
算法
推荐算法
[ACWing
算法基础
课]:第三章 - 搜索与图论基础
文章目录一、拓扑排序二、求最短路1.Dijkstra算法★1.1朴素Dijkstra算法O(n^2^)1.2堆优化的Dijkstra算法O(mlogn)★2.Bellman-Ford算法3.SPFA算法★3.1SPFA求最短路3.2SPFA判断负环一、拓扑排序题目描述:输入43122434输出1324C++代码如下#include#include#include#includeusingnames
TBD1
·
2023-11-10 00:57
ACWing算法基础
图论
算法
c++
数据结构
AcWing
算法基础
课----搜索与图论(三) 笔记 (最小生成树 + 二分图)
搜索与图论最小生成树1.朴素版prim算法(稠密图)O(n^2)2.Kruskal算法(稀疏图)O(mlogm)二分图1.染色法判别二分图O(n+m)2.匈牙利算法O(nm)图论题难点:如何抽象成图论问题并实现建图最小生成树☆无环★1.朴素版prim算法(稠密图)O(n^2)s:当前已在连通块中最短距离的点算法思路:初始化距离dist[i]=infn次迭代for(inti=0;idist[j]))
彡倾灬染|
·
2023-11-10 00:57
AcWing
算法学习笔记
图
c++
c语言
AcWing
算法基础
课-第三章 搜索与图论(一)
0、本节所讲内容1、深度优先搜索(DFS)2、宽度优先搜索(BFS)3、树与图的存储4、树与图的深度优先遍历5、树与图的宽度优先遍历6、拓扑排序一、深度优先搜索(DFS)深搜尽可能的往深里边搜这里有两个概念:回溯和剪枝讲两个经典题:全排列问题和N皇后问题。1、全排列问题原题链接:842.排列数字#includeusingnamespacestd;constintN=10;intn;intpath[
cBreakALeg
·
2023-11-10 00:56
算法
AcWing
算法基础
课 Level-2 第三讲 搜索与图论
单链表#includeusingnamespacestd;constintN=1e5+10;//head表示头结点的下标//e[i]表示节点i的值//ne[i]表示节点i的next指针是多少//idx存储当前已经用到了哪个点inthead,e[N],ne[N],idx;//初始化voidinit(){head=-1;idx=0;}//将x插到头结点voidadd_to_head(intx){e[i
5pace
·
2023-11-10 00:26
算法
数据结构
c++
(Acwing
算法基础
课)——图论之朴素迪杰斯特拉算法
图论之朴素迪杰斯特拉1.原题地址之前自己蓝桥杯拿到省二第一名,非常遗憾没有进入决赛的原因就是图论的两个题目一个都不会写,因为自己但是做完了往前十年的题目,省赛都是没有考过图论的,所以我当时打算的就是进入决赛之后再学习图论,没想今年蓝桥杯的题目风格大变,让我措手不及,也酿成了我大三最大的遗憾,所以我打算再准备一年,反正保研了大四会轻松些,我一定要拿到国奖!附上Acwing上的该题链接:Acwing8
大风起兮x
·
2023-11-09 23:54
Acwing算法基础课
算法
图论
数据结构
【AcWing
算法基础
课】第三章 搜索与图论
文章目录前言课前温习一、深度优先搜索(DFS)1、排列数字1.1题目描述1.2思路分析1.3代码实现2、n-皇后问题1.4题目描述1.5思路分析1.6代码实现二、宽度优先搜索(BFS)1、走迷宫2.1题目描述2.2思路分析2.3代码实现三、树与图的存储四、树与图的遍历1、深度优先遍历(846.树的重心)核心模板4.1题目描述4.2思路分析4.3代码实现2、宽度优先遍历(847.图中点的层次)核心模
-dzk-
·
2023-11-09 23:54
算法基础课笔记
算法
图论
深度优先
最短路算法
数据结构
c++
最小生成树
acwing
算法基础
笔记第三章搜索与图论
BFS第一次搜到的点一定是离第一个点最近的点,每个DFS都一定对应一条搜索树,#includeusingnamespacestd;constintN=10;intn;intpath[N];//path存储路径,到叶节点的时候,就填好路径上的点了,u等于0的时候在第一层,u为1为第二层,u为2在第三层,u等于3的时候是最后一层。所以u==n的时候是最后一层boolst[N];voiddfs(intu
一只QAQ
·
2023-11-09 23:53
算法
图论
笔记
acwing
算法基础
之搜索与图论--树与图的遍历
目录1基础知识2模板3工程化1基础知识树和图的存储:邻接矩阵、邻接表。树和图的遍历:dfs、bfs。2模板树是一种特殊的图(即,无环连通图),与图的存储方式相同。对于无向图中的边ab,存储两条有向边a->b,b->a。因此我们可以只考虑有向图的存储。(1)邻接矩阵:g[a][b]存储边a->b(2)邻接表://对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int
YMWM_
·
2023-11-09 23:21
C++学习
Acwing
算法
图论
深度优先
acwing
算法基础
班学习笔记-第三讲.搜索和图论
一、DFS深度优先遍历,需要维护一个st数组来表示每个节点是否被访问过,若不止一条路径则还需要恢复st数组的值(恢复状态)。剪枝:当遍历除了节点是否被访问以外还有其他条件时,可同时判断条件是否成立和节点是否被访问,若不成立则跳过该节点,最后只返回走到终点的路径。树和图的深度优先遍历问题:树的重心。可用节点的子节点个数s代表一个子连通分量,n-s代表除去这个节点和其子节点外其他所有节点的个数,迭代更
irony_202
·
2023-11-09 19:19
图论
算法
学习
【AcWing
算法基础
】第三讲 搜索与图论
一、DFS1.1排列数字是全排列的问题,很经典的dfs题,没什么难度,硬敲就行#includeusingnamespacestd;constintN=10;intn;intpath[N];boolst[N];voiddfs(intcnt){if(cnt==n){for(inti=0;i>n;dfs(0);}1.2n-皇后问题皇后可以上下左右和斜着走第一种方法和全排列的思想一样,其中对角线的下标需要
flowral
·
2023-11-09 19:18
算法
图论
算法
c++
dfs
bfs
acwing
算法基础
之搜索与图论--DFS
目录1基础知识2模板3工程化1基础知识调用dfs()之后表示已经走到头了,需要往回走了(即,回溯),那这时候就要恢复成调用dfs()之前的模样(即,恢复现场)。不同的搜索顺序,对应着不同的耗时。2模板题目1:输出1,2,3,…,n的全排列,按照字典序输出。#includeusingnamespacestd;constintN=10;intpath[N];boolst[N];intn;voiddfs
YMWM_
·
2023-11-09 19:18
Acwing
C++学习
深度优先
算法
图论
acwing
算法基础
之搜索与图论--BFS
目录1基础知识2模板3工程化1基础知识BFS可以用来求取最短路,前提条件是所有边的权重一样。2模板题目1:走迷宫,从左上角走到右下角,求最短路。#include#include#includeusingnamespacestd;constintN=110;intd[N][N];intg[N][N];intn,m;intbfs(){memset(d,-1,sizeofd);queue>q;q.pus
YMWM_
·
2023-11-09 19:44
Acwing
C++学习
算法
图论
宽度优先
【图书阅读】《Aditya Bhargava-算法图解:像小说一样有趣的算法入门书》
这本书主要讲述了
算法基础
,包括二分查找、大O表示法、两种基本的数据结构等,后续也面对具体问题时的技巧,例如贪婪算法或动态规划:散列表的应用:图算法;K最近邻算法。该篇博文主要记录阅读完的一些重点回顾!
MengYa_DreamZ
·
2023-11-08 22:12
图书阅读笔记
数据结构
算法
排序算法
Acwing《
算法基础
课》第2章 数据结构
Acwing《
算法基础
课》第2章数据结构文章目录Acwing《
算法基础
课》第2章数据结构单链表双链表模拟栈模拟队列普通队列循环队列单调栈单调队列KMPTrie树并查集朴素并查集维护size的并查集维护到祖宗节点距离的并查集堆哈希表字符串哈希
今天修复bug了吗
·
2023-11-08 10:35
Acwing
算法
C++
算法
c++
数据结构
Acwing -
算法基础
课 - 笔记(数据结构 · 三)
文章目录数据结构(三)哈希表哈希表的存储字符串哈希STLvectorpairstringqueuepriority_queuestackdequesetmapbitset数据结构(三)本节讲解的是哈希表,和C++的STL容器的基本使用哈希表哈希表的作用:把一个比较大的空间,映射到一个比较小的空间。一般做哈希运算时,取一个质数作为模,会使得冲突的概率降低哈希表的存储冲突解决方法开放寻址法拉链法练习题
抠脚的大灰狼
·
2023-11-08 10:33
算法
Acwing算法基础课
算法
字符串哈希
哈希
AcWing
算法基础
课----数据结构(三) 笔记 (Hash + 字符串哈希 + STL应用)
数据结构Hash表存储结构1.开放寻址法2.拉链法字符串哈希C++STLvector(变长数组)pairHash表把特别大的数据映射到0~n存储结构1、xmodlen(质数)2、冲突解决冲突:1.开放寻址法数组开的范围一般为题目给定的2~3倍模板:inth[N];//如果x在哈希表中,返回x的下标;如果x不在哈希表中,返回x应该插入的位置intfind(intx){intt=(x%N+N)%N;w
彡倾灬染|
·
2023-11-08 10:02
算法学习笔记
AcWing
c++
c语言
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他