自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 BFS和DFS区别及选择

DFS(深度优先搜索)类似树从干路到支路的先序遍历方式,形象的说就是一条路走到黑,如果走到头了,则返回上一个节点,所以我们很自然会想到用递归实现,另外加一个标记数组,确保节点只访问一次。(这里建议邻接矩阵跟标记数组全部使用全局变量,不然的话函数传参会很麻烦),每次递归后都会找到与之相邻的节点,并再次递归,直到所有节点全部遍历一次。BFS(广度优先搜索)所谓广度优先就类似树里面的层序遍历,每次访问的是同层的节点,同层访问后再继续向下访问,这里我们用队列来实现,利用队列的先进先出性质,每次递增访问,

2022-02-20 17:50:01 1455

原创 二分法查找

二分法是一种高效的查找方法,其适用于已经排好序的数组1.基本思路从数组最中间的数开始查找判断,若不是需要查找的数字,则比较大小,之后则在从中间分开的两边中的一边从最中间开始查找判断,以此类推2.算法描述a.记录数组最中间数的下标,将其中的数与要查找的数进行比较b.若相等,停止查找,若大于要查找的数,则将数组下标上限换为较大半区的最小下标;若小于要查找的数,则将数组下标的下限换为较小半区的最大下标c.重复第一步,直到数组下标不能调换,若查找到则停止查找,若未找到,则返回不存在的结果

2022-02-13 14:56:07 522

原创 前缀和与差分

前缀和:前缀和的概念:即数组该位置之前的元素之和。注意,在进行前缀和的运算时,下标要从1开始,设数组a[0]=0;比如a[5] = {0,1,2,3,4};求a[1]的前缀和:a[1];求a[2]的前缀和:a[1]+a[2];......下标要从1 开始的原因:方便后面的计算,避免下标转换,设为零,不影响结果前缀和的作用:快速求出元素组中某段区间的和一维数组的前缀和问题:求数组a中(l,r)区间的和要用到前缀和解决二维数组的前缀和问题:方法与一维数组大体相同,

2022-01-30 14:44:41 517

原创 C++笔记

1c++程序文件C++程序文件的后缀有xxx.cpp/xxx.C /xxx.cc /xxx.cxx/xxx.cpp/cpp是c plus plus即c++2编译g++//编译g++ -c //只编译g++ -c xxx.cpp//只编译xxx.cpp文件,会生成xxx.o3编译文件这是定义、连接分开做g++ xxx.o//编译xxx.o文件,会生成a.outg++ xxx.o -onewname//编译xxx.o文件,并重新命名为newname(注意-o是重新命名的意

2022-01-23 18:13:26 132

原创 深入理解scanf()的输入

首先应明白空白字符对于sacnf()如何处理输入起着至关重要的作用,除了在%c模式下外,在读取输入时,scanf()会跳过空白字符直到第一个非空白的字符处,然后会一直读取字符,直到遇到空白字符,或遇到一个不符合正在读取的类型的字符,或达到指定的字段长度(由三者中最先满足的那一个终止输入)而停止读取,并将停止处的字符作为下一个输入字符(如果是空白字符,下次读取时也会跳过空白字符,但下次读取如果是在%c模式下,就不会跳过去了)。scanf()在%c模式下读取字符的时候,则不会跳过空白字符,而是直接读取第一个输入

2022-01-23 14:42:17 252

原创 C语言中getchar()函数的使用

读取字符时scanf()与getchar():scanf()在遇到换行符时,会将其停留在输入队列中,下次读取时不会跳过该换行符,getchar()也不会跳过换行符。如果混合使用scanf()和getchar(),那么当调用getchar()之前scanf()恰好在输入中留下了一个换行符时,将会产生问题,运用刷新输入缓冲区或跳过输入行剩余部分等技巧可以解决这类问题。...

2022-01-23 14:36:08 248

原创 C语言中空白字符与空字符的区别

空白字符是指在屏幕上不会显示出来的字符(如:空格、制表符tab、回车换行等),而空字符是指‘\0’,或者是字符的编码值为0的字符,它是非打印字符。C的字符串存储时通常以空字符结束,该字符的存在意味着数组的单元数必须至少比要存储的字符数多1...

2022-01-23 14:33:45 3165 1

原创 C语言中浮点型变量与说明符的配合

对于float类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%f;对于double类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%lf;对于long double类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%lf...

2022-01-23 14:32:14 117

原创 新手入门C语言易错点

作为一个刚学一学期C语言的新手,我汇总了一些新手学C的易错点:优先级&&高于||优先级求模运高于运算符高于比较符高于逻辑符float保留小数时不会四舍五入而double(%lf)会有时需要的数据范围要非常大时需要用long int型注意swich(a){case 1:;break;default:;}注意格式(大括号,空格,冒号,break不要忘记),括号内的a要为整型常量输出百分号:用%%,单%不显示if语句用判等==,赋值语句用单=,不等用!=..

2022-01-23 12:55:57 362

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除