[置顶] 基础排序算法之快速排序(Quick Sort)

摘要: 快速排序(Quick Sort)同样是使用了分治法的思想,相比于其他的排序方法,它所用到的空间更少,因为其可以实现原地排序。同时如果随机选取中心枢(pivot),它也是一个随机算法。最重要的是,快速排序(Quick sort)的算法分析的过程非常给力。本文首先描述问题,再说明快速排序(Quick Sort)的基本思路并给出伪代码,之后贴出自己的Python代码。在验证完算法的正确性之后,给出如何选择好的中心枢(pivot)的方法,即随机快速排序(Randomized Quick sort),并贴代码。最后进行算法复杂度分析。问题描述问题描述和其他排序算法一样,输入一组未排序的数组,如左边的数组 阅读全文
posted @ 2013-09-03 12:04 热爱GIS的坏蜀黍 阅读(2003) 评论(0) 推荐(4) 编辑

[置顶] 基础排序算法之并归排序(Merge Sort)

摘要: 并归排序是学习分治法 (Merge Sort) 的好例子。而且它相对于选择,插入,冒泡排序来说,算法性能有一定提升。我首先会描述要解决的问题,并给出一个并归排序的例子。之后是算法的思路以及给出伪代码。算法的实现部分用Python完成。最后自己尝试说明白算法分析。问题描述问题描述很简单,输入一组未排序的数组,如左边的数组,通过并归排序算法的计算,输出一组正确排序的数组,如右边的数组。如果利用上面这个例子来做并归排序的话,应该首先将该数组切割成两半,对左边一半进行排序,在对右边一半进行排序,在合并排序好的左右数组。如下图所示:思路和伪代码可以从例子中看出,并归排序就是一个先分后合的过程:递归排序左 阅读全文
posted @ 2013-08-29 11:59 热爱GIS的坏蜀黍 阅读(992) 评论(1) 推荐(2) 编辑

[置顶] Python中With的用法

摘要: 在看Dive Into Python中有关描述文件读写那章节的时候,看到了有关with的用法,查阅下相关资料,记录下来,以备后用。官方的reference上有关with statement是这样说的,With申明把由context manager定义的方法的执行块包装起来。这样可以把try...except...finally的使用模式封装起来已被之后方便重用。官方的定义如下:1 with_stmt ::= "with" with_item ("," with_item)* ":" suite2 with_item ::= expre 阅读全文
posted @ 2013-08-28 16:08 热爱GIS的坏蜀黍 阅读(1411) 评论(0) 推荐(0) 编辑

[置顶] Python中AND-OR的用法

摘要: 学习Python中的lambda函数的时候,才发现原来Python中的AND和OR还可以有一些别的用法。Python中的布尔逻辑计算的结果并非返回布尔值,而是返回它们相互之间的某一个。文章的部分例子来源于Dive Into Python。ANDAND的表达式返回所遇到的第一个假值,如果表达式中无假值,则返回表达式中最后一个值。在Python中,0、‘’、[]、()、None这五个值在布尔环境中为假,例子如下:>>>() and 'foo'()>>>'python' and 'foo' and 'lamb 阅读全文
posted @ 2013-08-27 09:21 热爱GIS的坏蜀黍 阅读(712) 评论(0) 推荐(0) 编辑

[置顶] Oracle Spatial构建自定义投影坐标系

摘要: 之前项目换过服务器,移植数据库时候并没有正确完整的移植自定义的投影坐标系,结果就报出莫名其妙的一些错误,比如unable to transform rectangle due to: ORA-13199: SRID does not exist。 因为在移植坐标系的时候仅仅只是将MDSYS.SDO_CRS_CS表中对应的SRID记录转存,一开始我也以为定义坐标系只要在这个表中插入数据即可,但发现事实并非如此。自定义投影坐标系是应该在视图MDSYS.SDO_COORD_REF_SYSTEM插入数据,通过触发器MDSYS.SDO_CRS_INSERT_TRIGGER在表MDSYS.SDO_C... 阅读全文
posted @ 2012-04-28 08:57 热爱GIS的坏蜀黍 阅读(1896) 评论(2) 推荐(0) 编辑

定理(Theorem)、命題(Proposition)、輔助定理(Lemma)、引申定理(Corollary)、假設(Assumption)

摘要: 文章转自:http://hicammie.blogspot.hk/2008/05/theorempropositionlemmacorollaryassumpt.html谢谢Cammie Xiaotu的整理名詞定義:定理(Theorem)、命題(Proposition)、輔助定理(Lemma)、引申定理(Corollary)、假設(Assumption)名詞解釋Theorem:就是定理,比較重要的,簡寫是 Thm。Lemma:小小的定理,通常是為了證明後面的定理,如果證明的篇幅很長時,可能會把證明拆成幾個部分來敘述,雖然篇幅可能變多,但脈絡卻很清楚。Corollary:推論。由定理立即可推知的 阅读全文
posted @ 2013-08-30 16:11 热爱GIS的坏蜀黍 阅读(828) 评论(0) 推荐(0) 编辑

python 学习记录

摘要: 2013/5/26python里面没有swap函数?a,b=b,a2013/6/8assert 语句assert 语句是声明某个语句是真的,如果不为真就会触发一个AssertionError2013/6/11Python 复制对象(浅复制和深复制)需求:你想复制一个对象.因为在Python中,无论你把对象做为参数传递,做为函数返回值,都是引用传递的.讨论:标准库中的copy模块提供了两个方法来实现拷贝.一个方法是copy,它返回和参数包含内容一样的对象.import copynew_list = copy.copy(existing_list)有些时候,你希望对象中的属性也被复制,可以使用de 阅读全文
posted @ 2013-05-28 16:05 热爱GIS的坏蜀黍 阅读(151) 评论(0) 推荐(0) 编辑

为什么 Python 不支持函数重载?

摘要: 为了考虑为什么 python 不提供函数重载,首先我们要研究为什么需要提供函数重载。函数重载主要是为了解决两个问题。1。可变参数类型。2。可变参数个数。另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数。好吧,那么对于情况 1 ,函数功能相同,但是参数类型不同,python 如何处理?答案是根本不需要处理,因为 python 可以接受任何类型的参数,如果函数的功能相同,那么不同的参数类型在 python 中很可能是相同的代码,没有必要做成两个不同函数。那么 阅读全文
posted @ 2013-05-22 19:00 热爱GIS的坏蜀黍 阅读(228) 评论(0) 推荐(0) 编辑

GeoWebCache参数之pixelSize(像素大小)

摘要: 如果你想搭建GeoWebCache,这个网址适合你http://geowebcache.org/docs/current/ 如果你对GeoWebCache.XML涉及到的参数有不理解或理解不透的,这个网址适合你http://geowebcache.org/schema/docs 之前用GeoWebCache切图,在flex控件中显示发现字体非常的模糊,与存储在GWC服务器上的图片有差别,最后是发现pixelSize这个参数搞的鬼。 Pixel size在GeoWebCache的帮助文档的Gridsets and Gridsubsets一节中有提A gridset is a globa... 阅读全文
posted @ 2012-04-28 09:46 热爱GIS的坏蜀黍 阅读(1741) 评论(0) 推荐(0) 编辑

MapViewer提示错误之Cannot read USER_SDO_TILE_ADMIN_TASKS view from database

摘要: 警告信息: Cannot read USER_SDO_TILE_ADMIN_TASKS view from database.(XXXX)解决方案: 该警告的意思是用户无法找到自己对应的USER_SDO_TILE_ADMIN_TASKS视图,该视图的作用是可以自动恢复长时间瓦片管理请求。Automatic Long Tile Administrative Request RecoveryLong running tile admin requests that are interrupted due to Fusion Middleware or MapViewer shutdown ... 阅读全文
posted @ 2012-04-27 11:43 热爱GIS的坏蜀黍 阅读(529) 评论(0) 推荐(0) 编辑