算法学习笔记
《算法入门竞赛入门》学习笔记
天赋不够努力来凑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
栈的顺序储存结构与操作
一、栈的定义 栈是一种只能在一端(栈顶)进行操作的数据结构,具有后进先出的特点。 二、栈的顺序储存结构 1、储存结构 在这里插入代码片原创 2021-09-01 16:27:02 · 750 阅读 · 0 评论 -
循环链表和双向链表
一、循环链表 1、特点:从任意一个结点出发,可以访问到全部结点。 2、与单链表的区别:单链表最后一个结点指针域的指针指向空,循环链表则是最后一个结点指针域的指针指向头结点,当然如果该链表无头结点,指针就指向第一个结点。 下图为带有头结点的循环链表: 二、循环链表的操作 1、循环链表操作跟单链表操作类似,只是判断循环条件时,单链表是p->next是否为空,而循环链表则是p->next是否为头指针L。 2、两循环链表合并 ...原创 2021-08-13 23:35:08 · 815 阅读 · 0 评论 -
线性表:顺序储存结构
一、定义 一段地址连续的储存单元依次储存线性表的数据元素。 二、特点 1、插入删除时,当在尾部进行,时间复杂度为o(1),其他情况为o(n) 2、存取容易,时间复杂度为o(1),故顺序结构又叫随机存取结构 三、储存结构表示 #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType data[MAXSIZE];//最大容量为MAXSIZE的数组 int length;//数据长度 }SqList; 三、其他操作 1、原创 2021-08-03 16:55:48 · 353 阅读 · 0 评论 -
线性表:链式储存结构(单链表)
一、定义 每个数据元素(结点)分为数据域和指针域,数据域储存本身信息,指针域储存指向后继元素的指针。所以不用把所有元素像顺序结构一样连续储存,只要有指针域,我们就能将数据链接在一起。 二、特点 ...原创 2021-08-03 16:51:15 · 338 阅读 · 0 评论 -
算法学习笔记:C++STL之set(集合)
C++STL中的set与数学中的集合一样,每个元素最多出现一次,自定义类型也可构造set,但必须定义“小于”运算符。 set的定义 使用set必须要有头文件#include<set> set<string>dict; set<int>dict; 安迪的第一个字典(set和stringstream的应用) 输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,单词不区分大小写。 #include<iostream> #include<s原创 2021-03-05 17:10:18 · 298 阅读 · 0 评论 -
C++学习笔记:string流
头文件sstream定义了三个类型来支持string对象的IO流。 istringstream 从string中读取数据 ostringstream 向string中写入数据 stringstream 即可从string中读取数据也可写入数据 下面有一例题对string流的运用: 输入若干行以空格隔开的整数,计算每行整数的和 在这里插入代码片 ...原创 2021-03-05 15:46:11 · 222 阅读 · 0 评论 -
学习笔记:乘法溢出问题
学习笔记:乘法溢出问题 1、3n+1问题 对于任意大于1的自然数,若n为奇数就将n变为3n+1,否则变为n的一半。当n变为1时,进行了多少次变换? 程序一: #include<iostream> #include<cstdio> using namespace std; int main() { int n; int count=0; cin>>n; while(n>1) { if(n%2==0)原创 2021-01-27 15:45:35 · 2016 阅读 · 0 评论 -
学习笔记:竞赛中的输入输出问题
一、输入一些整数,求出他们的最小值,最大值和平均值 样例输入:2 8 3 5 1 7 3 6 样例输出:1 8 4.375 程序一: #include<iostream> #include<cstdio> using namespace std; int main() { int x,n=0,min,max,s=0; while(scanf("%d",&x)==1) { if(x<min) min=x;原创 2021-01-28 10:35:43 · 294 阅读 · 0 评论 -
算法竞赛入门学习笔记:数组和字符串
一、逆序输出问题 读入一些整数,逆序输出一行 #include<iostream> #include<cstdio> using namespace std; #define MAXN 105 int a[MAXN]; int main() { int x,n=0; while(scanf("%d",&x)==1) a[n++]=x; for(int i=n-1;i>=1;i--) printf("%d ",a[i原创 2021-02-05 11:17:55 · 164 阅读 · 0 评论
分享