java编程中用到的算法
时间: 2023-05-28 22:05:52 浏览: 60
1. 排序算法:如冒泡排序、选择排序、插入排序、归并排序、快速排序等。
2. 查找算法:如二分查找、哈希表查找等。
3. 图论算法:如最短路径算法、最小生成树算法等。
4. 动态规划算法:如背包问题、最长公共子序列问题、最大子数组和问题等。
5. 分治算法:如求解逆序对问题、矩阵乘法等。
6. 贪心算法:如活动选择问题、背包问题等。
7. 字符串算法:如暴力匹配算法、KMP算法、BM算法等。
8. 数学算法:如高斯消元法、快速幂算法、欧几里得算法等。
9. 计算几何算法:如点的位置关系、点的距离、线的交点等。
10. 随机化算法:如随机化快速排序、Monte Carlo算法、Las Vegas算法等。
相关问题
java应用程序 bresenham算法画直线
回答: Bresenham算法是一种在计算机图形学中常用的画直线算法。它基于增量计算法,以及整数运算比浮点数运算来说更快的优势,能够高效地计算出给定两点间的连线,是一种经典的数字化直线绘制算法。在Java应用程序开发中,可以使用Bresenham算法来实现绘制直线的功能。
acm常用java算法,
ACM比赛中常用的Java算法包括:
1. 排序算法:快速排序、归并排序、堆排序等。
2. 搜索算法:深度优先搜索(DFS)、广度优先搜索(BFS)、回溯算法等。
3. 动态规划:最长公共子序列(LCS)、背包问题(0/1背包、完全背包、多重背包)、最短路径问题(Dijkstra算法、Bellman-Ford算法、Floyd算法)等。
4. 数据结构:栈、队列、链表、二叉树、堆、哈希表、并查集、线段树、树状数组等。
5. 字符串处理:KMP算法、AC自动机、字典树、后缀数组等。
6. 计算几何:向量、点、线、平面等基本概念,以及求几何问题的算法,如求凸包、计算多边形面积、判断点是否在多边形内等。
7. 数学算法:质数判断、最大公约数、最小公倍数、快速幂算法、高精度计算等。
以上只是常用的算法,实际上ACM比赛中用到的算法非常多,需要有丰富的算法知识和丰富的编程经验才能在比赛中获得好成绩。