- 博客(6)
- 收藏
- 关注
原创 python re模块
Python re re库是Python里面负责正则表达(regular expression)的一个库。 维基百科对正则表达的定义: In theoretical computer science and formal language theory, a regular expression (sometimes called a rationa
2016-08-16 20:39:11
432
原创 python bisect, re以及heapq
Python bisect Python内置库的bisect是一个小但是某种时候很有用的库,其功能就是有序插入和返回应该插入的index。其原理自然就是二分查找,时间复杂度O(lgn)。 这个库主要有4个函数,即bisect_left,bisect,insort_left和insort。默认是升序序列。 1. bisect.bisect_left(a, x, lo=
2016-08-16 20:36:16
734
原创 算法专题:DP(2)
算法专题:DP(2) 这里看一些进阶的问题。 4.编辑距离问题。假设有两个单词,有三种编辑的手段:插入一个字符,替换一个字符,或者删除一个字符,从word1到word2,每用一次编辑算作一个编辑距离。给出word1和word2,求word1到word2的最短编辑距离。 【解】还是沿用之前的思维方式,首先确定用dp,因为是最优解问题,而且子问题之间有明显关联。然后确定dp的含义,有两个
2016-07-28 22:47:48
375
原创 编程实现kmp算法
1 void makeNext(const char P[],int next[]) 2 { 3 int q,k;//q:模版字符串下标;k:最大前后缀长度 4 int m = strlen(P);//模版字符串长度 5 next[0] = 0;//模版字符串的第一个字符的最大前后缀长度为0 6 for (q = 1,k = 0; q //for循环,从第
2016-07-23 15:12:21
393
1
原创 内部排序稳定性总结
稳定排 由于要面试,总结了常用的几种排序算法的稳定性: (1)冒泡排序 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并
2016-07-18 21:37:25
567
原创 算法专题:DP(1)
DP即Dynamic Programming,按照wiki上面的解释,dynamic programming (also known as dynamic optimization) is a method for solving a complex problem by breaking it down into a collection of simpler subproblems,
2016-07-18 16:40:32
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人