找到相关内容 126
月份信息二维坐标图绘制---(绘制箭头完美算法)续II
      今天中午,大家都在睡觉的时候,本人忙里偷闲找了点资料看了下,箭头算法终于到了最终版本了。非常感谢各位前辈在网上的资料,特别是MFC,JAVA的资料比较多。这里终于也可以告一段落了。       以下是C#的箭头算法,源代码如下:  1         /// <summary> 2         /// 绘制箭头 3         /// <
http://cyqdata.cn/cnblogs/article-detail-2539 
月份信息二维坐标图绘制---(绘制箭头算法)续
     赶着时间又把那个箭头的绘制算法写了出来,但是由于是通过中心点来计算对应的另外一点,因此偏差比较大。      具体算法如下:  1  //画折线、箭头 2                 if (index < count - 1) 3                &n
http://cyqdata.cn/cnblogs/article-detail-2458 
坐标高速插入,移动和查询算法
这个算法主要用于需要针对坐标的高速插入移动和查询。比如游戏的坐标定位,查找。   问题的来源是博问上的一个问题: http://space.cnblogs.com/question/21594/ 问题描述:已知一个userId对应一个(x,y)坐标 给定minX,maxX,minY,maxY,求出该范围内所有 userId。 考虑到大量的userId的坐标实时在变化更新,要求插入和 检索给定范围内的所有userid的效率要高   算法思路     如上图所示,整个算法由三部分组成, 第一部分是 id 到 链表节点的哈希表,这个哈希表的设计是为了快速通过id找到id所在的位置。 第二部分是一个二维矩阵,这个矩阵的设计是为了快速通过坐标定位到该坐标下的id列表 第三部分是双向链表,采用双向链表的好处是可以快速的增加和删除节点,双向链表的类属性中设计
http://cyqdata.cn/cnblogs/article-detail-2449 
随机化算法(5) — 蒙特卡罗(Monte Carlo)算法
已出连载: 1.《随机化算法(1) — 随机数》 2.《随机化算法(2) — 数值概率算法》 3.《随机化算法(3) — 舍伍德(Sherwood)算法》 4.《随机化算法(4) — 拉斯维加斯(Las Vegas)算法》   正文: 蒙特卡罗法(Monte Carlo method)是以概率和统计的理论、方法为基础的一种计算方法,将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解,故又称统计模拟法或统计试验法。 蒙特卡罗算法在一般情况下可以保证对问题的所有实例都以高概率给出正确解,但是通常无法判定一个具体解是否正确。 设p是一个实数,且1/2 <p <1。如果一个蒙特卡罗算法对于问题的任一实例得到正确解的概率不小于p,则称该蒙特卡罗算法是p正确的,且称p ̵
http://cyqdata.cn/cnblogs/article-detail-356 
数据结构与算法回顾之二叉树的遍历(下)
上节我们给出了广度优先遍历算法的实现和深度优先遍历算法的递归实现,本节我们讨论深度优先的三种遍历形式的非递归实现。 1.非递归先序遍历:先访问树的根节点,然后是左子树和右子树。根节点入栈,循环判断栈是否为空,如果不为空,出栈跟节点并访问根节点,如果右子树非空,让右子树先入栈;如果左子树非空,再让左子树入栈,执行循环,直到栈中为空。 代码如下: /// <summary> /// 先序遍历 /// </summary> /// <param name="root">开始节点</param> public void IterativePreorder(BSTNode root) { BSTNode p = root;
http://cyqdata.cn/cnblogs/article-detail-321 
K通道并归算法的优化实现
排序大规模的数据常用到外部并归排序。此算法分为两个步骤:首先把要处理的数据分成若干个区块,对每个区块载入内存进行排序;第二步则是把排序好的区块进行并归融合。我用此文章来介绍下一个优化的并归算法,称为K通道并归算法。该算法可以使用一次并归处理,就可以有效的融合K个区块。   对于比较少的数据进行排序,一般是直接载入主内存,进行快速排序。大多数主流语言都提供了API库支持:比如.NET运行库的Array.Sort函数,Java运行库的Arrays.sort函数注1;简单的调用API库函数即可排序好数据。   但是在实际情况中,有时我们需要对大规模的数据进行排序。比如处理一个搜索引擎爬虫产生的数据,可能一天有几个GB的数据量,甚至上TB的数据。把这些数据全部加载入内存进行快速排序是不现实的。所以才有了外部并归排序算法。     假设我们要处理的数据是存储在一个外部文件中。文件的每一行都
http://cyqdata.cn/cnblogs/article-detail-71