Jack Lee

I am a slow walker, but i never walk backwards.

Python内置方法的时间复杂度

本文转载自橘子一方的N维空间,特别表示感谢! 本文翻译自Python Wiki 本文基于GPL v2协议,转载请保留此协议。本页面涵盖了Python中若干方法的时间复杂度(或者叫“大欧”,“Big O”)。该时间复杂度的计算基于当前(译注:至少是2011年之前)的CPython实现。其他Pyt...

2016-08-27 15:56:14

阅读数 1026

评论数 0

最长递增子序列LIS的O(nlogn)的求法

最长递增子序列(Longest Increasing Subsequence)是指n个数的序列的最长单调递增子序列。比如,A = [1,3,6,7,9,4,10,5,6]的LIS是1 3 6 7 9 10。我们现在希望编程求出一个给定的数组,我们能得到LIS的长度。 关于LIS的求法使用DP算法...

2016-08-17 10:57:06

阅读数 4923

评论数 2

后缀数组以及利用后缀数组求取最长公共字串

后缀树组是一个字符串的所有后缀的排序数组。后缀是指从某个位置 i 开始到整个串末尾结束的一个子串。字符串 r 的从 第 i 个字符开始的后缀表示为 Suffix(i) ,也就是Suffix(i)=r[i..len(r)] 。如下图所示: 对于字符串banana,所有的后缀字符串是banana...

2016-08-16 20:51:36

阅读数 621

评论数 0

Python二维数组的创建

如果在Python中想要创建一个二维数组,我们该如何写呢?>>> A = [0]* 3 * 4 >>> B = [[0]*3] * 4是A还是B呢?当然是B了!还是先输出看一下:>>> A [0, 0, 0, 0, 0, 0, 0, 0, 0,...

2016-08-16 11:09:25

阅读数 7222

评论数 1

字符串匹配之KMP、BoyerMoore、Sunday算法

[TOC] 字符串匹配的算法想必大家都见得多了。之前在看《算法设计与分析基础》一书的时候,书中介绍了BoyerMoore算法和大名鼎鼎的KMP算法,当时只是用Swift实现了一遍。今天在尝试用Python编写KMP的时候,无意中看到Sunday算法,该算法的编写比BoyerMoore简单,也比B...

2016-08-15 14:36:55

阅读数 744

评论数 0

Python基础算法/剑指offer

之前完成了个人的Python编写,包括常见的一些基础算法,剑指offer的绝大多数算法的编写。都上传到github上了,很多里面都有自己几个测试用例,不过都注释掉了,直接去掉注释就好。如果对你有帮助,请记得点击github工程上的star,^_^ 现在总结如下:数据结构markdown格式 链表...

2016-07-30 10:50:28

阅读数 24797

评论数 10

不用加减乘除做加法中Python存在的bug

今天在刷《剑指offer》的时候,在做面试题47的时候,碰到了一道题: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 题目本身也不太难,使用位的异或运算和 位与操作即可。代码如下:class Solution: def Add(self, num1, ...

2016-07-13 22:33:57

阅读数 2837

评论数 1

整数中1出现的次数

求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数? 1~13中包含1的数字有1、10、11、12、13因此共出现6次。众所周知,对于一个整数而言,它是由个位、十位、百位、… 组成的。在这里我们用m代表1、10、 100、1000等等,用于之后各个位的表示。下面来看一下具...

2016-07-12 14:56:13

阅读数 759

评论数 0

Python实现朴素贝叶斯

通过Python实现李航的朴素贝叶斯一章的例题。from numpy import *def loadDataSet(): postingList = [[1, 'S'], [1, 'M'], [1, 'M'], ...

2016-06-24 17:35:03

阅读数 489

评论数 0

约瑟夫环 Python&Swift实现

Josephus问题的通解公式是 f(n,k)=((f(n-1,k)+k-1) mod n)+1,f(1,k)=1 其中f(n,k)表示n个人玩约瑟夫杀人游戏,每次报号k倍数的人被干掉的规则下最终剩下的那个人原本的标号。假设有10个人,即n = 10,0 1 2 3 4 5 6 7 8 9 ...

2016-06-23 22:25:57

阅读数 1543

评论数 0

Python实现决策树

训练数据集来自李航的《统计学习方法》特征选择一章,决策树的生成采用ID3或者C4.5算法,决策树剪枝暂未实现。决策树的实现还是比较容易的,主要思路如下: 1. 先计算整体类别的熵 2. 计算每个特征将训练数据集分割成的每个子集的熵,并将这个熵乘以每个子集相对于这个训练集的频率,最后将这些乘积累...

2016-06-18 17:34:48

阅读数 1655

评论数 0

Python自然语言处理第二章部分习题

第二章练习使用语料库模块使用语料库模块处理austen-persuasion.txt。这本书中有多少词标识符?多少词类型?import nltk emma = nltk.corpus.gutenberg.words('austen-emma.txt') len(emma) #求取文本中...

2016-06-15 16:46:08

阅读数 1460

评论数 0

从一段NLP程序看list和generator的用法

之前在学习Python自然语言处理的时候,碰到了有关下位词的一道习题: What percentage of noun synsets have no hyponyms? You can get all noun synsets using wn.all_synsets(‘n’). 当时我写的...

2016-06-15 10:23:38

阅读数 390

评论数 0

有关Python中的division问题

笔者在学习Natural Language Processing with PythonChapter2的过程中,在运行如下代码的时候生成结果和书中示例不同:import nltkdef content_fraction(text): stopwords = nltk.corpus.sto...

2016-06-13 16:07:19

阅读数 957

评论数 0

mac下得matplotlib配置

首先需要安装pip,sudo easy_install pipnumpy安装pip install -U numpy 有没有-U视情况而定matplotlib安装pip install matplotlib,如果没有权限,需要在前面加上sudo。有时候会提示一个-H有关的东西,这时候可以尝试sud...

2016-06-07 17:19:35

阅读数 2040

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭