算法
文章平均质量分 56
xuyin1204
这个作者很懒,什么都没留下…
展开
-
单向链表和双向链表
单向链表:package com.test.linkedlist;public class SingleLinkedList { private Node root; // 向链表中添加一个结点 public void add(Object obj) { Node node = new Node(obj); if (root == null) { root = node; return;原创 2021-06-10 17:39:16 · 75 阅读 · 0 评论 -
二叉树的广度优先搜索(BFS)和深度优先搜索(DFS)
参考:二叉树的深度和广度优先遍历 - Java实现package com.test.binarytreetraverse;import java.util.ArrayDeque;import java.util.Stack;public class BinaryTree { static class TreeNode{ int value; TreeNode left; TreeNode right; public Tre转载 2021-06-10 15:34:34 · 83 阅读 · 0 评论 -
几种比较经典排序算法
参考:十大经典排序算法(动图演示)原创 2021-06-09 11:03:08 · 135 阅读 · 0 评论 -
计算两个多边形的重叠面积
#include <iostream>#include <cmath>#include <cstring>using namespace std;const int maxn = 300;const double eps = 1e-6;int dcmp(double x){ if(x > eps) return 1; return x < -eps ? -1 : 0;}struct Point{ double x原创 2020-08-03 16:44:45 · 5295 阅读 · 16 评论 -
通过叉积公式来判断一个点在矢量线段的那一侧的方法
参考:算法:判断点在直线的左右哪一侧.判断 某一点在直线左右侧方法一:左右方向是相对前进方向的,只要指定了前进方向就可以知道左右(比如指定前进方向是从直线的起点到终点).判断点在直线的左侧还是右侧是计算几何里面的一个最基本算法.使用矢量来判断.定义:平面上的三点P1(x1,y1),P2(x2,y2),P3(x3,y3)的面积量:S(P1,P2,P3)=|y1 y2 y3|= (x1-x3)(y2-y3)-(y1-y3)(x2-x3)当P1P2P3逆时针时S为正的,当P1P2P3顺时针时S为负的。原创 2020-06-09 10:05:18 · 3810 阅读 · 1 评论 -
计算一个线段与一个矩形的相交面积
#include <iostream>#include <cmath>#include <cstring>#include <algorithm>#include <vector>// #include <cstdlib>#include "stdlib.h"using namespace std;const double PI = 3.141592654;const int maxn = 300;const d原创 2020-05-25 17:12:15 · 413 阅读 · 0 评论 -
计算两个不规则多边形重叠的面积
#include <iostream>#include <cmath>#include <cstring>using namespace std;const int maxn = 300;const double eps = 1e-6;int dcmp(double x){ if(x > eps) return 1; return x < -eps ? -1 : 0;}struct Point{ double x原创 2020-05-20 09:27:33 · 3430 阅读 · 2 评论 -
求数学表达式 x + y 的值
如果 x 和 y 为正整数,并且 x + y + xy = 65,求 x + y 的值?求解过程如下:将x + y + xy = 65左右两边各加1,可得⇒ x+1 + y + x*y = 65 +1;⇒ (x + 1) + y(x + 1) = 66⇒ (x+1) (y+1) = 66右边的66拆解为两个的正整数的乘积可以归纳如下四种情况:(1)1 和 66分以下两种情况i)...原创 2020-05-05 15:17:41 · 2072 阅读 · 0 评论 -
25匹马,5个跑道,最少比几次可以得出跑得最快的前三匹吗?
算法思路:首先将25匹马分成5个小组,分别为A, B, C, D, E,比赛次数5次;每个小组都分别进行比赛,分别得到前两名,分别为A1,A2, B1, B2, C1, C2, D1, D2, E1, E2;将每个小组的第一名进行一场比赛,即将A1, B1, C1, D1, E1这五匹马进行一次比赛,比赛次数为1;如果步骤3中是前三名分别为A1, B1, C1, 那可以得出25匹马中跑的...原创 2020-04-20 23:18:47 · 3733 阅读 · 3 评论 -
求N个无序数组中前M个数
添加链接描述原创 2020-04-20 22:59:44 · 246 阅读 · 0 评论