# 算法培训仓库 **Repository Path**: TSGU-OSC/algorithm-training-warehouse ## Basic Information - **Project Name**: 算法培训仓库 - **Description**: 此仓库用于存放社团开设的算法课程相关文件 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2024-12-02 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 算法培训仓库 ## 仓库介绍 此仓库用于存放社团开设的算法课程相关文件 ## 0基础算法规划 ### 一、基础知识 学习一门编程语言,推荐 **C++**。 掌握基本的数据类型、运算符、循环、分支、函数、数组等基本语法。 熟悉常用数据结构,如**数组、链表、栈、队列**等,这些都要会用数组来模拟实现,其中原因一个是加深自己对这一类数据结构的理解,另一个是这可以使得算法跑的更快,使用起来也更方便。 ### 二、算法入门 学习算法基础知识,如**时间复杂度、空间复杂度**等,学会**根据题目数据猜算法复杂度和打表**。 掌握基本排序算法,如**冒泡排序、选择排序、插入排序**(主要学习算法思想)等。 学习基础算法,如**前缀和与差分、二分查找、双指针、离散化、快速幂、乘法逆元、gcd、lcm**等。 学习基本的递归算法,如**斐波那契数列、暴力搜索(包括剪枝和记忆化)、分治法**等。 初步了解**图论、动态规划、贪心**算法等常用算法思想,整理一些动态规划、贪心的模型。 ### 三、数据结构进阶 掌握**树的遍历、图的遍历**等基本算法。 熟悉**STL中的优先队列、map、set、multiset、vector、lower_bound、upper_bound**等常用数据结构和算法的用法。 学习**线段树、拓扑图、并查集、树状数组**等数据结构。 ### 四、算法进阶 学习线性的动态规划算法,掌握**背包问题(01背包、多重背包、完全背包、混合背包、二维费用背包)、最长上升子序列**等经典问题,理解**多重背包的二进制优化**。 学习贪心算法,掌握**最小生成树(Prim和Kruskal)、最短路径(单源最短路Dijkstra,多源最短路Floyd)**等问题的贪心思想。 初步了解数论,包括**欧拉函数、欧拉定理、埃氏筛法(学习思想)、欧拉筛法、exgcd**。 这时候也是思维提升的关键时期,要注意总结各种乱七八糟的结论,有条件的可以适当证明,写成一片文章,时不时翻出来看看。 (参考Erik_Tse的文档) ## 算法知识点大纲 ![img](https://gitee.com/TSGU-OSC/algorithm-training-warehouse/raw/main/picture/IntroductionOutline.jpg) ![img](https://gitee.com/TSGU-OSC/algorithm-training-warehouse/raw/main/picture/IntroductionOutline2.jpg) ## 蓝桥杯0基础入赛规划 ![img](https://gitee.com/TSGU-OSC/algorithm-training-warehouse/raw/main/picture/Beginner'sPlan2.jpg) ![img](https://gitee.com/TSGU-OSC/algorithm-training-warehouse/raw/main/picture/Beginner'sPlan.jpg) ## 刷题网站 PTAhttps://pintia.cn/problem-sets/dashboard 洛古https://www.luogu.com.cn/ 蓝桥https://www.lanqiao.cn/problems/ 牛客https://ac.nowcoder.com/acm/problem/list 力扣https://leetcode.cn/problemset/ CF https://codeforces.com/ ATC https://atcoder.jp/ ## 语法基础每日一练 POJ巩固基础http://cxsjsxmooc.openjudge.cn/2023t1spring/ DAY1每日一练语法基础-数位处理-https://www.lanqiao.cn/problems/191/learning/ DAY2每日一练语法基础-字符串-模拟:https://www.lanqiao.cn/problems/4765/learning/ DAY3每日一练语法基础-枚举: https://www.lanqiao.cn/problems/6276/learning/ DAY4每日一练语法基础-字符串-模拟: https://www.lanqiao.cn/problems/666/learning/ DAY5每日一练语法基础-遍历数组https://www.lanqiao.cn/problems/18012/learning/ DAY6每日一练语法基础-模拟 https://www.lanqiao.cn/problems/307/learning/ DAY7每日一练语法基础-字符串:https://www.lanqiao.cn/problems/202/learning/ DAY8每日一练语法基础-数位处理https://www.lanqiao.cn/problems/311/learning/ DAY9每日一练语法基础-模拟-字符串https://www.luogu.com.cn/problem/CF894A DAY10每日一练语法基础-模拟-日期https://www.lanqiao.cn/problems/2408/learning/ DAY11每日一练语法基础-模拟-暴力-https://www.lanqiao.cn/problems/3272/learning/ DAY12每日一练语法基础-字符串https://www.lanqiao.cn/problems/1530/learning/ DAY13每日一练语法基础-日期-模拟https://www.lanqiao.cn/problems/597/learning/ DAY14每日一练语法基础-字符串-模拟https://www.lanqiao.cn/problems/287/learning/ DAY15每日一练语法基础-模拟https://www.lanqiao.cn/problems/17044/learning/ DAY16每日一练语法基础--模拟-排序https://www.lanqiao.cn/problems/2122/learning/ DAY17每日一练语法基础--模拟-素数https://www.lanqiao.cn/problems/3334/learning/ DAY18每日一练语法基础--暴力-字符串https://www.lanqiao.cn/problems/170/learning/ 语法基础练习,大家自行安排。 语法基础过关的同学,可以先看看递归, 大一上尽量在十一月中旬学完结构体以及指针。 ## 网课老师推荐 BILIBILI:1. **一只会code的小金鱼**(基础算法,新手小白易理解) ​ 2.**Erik_Tse****(有基础有进阶,课程难度中等偏上,需一定基础) ​ 3.翁恺的c语言(基础) ​ 4.MOOC郭炜的程序设计与算法(学完c语言后) ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request