算法
阿双2009
绿水青山,是乃大富贵;清风朗月,无异真功名
展开
-
冒泡排序+二分查找
/// /// 冒泡排序 /// /// 待排序的数组 private void bubbleSort(int[] array) { int length = array.Length; for (int i = 0; i < lengt原创 2010-04-25 18:12:00 · 1358 阅读 · 0 评论 -
定积分
定积分的原始定义如下:这个式子就是求函数f(x)在区间(a,b)的定积分,其实对于定积分来说,开、闭区间都不影响最后的积分值,也就是说,无论区间是(a,b)、[a,b)、(a,b]还是[a,b],最后的积分值都是一样的,因为从几何意义上讲,定积分就是求面积,而一条直线或线段是没有任何面积可言的。我们回想一下定积分的原始定义,是先把区间切分成“无数”块,把每一小块近似看成一个小矩形,把每个小原创 2010-05-15 00:43:00 · 3557 阅读 · 0 评论 -
求Sin(x)在[0,2π]内给定区间的最大值
<br /><br />如图示,求y=sin(x)在区间[x1,x2]的最大值(0≤x1<x2≤2π)<br />解:<br />分六种情况讨论:<br />① 当x2≤π/2时,最大值为sin(x2);<br />② 当x1≤π/2且x2>π/2时,最大值为1;<br />③ 当π/2<x1≤π时,最大值为sin(x1);<br />④ 当π<x1<x2≤3π/2时,最大值为sin(x1);<br />⑤ 当π<x1≤3π/2且x2>3π/2时,<br /> 此时就要看哪边离3π/2远原创 2010-08-03 23:42:00 · 3788 阅读 · 0 评论 -
斐波那契数列
<br />斐波那契数列用数学递归方程式表示如下:<br />f(n)=f(n-1)+f(n-2) (n∈N*)<br />其中f(1)=f(2)=1<br />这里提供三种方案 获取其第N项值<br />法一、递归法(最直观 但在程序中不推荐用该方法)<br /> /// <summary> /// 利用递归 /// </summary> /// <param name="n">第n项</param> Int64 get原创 2010-06-06 12:02:00 · 984 阅读 · 0 评论 -
C# 求线段与圆的交点
本文转自:http://blog.csdn.net/rabbit729/article/details/4285119原文给出了很好的思路 /// /// 线段与圆的交点 /// /// 线段起点 /// 线段终点 /// 圆心坐标 /// 圆半径平方转载 2012-04-19 10:37:52 · 12879 阅读 · 6 评论 -
C# 求两个线段之间的夹角
本文转自:http://www.4ucode.com/Study/Topic/2030405原文利用余弦定理来计算夹角,数学知识真是渐行渐远啊, /// /// 根据余弦定理求两个线段夹角 /// /// 端点 /// start点 /// end点 ///转载 2012-04-19 10:47:28 · 11070 阅读 · 0 评论 -
C# 点绕某点旋转某角度
出处找不到了 /// /// 以中心点旋转Angle角度 /// /// 中心点 /// 待旋转的点 /// 旋转角度(弧度) private void PointRotate(Point center, ref Point p1, double angle)转载 2012-04-19 11:03:02 · 7795 阅读 · 2 评论 -
C# 求点在直线的投影点坐标
点在指定直线的投影点,即过点作一垂直于指定直线的直线,与指定直线的交点即为所求。这个问题其实回归到两条垂直直线的交点问题,回到最原始的初中几何知识,复习下如图示首先我们明确下已知条件,指定直线上任一点A,直线斜率k,点C,求点B说到斜率,就有不存在的情况,如图(2),显然这种情况B的横坐标=A的横坐标,B的纵坐标=C的纵坐标本文重点讨论第一种情况,其实也很简单,联立原创 2012-04-20 19:25:43 · 11426 阅读 · 0 评论