首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
cos
创建于2022-03-21
订阅专栏
数据结构与算法相关笔记
等 1 人订阅
共29篇文章
创建于2022-03-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
状压dp——模板&分析&例题(存用)
一、什么是状压dp?二、常用位运算三、例题[A-Hie with the Pie](https://vjudge.[B - Travelling](https://vjudge.状压dp,即将状态压缩成2进制来保存,如矩阵中将一行的状态压缩成一个二进制串,如dp[S][v]中,S...
博弈论——模板&分析(存用)
有一堆石子,两个顶尖聪明的人玩游戏,先取者可以取走任意多个,但不能全取完,之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍。约定取走最后一个石子的人为赢家,求必败态。当且仅当总石子数为斐波那契数时,先手必败。证明如下,转自大佬证明 用到了Zeckendorf定理(齐肯...
图论——解决最小生成树问题(Kruskal算法&Prim算法)
上周末的蓝桥杯省模拟赛时最后一题是一道最小生成树的题目,因为恰好在慕课上刚看到这个地方,所以现学了Prim算法,解决了这个题目(大概),赛后就打算多琢磨琢磨这一类题目。题目链接 最小生成树问题,是指给定无向图G=(V,E),连接G中所有点,且边集是E的子集的树称为G的生成树(Sp...
RMQ问题——线段树
一、查询区间最值(点修改)1.建树2.更新3.二、区间修改(和、差、积、商等)1.2.上篇说到RMQ问题可以用ST表算法处理,但需要在线修改的时候,线段树是更好的选择。 模板题:hihoCoder #1077 RMQ问题再临-线段树 题目大意:给出一个数组A,每次有查询或修改两种...
RMQ问题——ST表算法
ST表是一个用来解决区间最值问题查询的算法 它用O(nlogn)复杂度预处理,可以实现O(1)复杂度的查询。 1.2.int t = (int) (log(b-a+1.0)/log(2.3.int t = (int) (log(b-a+1.0)/log(2.
归并排序循环实现(存用)
递归的归并排序是很占空间和时间的,而非递归算法就不一样了,额外空间复杂度最少为O(N)。
模板类封装(1)——单链表
查找链表中第K个元素,若找到返回指向该结点的指针,找不到或位置不合法返回空指针。cout << "The location is illegal.查找元素data,若找到返回指向该结点的指针,若找不到,返回空指针。cout << "The list has " << cnt <<...
链式前向星存图、二分图匹配之匈牙利算法 模板&分析(存用)
一、链式前向星1.是什么2.二、二分图匹配1.二分图2.匹配3.匈牙利算法核心代码几道例题[A - Fire Net](https://vjudge.[B - The Accomodation of Students](https://vjudge.1.如果说邻接表是不好写但效率...
模板类封装(2)——顺序栈和链式栈
编程实现栈的如下功能: (1)建立一个长度为n的顺序栈,元素类型可自行定义,并输出栈中各元素值。 (2)将数据元素e入栈,并输出入栈后的顺序栈中各元素值。 (3)将顺序栈中的栈顶元素出栈,并输出出栈元素的值和出栈后顺序栈中各元素值。编程实现队列的如下功能: (1)建立一个长度为n...
数据结构学习笔记<9> 散列查找
一、散列表(哈希表)1.2.1.2.以关键字key为自变量,通过一个确定的函数h (散列函数),计算出对应的函数值h(key),作为数据对象的存储地址可能不同的关键字会映射到同一个散列地址上,即h(keyi) = h(keyj) (当keyi ≠ keyj),称为 “冲突(Col...
数据结构学习笔记<8> 排序
一、拓扑排序1.2.拓扑排序思路例题3.二、简单排序1.前提2.1.例如,假定一个计算机专业的学生必须完成图3-4所列出的全部课程。从图中可以清楚地看出各课程之间的先修和后续的关系。如课程C5的先修课为C2,后续课程为C4和C6。通常,我们把这种顶点表示活动、边表示活动间先后关系...
PTA数据结构题目集 第十一周——散列查找
一定要做。return str != p.//创建一个长度大于TableSize的空表。H->Units[i].string str = Key.int len = str.while(H->Units[newp].flag != Empty && H->Units[newp]....
PTA数据结构题目集 第十周——排序(下)
PAT 的排名列表从状态列表中生成,该列表显示提交的分数。为PAT生成排名列表。排名列表必须按排名的递增顺序打印。总分相同的排名相同相同排名的用户,按完全解决的问题数量降序输出。如果仍相同,则按其 ID的打印顺序增加。-1表示没有编译通过,但-1算0分而不是没有提交。对于那些提交...
PTA数据结构题目集 第九周——排序(上)
一个实验各种排序算法的平台,好好玩哈,然后去论坛晒结果 —— 实在不行可以看给出的参考代码。初始序列存在两个数组里,先进行插入排序在每次,在每次迭代后判断序列是否相同,若相同则再做一次迭代后输出,若一直判断不相同则是归并排序。2015年考研复试上机真题,供备考的同学练练手,选做。
PTA数据结构题目集 第八周——图(下)
return w < a.int x = find(E[i].int y = find(E[i].ans += E[i].cin >> E[i].u >> E[i].v >> E[i].给你项目的N个活动检查点(编号从0 ~ N-1)和M个活动,接下来M行每行3个整数分别是活动的...
PTA数据结构题目集 第七周——图(中)
是很基本的算法应用,一定要做。给出每两个动物之间所需魔咒长度 哈利·波特最后应该带去考场的动物要使得最难变的动物所需总魔咒长度最小。 用Floyd算法得出最短路矩阵edge(edge[i][j]表示鳄鱼i到鳄鱼j所需最少跳转次数,初始化时能跳转则置为1,不能则置为0),同时用pa...
PTA数据结构题目集 第五周——堆&哈夫曼树&并查集
给出最小堆的插入序列,和下标序列,每个下标i输出Data[i]到根结点路径上的值。关于并查集,2005、2007年浙江大学计算机学院免试研究生上机考试题即由此题改编而来。每个样例中,C为查询任意两个计算机是否联通,I为连通这两个计算机,最后S结束后检查是否全部连通,如没有全部不连...
PTA数据结构题目集 第六周——图(上)
输出图中所有连通集。先输出DFS的结果,再输出BFS的结果。q.while(!q.v = q.q.q.return sqrt(pow((a.x-b.x),2) + pow((a.y-b.if(abs(a.x) >= s || abs(a.v[i].if(!v[j].visited...
PTA数据结构题目集 第三周——栽树(二叉树等)
小白专场会做详细讲解,基本要求,一定要做 题目大意:给定两棵树,请你判断它们是否是同构的。1.二叉树的表示 数组存储结构体,结构体含数据、左右孩子的下标(Null代表-1) 2.建二叉树 返回根节点下标 3.同构判断 利用递归。若R1、R2同时为空,返回true。若其中一个为空,...
PTA数据结构题目集 第四周——二叉搜索树&二叉平衡树
对于输入的各种插入序列,判断它们是否能生成一样的二叉搜索树。1.分别建两棵树的判别方法 2.不建树直接判断序列 3.现在给定一插入序列,输出生成的 AVL 树的根。2013年秋季PAT甲级真题,略有难度,量力而行。第7周将给出讲解。因为是完全二叉搜索树,由左子树结点值 > 根结点...
下一页