Python调用C/C++的种种方法

摘要: Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面就总结一下各种调用的方法, 给出例子, 所有例子都在ubuntu9.10, python2.6下试过. 1. Python 调用 C (base) 想在python中调用c函数, 如这儿的fact #include int fact(int n){ if (n <= 1) return 1; else re... 阅读全文
posted @ 2011-07-05 20:44 fxjwind 阅读(3851) 评论(1) 推荐(1) 编辑

COM本质论 笔记

摘要: 这本书属于如果你不是COM的设计者, 没有那种陪COM一路走来的过程, 是绝对写不出来的. 个人认为任何复杂的理论, 只要你了解它的始末, 都可以用比较容易理解的方式描述出来, 这就是科普的可行性. 某些故作高深的专家, 所谓的那些不知其所云的书和文章, 真是让人深深的鄙视... 本书的这一章主要是描述了从C++静态库, 一直演化到COM的C++原型的过程, 到这章的结束, 我们看到的仍然是C++... 阅读全文
posted @ 2011-07-05 20:43 fxjwind 阅读(996) 评论(0) 推荐(1) 编辑

C专家编程 笔记

摘要: C语言中的符号重载 C语言非常的简洁, 以至于不愿意用太多的符号, 这样有很多符号在不同的地方有不同的含义 这样会让用户很困惑, 这是c的语言特性, 也是设计上的一些失误 static 在函数内部,表示该变量的值在各个调用间一直保持延续性;对于函数,表示该函数只在本文件中可见extern 用于变量,表示该变量在其它地方定义;用于函数定义, 表示全局可见(属于冗余的)void 用于参数列表中,表示该... 阅读全文
posted @ 2011-07-05 20:41 fxjwind 阅读(265) 评论(0) 推荐(1) 编辑

C语言易混淆关键词详解-const, static, extern, typedef, 声明

摘要: Const Const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就能比较好理解, int i = 5;const int *a = &i;*a = 8; //报错, 只读不能赋值i = 10; //OK Const最有用处的地方是用它来限定函数的形参, 来表明该函数不... 阅读全文
posted @ 2011-07-05 20:40 fxjwind 阅读(1196) 评论(0) 推荐(0) 编辑

基本数据结构(算法导论)与python

摘要: Stack, QueueStack是后进先出, LIFO, 队列为先进先出, FIFO 在python中两者, 都可以简单的用list实现, 进, 用append() 出, Stack用pop(), Queue用pop(0), pop的时候注意判断len(l) 对于优先队列, 要用到前面讲到的堆链表和多重数组这些数据结构在python中就没有存在的价值, 用list都能轻松实现散列表为了满足实时查询的需求而产生的数据结构, 查询复杂度的期望是O(1), 最差为O(n) 问题描述, 对于n个(key, value)对, 怎样存储可以在O(1)的时间复杂度内获取特定key所对应的value. 这个 阅读全文
posted @ 2011-07-05 20:14 fxjwind 阅读(854) 评论(0) 推荐(1) 编辑

排序算法python实现

摘要: 先列出一些算法复杂度的标识符号的意思, 最常用的是O,表示算法的上届,如 2n2 = O(n2 ), 而且有可能是渐进紧确的, 意思是g(n)乘上一个常数系数是可以等于f(n)的,就是所谓的a<=b。而o的区别就是非渐进紧确的,如2n = o(n2 ), o(n2 )确实可以作为2n的上届, 不过比较大, 就是所谓的a其他符号表示了下届,和非渐进紧确的下届, a>=b, a>b 还有既是上届也是下届, 就是a=bBubble Sort冒泡排序效率是最低的, 对于list中任意一点, 都必须遍历其后所有元素以找到最小元素, 这个耗费是n所以对于完整的冒泡算法, 对list中n个 阅读全文
posted @ 2011-07-05 20:12 fxjwind 阅读(451) 评论(0) 推荐(0) 编辑

高效算法的常用技术(算法导论)

摘要: 对于高效算法, 有些比较简单的技术, 如分治法, 随机化, 和递归求解技术.这边介绍些更为复杂的技术, 动态规划, 贪心算法当对于复杂问题设计算法时, 首先会想到使用分治法 来解决, 分而治之, 一个很有哲理性的思路, 再复杂的问题都可以不断分解到你可以轻松解决的粒度, 把所有简单问题都解决完后, 组合在一起就得到了复杂问题的解, 可以看出其中典型的递归求解的思路.使用分治法的要求, 各个子问题是独立 的 (即不包含公共的子子问题,子问题不重叠 ).如果子问题重叠, 用分治法就比较低效, 因为需要重复解决相同子问题, 这就产生算法冗余, 要考虑使用动态规划.动态规划 的实质是分治思想 和解决冗 阅读全文
posted @ 2011-07-04 21:14 fxjwind 阅读(1154) 评论(0) 推荐(0) 编辑

堆排序-算法导论

摘要: 在看搜索引擎做查询结果排序的用到了堆排序,特来复习一下。那么在深入堆排序之前先来列举一下常见的排序方法,Insertion sort ,最简单直观的排序方法,时间复杂度最坏O(n2 ),in place(Recall that a sorting algorithm sorts in place if only a constant number of elements of the input array are ever stored outside the array.)就是说除了输入数组,仅还需耗费常数大小的空间, 这里对于insert sorting,应该只在交换element时,需 阅读全文
posted @ 2011-07-04 21:10 fxjwind 阅读(745) 评论(0) 推荐(0) 编辑

Programming Collecive Intelligence 笔记 Making Recommendations

摘要: 现在recommendation是非常普遍的一项技术, 在网上购物Amazon会推荐你可能感兴趣的商品,在电影,音乐网站,会推荐你可能喜欢的音乐或电影。那么这儿就来看看,这些推荐是怎么样实现的Collaborative Filtering 日常生活中,最简单的获取推荐的方法就是问朋友,你可能知道某些朋友的品位比较高,爱好和你比较相像。不过这种方法并不是一直管用,因为朋友知道的毕竟是很有限的, 相信每个人都会有很纠结不知道去哪儿吃饭,或不知道什么商品更值得买的时候。那么这时候就需要一个Collaborative Filtering算法,A collaborative filtering algo 阅读全文
posted @ 2011-07-04 21:02 fxjwind 阅读(244) 评论(0) 推荐(0) 编辑

Hadoop- The Definitive Guide 笔记二

摘要: The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing, including:Hadoop Core , our flagship sub-project, provides a distributed filesystem (HDFS) and su... 阅读全文
posted @ 2011-07-04 21:00 fxjwind 阅读(615) 评论(0) 推荐(0) 编辑