Fork me on GitHub
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 125 下一页

2012年3月15日

摘要: 1. 叉乘判别法(只适用于凸多边形)想 象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将 该边与v叉乘,判断结果3维矢量中Z分量的符号是否发生变化,进而推导出点是否处于凸多边形内外。这里要注意的是,多边形顶点究竟是左手序还是右手序,这 对具体判断方式有影响。2. 面积判别法(只适用于凸多边形)第四点分别与三角形的两个点组成的面积分别设为S1,S2,S3,只要S1+S2+S3>原来的三角形面积就不在三角形范围中.可以使用海伦公式。推广一下是否可以得到面向凸多边形的算法?(不确定)3. 角度和判别 阅读全文
posted @ 2012-03-15 09:59 pengyingh 阅读(2436) 评论(0) 推荐(0)
摘要: 二叉树是一棵节点都不能有多于两个儿子的树。这一章,主要学习二叉树的种类和应用。一.实现typedef struct TreeNode *PrtToNode;typedef struct PrtToNode Tree;struct TreeNode{ ElementType Element; SearchTree Left; SearchTree Right;};二.特点每个结点最多有两棵子树二叉树是有次序的,其次序不能随意颠倒 二叉树三.二叉树的基本形态二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:具有3个结点的树和具有3个结点的二叉树的形态四.... 阅读全文
posted @ 2012-03-15 09:34 pengyingh 阅读(912) 评论(0) 推荐(1)

2012年3月14日

摘要: 二叉树是非线性结构,即每个数据结点至多只有一个前驱,但可以有多个后继。它可采用顺序存储结构和链式存储结构。1.顺序存储结构二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点。因此,必须把二叉树的所有结点安排成为一个恰当的序列,结点在这个序列中的相互位置能反映出结点之间的逻辑关系,用编号的方法从树根起,自上层至下层,每层自左至右地给所有结点编号,缺点是有可能对存储空间造成极大的浪费,在最坏的情况下,一个深度为k且只有k个结点的右单支树需要2k-1个结点存储空间。依据二叉树的性质,完全二叉树和满二叉树采用顺序存储比较合适,树中结点的序号可以唯一地反映出结点之间的逻辑关系,这样既能够最大可 阅读全文
posted @ 2012-03-14 19:22 pengyingh 阅读(38636) 评论(1) 推荐(3)
摘要: 动态规划,Dijkstra算法,A*算法的框架是相同的,不同点仅在于“推进点的选取”和“算法终止条件”。一,动态规划:(参见http://blog.csdn.net/iwantnon/archive/2009/07/07/4329269.aspx)推进点选取:(1),在粗犷的动态规划算法中:根本不进行选择,而是对所有已存在节点全部推进一遍。这可能造成如下两点浪费:[1],重复推进:对某点v已经作了推进,而下一次在其valu值没有发生更改的情况下又一次对它进行推进,显然这第二次推进得不到任何新东西,所以是白费的。[2],推进失效:对某点v作了推进以后,又对点u作推进,而u恰好将点v的valu值刷 阅读全文
posted @ 2012-03-14 19:03 pengyingh 阅读(2066) 评论(0) 推荐(1)
摘要: 6、教你从头到尾彻底理解KMP算法作者:July、saturnma 时间;二零一一年一月一日-----------------------本文参考:数据结构(c语言版) 李云清等编著、算法导论作者声明:个人July 对此24个经典算法系列,享有版权,转载请注明出处。引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配问题。本文由简单的字符串匹配算法开始,再到KMP算法,由浅入深,教你从头到尾彻底理解KMP算法。来看算法导论一书上关于此字符串问题的定义:假设文本是一个长度为n的数组T[1...n],模式是一个长度为m<=n的数组P[ 阅读全文
posted @ 2012-03-14 19:00 pengyingh 阅读(368) 评论(0) 推荐(0)
摘要: 红黑树算法的层层剖析与逐步实现----作者July二零一零年十二月三十一日本文主要参考:算法导论第二版本文主要代码:参考算法导论。本文图片来源:个人手工画成、算法导论原书。推荐阅读:Leo J. Guibas 和 Robert Sedgewick 于1978年写的关于红黑树的一篇论文。--------------------------------------------------------------红黑树系列,四篇文章于今日已经完成。[二零一一年一月九日]教你透彻了解红黑树:http://blog.csdn.net/v_JULY_v/archive/2010/12/29/610563. 阅读全文
posted @ 2012-03-14 18:55 pengyingh 阅读(414) 评论(0) 推荐(0)
摘要: 4、教你通透彻底理解:BFS和DFS优先搜索算法作者:July二零一一年一月一日---------------------------------本人参考:算法导论本人声明:个人原创,转载请注明出处。ok,开始。翻遍网上,关于此类BFS和DFS算法的文章,很多。但,都说不出个所以然来。读完此文,我想,你对图的广度优先搜索和深度优先搜索定会有个通通透透,彻彻底底的认识。---------------------咱们由BFS开始:首先,看下算法导论一书关于 此BFS 广度优先搜索算法的概述。算法导论第二版,中译本,第324页。广度优先搜索(BFS)在Prime最小生成树算法,和Dijkstra单源 阅读全文
posted @ 2012-03-14 18:43 pengyingh 阅读(18441) 评论(0) 推荐(0)
摘要: 作者July二零一零年十二月三十一日本文参考:微软面试100题系列V0.1版第19、56题、算法导论、维基百科。ok,咱们先来了解下什么是动态规划算法。动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。动态规划算法分以下4个步骤:1.描述最优解的结构2.递归定义最优解的值3.按自底向上的方式计算最优解的值 //此3步构成动态规划解的基础。4.由计算出的结果构造一个最优解。 //此步如果只要求计算最优解的值时,可省略。好,接下来,咱们讨论适合采用动态规划方法 阅读全文
posted @ 2012-03-14 18:38 pengyingh 阅读(6752) 评论(0) 推荐(0)
摘要: 经典算法研究系列:二、Dijkstra算法初探July 二零一一年一月======================本文主要参考:算法导论 第二版、维基百科。写的不好之处,还望见谅。本经典算法研究系列文章,永久勘误,永久更新、永久维护。 July、二零一一年二月十日更新。------------------------------------一、A*搜索算法三、dynamic programming二、Dijkstra 算法五(续)、教你透彻了解红黑树五、红黑树算法的实现与剖析六、教你从头到尾彻底理解KMP算法四、BFS和DFS优先搜索算法---------------------------- 阅读全文
posted @ 2012-03-14 18:31 pengyingh 阅读(8186) 评论(0) 推荐(1)
摘要: 作者:July、二零一一年一月----------------------------------博主说明:1、本经典算法研究系列,此系列文章写的不够好之处,还望见谅。2、本经典算法研究系列,系我参考资料,一篇一篇原创所作,转载必须注明作者本人July及出处。3、本经典算法研究系列,精益求精,不断优化,永久更新,永久勘误。欢迎,各位,与我一同学习探讨,交流研究。有误之处,不吝指正。-------------------------------------------引言 1968年,的一篇论文,“P. E. Hart, N. J. Nilsson, and B. Raphael. A form 阅读全文
posted @ 2012-03-14 18:27 pengyingh 阅读(868) 评论(0) 推荐(0)
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 125 下一页

导航