- 博客(25)
- 问答 (11)
- 收藏
- 关注
原创 【前缀和与差分数组】
前缀和与差分数组适合解决的问题差分数组的定义适合解决的问题n个数字,m次操作,每一次操作都给定区间和数值([l,r]+del),最后q次询问,问[l,r]的数值或者单点的数值.差分数组的定义//当前位置与上一个位置的差值for(int i-0;i<n;i++){ d[i]=a[i]-a[i-1];}容易发现d[i]的累加就得到原来的数组a[i]:d[i]=a[i]-a[i-1],d[i+1]=a[i+1]-a[i],所以不断往前循环,得到a[i]=d[1]+…+d[i]同样,如果
2022-04-08 09:33:07
142
原创 【C语言中表示无穷大】--感谢博客系列
C语言中无穷大的定义正无穷大0x3f3f3f3f = 1061109567负无穷大0xc0c0c0c0 = -1061109568整理有助于记忆!!!
2022-04-06 11:01:29
2325
原创 【算法心得——最长不下降子序列】
最长不下降子序列思路讲解代码模糊位置讲解思路讲解运用二分查找算法效率高:我们设定一个count[i]数组来记录长度为i的子序列的在子序列最大的,但是在比其他大于前一个位置的大值小的最小右端数值。举例:12754,那么我们的上升子序列可以为:{1,2,7},{1,2,5},{1,2,4}但是,要满足最小右端数值,所以4<5<7那么选择4作为在子序列中最右侧的最大的,同时也是比所有能够成为右侧最大值中最小的,那么我们用它来作为最小右端数值。我们再用一个数组来存储当前我们这个元素作为终点(
2022-04-03 18:49:58
157
原创 【对于函数return的理解学习】
C语言存在多个返回值如何理解?如何理解return?函数返回多个值如何实现?全局变量法数组指针法传递结构体指针如何理解return?一个函数中可能存在多个return的情况,不管程序执行流程出发了哪个return,都会造成当前函数的立即终止,所以不存在执行两个以及以上return的可能。return就是表示退出当前函数,入口只有一个,但是出口可以有很多个,退出函数后,函数内的全部局部变量不能使用。多种情况的说明:返回值类型与函数类型一致,不一致则自动将返回值类型转换成函数类型函数中存在多条
2022-03-31 11:57:38
1851
原创 【今日总结学习】
C语言函数返回数组静态数组以及动态数组函数返回数组静态数组以及动态数组静态数组:长度必须事先制定,不能为变量必须为常熟。int A[5];动态分配内存:需要用到malloc分配所需的内存空间,并且返回指向它的一个指针,此时函数的返回值是一个指针,只想分配空间的第一个字节的地址。malloc函数是一个指针类型的函数小黑板重点:malloc是一个动态分配内存的函数,分配了一块动态存储空间后,返回值是一个指针类型的函数,指向分配内存的第一个分配空间的地址(首地址),所以将malloc赋值给一个相应类型
2022-03-31 10:12:05
1143
原创 【结构体的初始化】构造函数
结构体的初始化方法一方法二方法一定义结构体变量,然后对结构体中的元素逐一进行初始化。方法二如果结构体中的变量很多的时候,我们可以采用“构造函数”的方法来对结构体进行初始化构造函数是一种用来初始化结构体的一种函数直接定义在结构体中 构造函数不需要写返回值类型,而且函数名和结构体名相同struct Student{ int students; char name; Student( ) { students = 2; name = "222"; }}#defi
2022-03-28 13:16:22
473
原创 【typedef类型定义结构体数组】易混淆
C语言定义结构体数组typedef struct vnode // 顶点结构{ VertexType vex; // 存储顶点名 EdgeNode *firstedge; // 边表头指针,指向顶点第一个邻接点} VertexNode, AdjList[MAX_VERTEX_NUM]; typedef struct { AdjList adjlist; // 描述图结构的邻接表 int vexnum; // 节点的数目 int edgen
2022-03-28 11:57:45
1486
原创 【堆及其操作-08】打卡
堆及其操作堆堆的意义与定义堆的操作最大堆的创建最大堆的创建哈夫曼🌳哈夫曼🌳的定义哈夫曼🌳的构造堆堆的意义与定义定义:“优先队列是特殊的队列,从堆中取出元素的顺序是依照“优先权(关键字)大小,而不是元素进入队列的先后顺序。采用完全二叉树存储的优先队列称为堆””最大堆:其中元素N(N>0),是一棵完全二叉树,每个结点上的数值大于或等于它的子结点上的元素的值。操作集:对于任意最多有MaxSize个元素的最大堆(MaxHeap),对于元素item主要的操作:创建堆的操作:MaxHeap Cre
2022-03-22 14:47:48
306
原创 【二叉搜索树的学习】--陈越数据结构学习--06
二叉搜索树又叫做二叉排序树或者二叉查找树,一种对排序和查找都很有用的树。二叉树满足的性质:一棵二叉树,它可以为空,也可以不为空,如果不为空的话,它必须满足:1)在任意一个结点,它的左子树的每一个结点对应的数值,都小于该结点对应的数值,结点右子树对应的数值都大于右子树对应的数值陈越老师的讲解:1)非空左子树的所有键值小于其根结点对应的键值;2)非空右子树的所有键值大于其根结点对应的所有键值;3)左右子树都是二叉搜索树二叉搜索树与二叉树的区别:二叉搜索树必须是左小右大二叉搜索树的动态查找二叉搜索
2022-03-15 23:50:06
499
原创 【二叉树的表示--05】
树的同构学习理解:给定两棵树T1和T2,如果T1可以通过若干次的左右孩子互换变成T2,那么我们称两棵树是同构的。分别判断每个结点的子树是否相同。注意只能左右的互换,子树必须形式完全相同注意可以按任意方式进行输入题目描述:解题思路:我的思路:首先读入两个序列;然后根据所读的序列进行建树操作;其次对比两棵树是否同构;最后如果同构返回YES,非同构返回NO。陈越数据结构解题思路:二叉树的表示(链表/数组)建立二叉树(从输入数据建立二叉树)同构判别思路基本一致。结构数组(静态链
2022-03-14 23:52:16
633
原创 【如何写伪代码】-【学习笔记】
伪代码重点实现算法的主要思路重点元素算法的名称算法的输入输出算法的指令序列算法的循环语句(for)算法的分支语句(if…else…)算法的赋值语句(变量=…)算法的结束(出口)算法名称存在函数与过程两种形式8. 函数:执行一系列操作后,需要将结果按照函数的类型返回: 返回值类型 函数名 (参数类型 参数列表){}9. 过程:执行一系列操作后,无数据结果返回:void 函数名(参数类型 参数列表){}算法指令序列两种 方式:以start开头,以end结尾。以“
2022-03-11 15:15:01
1818
原创 【数据结构练习】01
多项式的加法运算实现实现多项式的加法,通过链表数据结构编写struct PolyNode{ int coef//系数项 int expon; //指针项 PolyNode Next;}typedef struct PolyNode *Polynominal;Polynominal P1,P2;Polynominal PolyAdd(Polynominal P1,Polynaminal P2){ Polynominal front,rear,temp; //创建一个result的用来
2022-03-09 16:47:36
594
原创 【队列 -03】坚持学习30DAY 2022-03-09
队列具有操作约束的线性表插入操作和删除操作:只能在一端插入,而在另一端进行删除操作!!数据插入:入队数据删除:出队先进先出:FIFQ队列的顺序存储以及实现队列通常是由一个一维数组和一个记录队列头元素位置的变量front以及一个记录队列尾元素位置的变量rear组成define MaxSize<存储数据元素最大值>;struct QNode{ int front; int rear; ElementType Data[MaxSize];};typedef struct
2022-03-09 12:38:01
204
原创 【栈以及队列-02】坚持打卡 30天 2022-03-09
栈定义:栈的顺序存储结构是由一个一维数组和一个栈顶元素位置的变量构成的。#define MaxSize <存储数据元素的最大个数>typedef struct SNode* Strack // 将结构体指针定义为Strackstruct SNode{ ElementType Data[Maxsize]; int Top; // 非Staack的指针变量 //整型变量表示位于栈顶元素的下标是什么};入栈Something should not be ignored:栈
2022-03-09 11:16:06
726
空空如也
为什么αi不能用α(1—i-1)线性表示?
2022-04-04
关于#数据结构#的问题,如何解决?
2022-03-10
请问这段代码的第5行和第10行的意思是什么?
2021-10-02
这行代码能详细解释一下么???麻烦啦
2021-01-30
为什么我的VScode不能选择添加配置?在线等!
2021-01-17
为什么print(alnative._doc_)结果为none
2021-01-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人