摘要:算法竞赛中一些常用知识总结(JAVA版)
前言:今天总结了一下以往算法竞赛中常用到的知识点,包括常用到的方法,和一些常见的问题
OJ术语
简称 | 英文名称 | 中文名称 |
---|---|---|
OJ | Online Judge | 在线判题系统 |
AC | Accepted | 通过 |
WA | Wrong Answer | 答案错误 |
TLE | Time Limit Exceed | 超时 |
OLE | Output Limit Exceed | 超过输出限制 |
MLE | Memory Limit Exceed | 超内存 |
RE | Runtime Error | 运行时错误 |
PE | Presentation Error | 格式错误 |
CE | Compile Error | 无法编译 |
常见数据结构的特点
数据结构 | 优点 | 缺点 |
---|---|---|
数组 | 插入快,若是知道下标,可以非常快速的存储 | 查找慢,删除慢,大小固定 |
有序数组 | 比无序的数组结构查找更快 | 删除和插入慢,大小固定 |
栈 | 提供后进先出方式的存储 | 存储其他的项很慢 |
队列 | 提供先进后出的方式的存储 | 存储其他的项很慢 |
链表 | 插入快,删除快 | 查找慢 |
二叉树 | 查找,插入,删除都快(若树保持平衡) | 删除算法复杂 |
红—黑树 | 查找,插入,删除都快(树总是平衡的) | 算法复杂 |
2-3-4树 | 查找,插入,删除都快。树总是平衡的。类似的树对磁盘的存储有用 | 算法复杂 |
哈希表 | 如果关键字已知则存储极快。插入快 | 删除慢,如果不知道关键字则存储很慢,对存储的空间使用不充分 |
堆 | 插入,删除快,对最大数据项的存储很快 | 对其他数据项存在慢 |
图 | 对现实世界的建模 | 有些算法慢且复杂 |
String类
1 | int indexOf(); |
Spring类型转换
1 | 在Java中将String转换为char。 |
Math类
1 | abs(数值类型参数) |
List接口
1 | //接口实现类: |
Stack类
1 | boolean empty() |
Queue(队列)
1 | boolean offer(e) |
Arrays
1 | void sort(数组参数) |
##BigInteger(整形)和BigDecimal(浮点型)
1 | //BigDecimal类型构造方法 |
TreeSet
1 | contains() |
十进制转二进制
1 | 十进制转成十六进制: |
四舍五入
1 | String.format("%.2f", Math.pow(r,2) * 3.14) |
- 本文作者: th3ee9ine
- 本文链接: https://www.blog.ajie39.top/2019/04/07/算法竞赛知识点总结(JAVA版)/
- 版权声明: 本博客所有文章除特别声明外,均采用 LICENSE 下的许可协议。转载请注明出处!