主页

python 鸡零狗碎

python 鸡零狗碎 os.path.join() 可以连接结尾是正反斜线的字符串,不需要特意去掉 print os.path.join('aa\\','bb\\')# 'aa\bb\' os.path.join() 是按照路径解释字符串,而非普通字符串 print os.path.join('aa/','/bb')# '/bb' 这里’/bb’实际上是个根目录的路径,所以把’aa/’挤兑没了 即使是r字符串结尾也不能是反斜线(转义符) print r'some_path\' # error print r'some_path\\' # right pyth...

阅读更多

算法导论·最小堆

算法导论·最小堆 python3 自带有 heapd 模块,不需要自己写堆 #encoding:utf-8 class MinHeap(): def __init__(self): self.__list = [] def push(self,n): self.__list.append(n) self.swim(len(self.__list)-1) def pop(self): # if len(self.__: return None top = self.__list[0] self.__list[0] = self.__list[-1] self.__list.pop() self.sink(0) return top d...

阅读更多

算法导论划重点.cn

算法导论划重点 原文 第一章 算法在计算中的作用 随你便。 第二章 算法基础 2.1 插入排序:讲道理你应该了解所有主流排序算法,不仅是插入排序,插入排序属于基础常识,不一定什么时候就会用到。 2.2 算法分析:说明部分可以跳过,剩下部分应该了解。 2.3 设计算法:包括了归并排序以其算法分析,以及分治思想简介,肥肠重要,值得一读。 第三章 函数的增长 完整阅读,需要知道大O记号和时间复杂度分析,就酱。 第四章 分治策略 4.1 最大子数组问题:值得花时间一读。对于这个问题本身,有比分治更好的解法,但是这是个不错的练习,里面的逻辑流会有助于你理清思路。 4.2 Strassen 算法:我超爱这个算法,## 第一次见到这个算法时感觉超酷超震惊,不过如果要应付面试,可以跳过,不会...

阅读更多

算法导论·动态规划·编辑距离

算法导论·动态规划·编辑距离 原书习题 15-5 第一部分 #encoding:utf-8 from collections import namedtuple x = 'algorisssssthmssss' y = 'altroidddthm' z = [''] * len(y) costs = namedtuple('Costs',['copy','replace','delete','insert','twiddle','kill'])(0,1,2,2,1,0) m = len(x) n = len(y) i = j = 0 total_costs = 0 def copy(): global x,z,i,j,costs,total_costs z[j] = x[...

阅读更多

算法导论·动态规划·DNA距离

算法导论·动态规划·DNA距离 原书习题 15-5 第二部分 #encoding:utf-8 from collections import namedtuple x = 'GATCGGCAT' y = 'CAATGTGAATC' x_ = [''] * (len(x)+len(y)) y_ = [''] * (len(x)+len(y)) costs = namedtuple('Costs',['copy','replace','delete','insert','twiddle','kill'])(-1,float('inf'),2,2,float('inf'),float('inf')) m = len(x) n = len(y) i = j = 0 # pointers...

阅读更多

算法导论划重点

Brief I2A See Here Chapter 1 Interesting read, but you can skip it. Chapter 2 2.1 Insertion Sort - To be honest you should probably know all major sorting algorithms, not just insertion sort. It’s just basic knowledge and you never know when it can help. 2.2 Analysis of Algorithms - you can skip the small intro, but know the rest. 2.3 Designi...

阅读更多

C# 的 Dictionary

C# 的 Dictionary 基本逻辑 C# 的 Dictionary 是一种常用的数据结构,支持泛型,避免了类型检查和装箱,在HashMap的基础上有性能上的提高,内部逻辑也有一些区别。插入查找和删除的渐进复杂度都是O(1)。 逻辑结构 上,Dictionary使用桶和链表存储,对于任何一个对象,调用其 GetHashCode() 将对象映射为一个整数,范围是整个 int,再去掉符号位取余,将其映射到对应序号的桶里存放。 当预设的容量不够时候,字典会自动进行扩容。 以容量为 7 的字典中一个字串“Apple”为例: “Apple” 经过 string.GetHashCode() 求得hash值为 63476538 ,再去符号取余得6,于是被存到bucket的6号位,...

阅读更多

解决Sublime Text 无法显示韩文

解决Sublime Text 无法显示韩文 打开 Sublime text –> Preferences –> Setting – default 找到”font_options”: [] 改成”font_options”: [ “directwrite”] 如果无法编辑,请在%appdata%\Sublime Text 3\Packages目录手动建议default文件夹,保存了再重新打开 亲测无法修改default配置文件,只能修改User文件,不过依然有效

阅读更多