Skip to content

TSGU-OSC/Algorithm-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

算法培训仓库

仓库介绍

此仓库用于存放社团开设的算法课程相关文件

0基础算法规划

一、基础知识

学习一门编程语言,推荐 C++

掌握基本的数据类型、运算符、循环、分支、函数、数组等基本语法。

熟悉常用数据结构,如数组、链表、栈、队列等,这些都要会用数组来模拟实现,其中原因一个是加深自己对这一类数据结构的理解,另一个是这可以使得算法跑的更快,使用起来也更方便。

二、算法入门

学习算法基础知识,如时间复杂度、空间复杂度等,学会根据题目数据猜算法复杂度和打表

掌握基本排序算法,如冒泡排序、选择排序、插入排序(主要学习算法思想)等。

学习基础算法,如前缀和与差分、二分查找、双指针、离散化、快速幂、乘法逆元、gcd、lcm等。

学习基本的递归算法,如斐波那契数列、暴力搜索(包括剪枝和记忆化)、分治法等。

初步了解图论、动态规划、贪心算法等常用算法思想,整理一些动态规划、贪心的模型。

三、数据结构进阶

掌握树的遍历、图的遍历等基本算法。

熟悉STL中的优先队列、map、set、multiset、vector、lower_bound、upper_bound等常用数据结构和算法的用法。

学习线段树、拓扑图、并查集、树状数组等数据结构。

四、算法进阶

学习线性的动态规划算法,掌握背包问题(01背包、多重背包、完全背包、混合背包、二维费用背包)、最长上升子序列等经典问题,理解多重背包的二进制优化

学习贪心算法,掌握**最小生成树(Prim和Kruskal)、最短路径(单源最短路Dijkstra,多源最短路Floyd)**等问题的贪心思想。

初步了解数论,包括欧拉函数、欧拉定理、埃氏筛法(学习思想)、欧拉筛法、exgcd

这时候也是思维提升的关键时期,要注意总结各种乱七八糟的结论,有条件的可以适当证明,写成一片文章,时不时翻出来看看。

(参考Erik_Tse的文档)

算法知识点大纲

img

img

蓝桥杯0基础入赛规划

img

img

刷题网站

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

About

For storing documents related to algorithm courses offered by the club

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •