行业知识
计算机专业考研复试上机算法学习
2026-11-02 05:35:14
来源:互联网转载
计算机专业考研复试上机算法学习
这���博客是博主在准备可能到来的线下上机复试基于王道机试指南的学习,将各道习题链接和代码记录下来,这篇博客权且当个记录。
文章目录
- 计算机专业考研复试上机算法学习
- 1.STL容器学习
- 1.1 vector动态数组
- 1.1.1 完数VS盈数
- 1.2 stack栈
- 1.2.1 逆序输出
- 1.2.2 后缀运算符
- 1.2.3 堆栈的使用
- 1.3 queue队列
- 1.3.1 实现循环队列来解决约瑟夫问题
- 1.4 priority_queue优先队列
- 1.4.1 优先队列解决复数集合问题
- 1.4.2 优先队列解决哈夫曼树问题
- 1.5 双向链表 list
- 1.6 set集合
- 1.7 map映射容器
- 1.7.1 map的应用
- 1.7.2 统计字符串出现次数//
- 1.7.3 查询分数
- 1.7.4 开门人 和关门人
- 1.7.5 谁是你的潜在朋友
- 1.8 sort排序函数
- 1.9 next_permutation函数
- 2.算法学习
- 2.1 递归实现求元素的全排列
- 2.2 反序数
- 2.3百鸡问题
- 2.4 火鸡账单
- 2.5 今年的第几天
- 2.6打印日期
- 2.7 日期累加
- 2.8 日期差值_牛客题霸_牛客网 (nowcoder.com)
- 2.9 Day of Week_牛客题霸_牛客网 (nowcoder.com)
- 2.10剩下的树_牛客题霸_牛客网 (nowcoder.com)
- 2.11xxx定律_牛客题霸_牛客网 (nowcoder.com)
- 2.12 排序题
- 2.13带学号的成绩排序问题
- 2.14 考虑输入次序的学生成绩排序
- 2.15特殊排序
- 2.16 整数奇偶排序(简单)
- 2.17 小白鼠排序
- 2.18 奥运排序问题
- 2.19多次查找
- 2.20找最小数
- 2.21 找位置
- 3.字符串习题
- ****字符串的一些用法***
- 3.1 特殊乘法
- 3.2字符转换
- 3.3 密码转换
- 3.4 计算字符出现次数
- 3.5 统计大写字母出现次数
- 3.6 SKEW数
- 3.7 查找字符串
- 3.8 将单词首字母转换成大写
- 3.9 浮点数加法
- 3.10 使用KMP求字符串完全匹配次数
- 4.特殊的数学问题
- 4.1十进制转二进制
- 4.2 使用大数除法的十进制转二进制
- 4.3 二进制转十进制
- 4.4 M进制转换成N进制
- 4.5 十进制转八进制
- 4.6 A+B 转m进制
- 4.7 十六进制转十进制
- 4.8 数制转换
- 4.9 最大公约数
- 4.10 最小公倍数
- 4.11 判断最简真分数
- 4.12 判断是否是素数
- 4.13 输出个位数为1的素数
- 4.14 质因数
- 4.15 约数的个数
- 4.16 整除问题///
- 4.17 快速幂的应用
- 4.18 矩阵乘法
- 4.19 矩阵快速幂
- 4.20 矩阵加法
- 5.贪心算法
- 5.1匹配服务器
- 5.2 区间贪心:看电视节目
- 5.3 油价
- 5.4 加油站问题(贪心算法)
- 6.递归与分治
- 6.1 n的阶乘
- 6.2 杨辉三角
- 6.3 全排列(元素个数与之前一样)
- 6.4 斐波那契数列
- 6.5 求完全二叉树结点的子树
- 6.6分解数字转二的次幂
- 7.搜索算法
- 7.1 广度优先算法
- 7.2 广度优先解决玛雅密码问题
- 7.3 深度优先算法搜索状态问题
- 7.4 神奇的口袋
- 7.4 八皇后问题
- 8.动态规划
- 8.1 上楼梯
- 8.2 吃糖果
- 8.3 最长子序列和
- 8.4 最长递增子序列
- 8.5 最大递增子序列2
- 8.6 最长不递增子序列
- 8.7 最大上升子序列和
- 8.8 合唱队形
- 8.9 0-1背包问题,同一件物品最多只能选择一件
- 8.11 最小邮票数
- 8.12 完全背包
- 8.13 多重背包
- 8.14 三角形
- 8.15 暂时未解决的问题
- 8.16 放苹果
- 8.17 划分
- 9.二叉树
- 9.1 根据前序和中序生成二叉树序列
- 9.2 根据前序序列构成二叉树
- 9.3 二叉排序树的生成
- 9.4 记录插入结点的父节点
- 9.5 判断两棵二叉树是否相同
- 9.6 查找第k小数
- 10.图论
- 10.1 并查集
- 10.1.2 连通工程
- 10.1.3 判断是否是一棵树
- 10.1.4 寻找直系亲属///
- 10.1.5 统计图的联通分支
- 10.1.6 寻找集合内权重最大的节点
- 10.2 最小生成树
- 10.2.1 使用克鲁斯卡尔算法来解决最小生成树
- 10.2.2 在二维平面上使用最小生成树
- 10.3.3 Jungle Roads
- 10.3 最短路径
- 10.3.1 迪杰斯特拉算法
- 10.3.1.1
- 10.4 拓扑排序
- 10.5 关键路径
- 11.补充刷题
- 11.1 二叉树找父节点
- 11.2 后缀字串排序
- 11.3 寻找大富翁
- 11.4 **还是A+B**
- 11.5 判断欧拉回路
- 11.6 字符串排序
- 11.7 畅通工程
- 11.8 买房子
- 11.9 ZOJ字符串
- 11.10 bg
- 11.11 完全二叉树查找
- 11.12 守形数
- 11.13 围圈报数
- 11.14 反序数
- 11.9 ZOJ字符串
- 11.10 bg
- 11.11 完全二叉树查找
- 11.12 守形数
- 11.13 围圈报数
- 11.14 反序数
1.STL容器学习
1.1 vector动态数组
vector是C加加语言中的动态数组,内存空间是连续的,适用于插入删除操作少,随机访问频繁的场景。
#定义vector动态数组vector a;vector a;a.push_back(500);//插入数据a.insert(a.begin(),99);//在对应元素前面插入99a.erase(a.begin()+1);//删除对应位置得到数据cout int remainder = 0; for (int i = 0; i > w; //索引当作from graph[from].push_back(Edge(to, length, w)); graph[to].push_back(Edge(from, length, w)); } int start; int terminal; cin >> start >> terminal; Dijkstra(start, n + 1); if (dis[terminal] == INF) { cout >from>>to; graph[from].push_back(to); inDegree[to]++; } vector res=topoSort(n); for(int i=0;i> data; pq.push(data); } while (!pq.empty()) { int u = pq.top(); pq.pop(); cout b>>k){if(a=="0"&&b=="0") break;bool flag=true;int i=a.size()-1;int j=b.size()-1;while(k--){if(i> y; if (x == y) flag = 1; if (flag) { if (x == y) { Union(x, y); int res = 0; for (auto data : edge) { if (data.first == find(data.first)) res++; } if (res == 1) cout
上一篇:新商盟服务器怎么异常?