复试上机算法学习目录

本文借助PAT的甲级和乙级题库进行算法学习,目录结构和代码有部分参考算法笔记,在算法笔记给的参考代码上改进了很多,有些题目使用了原创的更简单的解题思路,也有很多题目本人采取了多种解题方式供读者参考。

复试上机算法学习目录

1.入门模拟

1.1简单模拟

Title 题目 分值 参考代码
B1001 害死人不偿命的(3n+1)猜想 15 C++
B1011 A+B 和 C 15 C++
B1016 部分A+B 15 C++
B1026 程序运行时间 15 C++
B1046 划拳 15 C++
B1008 数组元素循环右移问题 20 C++
B1012 数字分类 20 C++
B1018 锤子剪刀布 20 C++
A1042 Shuffling Machine 20 C++
A1046 Shortest Distance 20 C++
A1065 A+B and C 20 C++
B1010 一元多项式求导 25 C++
A1002 A+B for Polynomials 25 C++
A1009 Product of Polynomials 25 C++

1.2查找元素

Title 题目 分值 参考代码
B1041 考试座位号 15 C++
B1004 成绩排名 20 C++
B1028 人口普查 20 C++
B1032 挖掘机技术哪家强 20 C++
A1011 World Cup Betting 20 C++
A1006 Sign In and Sign Out 25 C++
A1036 Boys VS Girls 25 C++

1.3图形输出

Title 题目 分值 参考代码
B1036 跟奥巴马一起编程 15 C++
B1027 打印沙漏 20 C++
A1031 Hello World for U 20 C++

1.4进制转换

Title 题目 分值 参考代码
B1022 D进制的A+B 20 C++
B1037 在霍格沃茨找零钱 20 C++
A1019 General Palindromic Number 20 C++
A1027 Colors in Mars 20 C++
A1058 A+B in Hogwarts 20 C++

1.5字符串处理

Title 题目 分值 参考代码
B1006 换个格式输出整数 15 C++
B1021 个位数统计 15 C++
B1031 查验身份证 15 C++
B1002 写出这个数 20 C++
B1009 说反话 20 C++
B1014/A1061 福尔摩斯的约会 20 C++
B1024/A1073 科学计数法 20 C++
B1048 数字加密 20 C++
A1001 A+B Format 20 C++
A1005 Spell It Right 20 C++
A1035 Password 20 C++
A1077 Kuchiguse 20 C++
A1082 Read Number in Chinese 25 C++

2.算法初步

2.1排序

Title 题目 分值 参考代码
B1015/A1062 德才论 25 C++
A1012 The Best Rank 25 C++
A1016 Phone Bills 25 C++
A1025 PAT Ranking 25 C++
A1028 List Sorting 25 C++
A1055 The World’s Richest 25 C++
A1075 PAT Judge 25 C++
A1083 List Grades 25 C++
A1080 Graduate Admission 30 C++
A1095 Cars on Campus 30 C++

2.2散列

Title 题目 分值 参考代码
B1029/A1084 旧键盘 20 C++
B1033 旧键盘打字 20 C++
B1038 统计同成绩学生 20 C++
B1039/A1092 到底买不买 20 C++
B1042 字符统计 20 C++
B1043 输出PATest 20 C++
B1047 编程团体赛 20 C++
A1041 Be Unique 20 C++
A1050 String Subtraction 20 C++
B1005 继续(3n+1)猜想 25 C++
A1048 Find Coins 25 C++

2.3贪心

Title 题目 分值 参考代码
B1023 组个最小数 20 C++
B1020/A1070 月饼 25 C++
A1033 To Fill or Not to Fill 25 C++
A1037 Magic Coupon 25 C++
A1067 Sort with Swap(0, i) 25 C++
A1038 Recover the Smallest Number 30 C++

2.4二分

Title 题目 分值 参考代码
B1030/A1085 完美数列 25 C++
A1010 Radix 25 C++
A1044 Shopping in Mars 25 C++
A1048 Find Coins 25 C++

2.5two pointers

Title 题目 分值 参考代码
B1030/A1085 完美数列 25 C++
B1035/A1089 Insert or Merge 25 C++
A1029 Median 25 C++
A1048 Find Coins 25 C++
A1044 Shopping in Mars 25 C++

2.6其他技巧与算法

Title 题目 分值 参考代码
B1040/A1093 有几个PAT 25 C++
B1045/A1101 快速排序 25 C++
B1008 数组元素循环右移问题 20 C++

3.数学问题

3.1简单数学

Title 题目 分值 参考代码
B1003 我要通过! 20 C++
B1019/A1069 数字黑洞 20 C++
B1049/A1104 数列的片段和 20 C++
A1008 Elevator 20 C++
A1049 Counting Ones 30 C++

3.2最大公约数与最小公倍数

Title 题目 分值 参考代码
B1008 数组元素循环右移问题 20 C++

3.3分数的四则运算

Title 题目 分值 参考代码
A1081 Rational Sum 20 C++
B1034/A1088 有理数四则运算 20 C++

3.4素数

Title 题目 分值 参考代码
B1007 素数对猜想 20 C++
B1013 数素数 20 C++
A1015 Reversible Primes 20 C++
A1078 Hashing 25 C++

3.5质因子分解

Title 题目 分值 参考代码
A1096 Consecutive Factors 20 C++
A1059 Prime Factors 25 C++

3.6大整数运算

Title 题目 分值 参考代码
B1017 A除以B 20 C++
A1023 Have Fun with Numbers 20 C++
A1024 Palindromic Number 25 C++

4.C++标准模板库STL的使用

4.1vector

Title 题目 分值 参考代码
A1039 Course List for Student 25 C++
A1047 Student List for Course 25 C++

4.2set

Title 题目 分值 参考代码
A1063 Set Similarity 25 C++

4.3string

Title 题目 分值 参考代码
A1060 Are They Equal 25 C++

4.4map

Title 题目 分值 参考代码
B1044/A1100 火星数字 20 C++
A1054 The Dominant Color 20 C++
A1071 Speech Patterns 25 C++
A1022 Digital Library 30 C++

5.数据结构

5.1栈和队列

Title 题目 分值 参考代码
A1051 Pop Sequence 25 C++
A1056 Mice and Rice 25 C++

5.2链表处理

Title 题目 分值 参考代码
B1025/A1074 反转链表 25 C++
A1032 Sharing 25 C++
A1052 Linked List Sorting 25 C++
A1097 Deduplication on a Linked List 25 C++

6.两个搜索算法

6.1深度优先搜索(DFS)

Title 题目 分值 参考代码
A1103 Integer Factorization 30 C++

6.2广度优先搜索(BFS)

Title 题目 分值 参考代码
A1091 Acute Stroke 30 C++

7.树的相关算法

7.1二叉树的遍历

Title 题目 分值 参考代码
A1020 Tree Traversals 25 C++
A1086 Tree Traversals Again 25 C++
A1102 Invert a Binary Tree 25 C++

7.2树的遍历

Title 题目 分值 参考代码
A1079 Total Sales of Supply Chain 25 C++
A1090 Highest Price in Supply Chain 25 C++
A1094 The Largest Generation 25 C++
A1106 Lowest Price in Supply Chain 25 C++
A1004 Counting Leaves 30 C++
A1053 Path of Equal Weight 30 C++

7.4二叉查找树

Title 题目 分值 参考代码
A1043 Is It a Binary Search Tree 25 C++
A1064 Complete Binary Search Tree 30 C++
A1099 Build A Binary Search Tree 30 C++

7.5平衡二叉树

Title 题目 分值 参考代码
A1066 Root of AVL Tree 25 C++

7.6并查集和堆

Title 题目 分值 参考代码
A1107 Social Clusters 30 C++
A1013 Battle Over Cities 25 C++
A1098 Insertion or Heap Sort 25 C++

8.图的相关算法

8.1图的遍历

Title 题目 分值 参考代码
A1013 Battle Over Cities 25 C++
A1021 Deepest Root 25 C++
A1034 Head of a Gang 30 C++
A1076 Forwards on Weibo 30 C++

8.2最短路径

Title 题目 分值 参考代码
A1003 Emergency 25 C++
A1018 Public Bike Management 30 C++
A1030 Travel Plan 30 C++
A1072 Gas Station 30 C++
A1087 All Roads Lead to Rome 30 C++

9.动态规划

9.1子序列问题

Title 题目 分值 参考代码
A1007 Maximum Subsequence Sum 25 C++
A1045 Favorite Color Stripe 30 C++
A1040 Longest Symmetric String 25 C++

9.2背包问题

Title 题目 分值 参考代码
A1068 Find More Coins 30 C++

10.扩展

10.1分块思想和树状数组

Title 题目 分值 参考代码
A1057 Stack 30 C++

10.2快乐模拟

Title 题目 分值 参考代码
B1050/A1105 螺旋矩阵 25 C++
A1017 Queueing at Bank 25 C++
A1014 Waiting in Line 30 C++
A1026 Table Tennis 30 C++

11.总结

总结 描述
问题篇 回答PAT或OJ平台常见的问题
技巧篇 记录PAT或OJ平台常见的技巧
STL库 总结STL库的常见模板和函数

你可能感兴趣的:(博客目录)