摘要:
本文转载自:kaka_ace's blog我们使用 Python 开发时, 会遇到 class A 和 class A(object) 的写法,这在 Python2 里是有概念上和功能上的区别, 即经典类(旧式类)与新式类的区别,英文上分别描述为 old-style(classic-style) 与... 阅读全文
摘要:
单下划线(如: _var):使用单下划线,用于指定该名变量或函数属性为“私有”。这仅仅是一个惯例,不是强制规定。用于向其他程序员表明这个变量或函数仅仅供内部使用,外部不要访问它。但实际上外部还是可以访问。在类中,单下划线开始的成员变量是保护变量,意思是只有类对象和子类对象才能访问;“双下划线”开始的... 阅读全文
摘要:
本文转自:http://my.oschina.net/leejun2005/blog/145911在 python 中赋值语句总是建立对象的引用值,而不是复制对象。因此,python 变量更像是指针,而不是数据存储区域, 这点和大多数 OO 语言类似吧,比如 C++、java 等 ~ 1、... 阅读全文
摘要:
本文转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html原文作者:阮一峰今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点... 阅读全文
摘要:
今天碰到要删除指定文件(夹)外的其他文件的问题。网上查到的方法是这样的 需要在当前文件夹中进行: rm -rf !(keep) #删除keep文件之外的所有文件 rm -rf !(keep1|keep2) #删除keep1和keep2文件之外的所有文件 在Ubuntu14.04下有个大坑... 阅读全文
摘要:
本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运... 阅读全文
摘要:
在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销。排序算法有非常多种,如我们最常用的快速排序和堆排序等算法,这些算法需要对序列中的数据进行比较,因为被称为基于比较的排序。基于比较的排序算法是不能突破O(NlogN)的。简单证明如下: ... 阅读全文
摘要:
归并排序是以O(NlogN)最坏情形运行时间运行,而所使用的比较次数几乎是最优的。它是递归算法的一个很好的实例。 归并排序的也遵循分治的思想。直观上其操作如下: 分解:分解待排序的n个元素的序列成各具n/2个元素的子序列。 解决:使用归并排序递归地排序两个子序列。 合并:合并两个已排序的... 阅读全文
摘要:
与归并排序一样,快速排序使用也使用了分治的思想。下面是对一个典型的子数组A[p,...,r]进行快速排序的三步分治过程: 分解:数组A[p,...,r]被划分成两个(可能为空)子数组A[P,...,q-1]和A[q+1,...,r],使得A[p,...,q-1]中每个元素都小于等于A[q],而... 阅读全文
摘要:
基本概念: 在类UNIX系统中,僵尸进程是指完成执行(通过exit系统调用,或运行时发生致命错误或收到终止信号所致)但在操作系统的进程表中仍然有一个进程表表项(进程控制块PCB),处于"终止状态"的进程。这发生于子进程需要保留表项以允许其父进程读取子进程的exit status:一旦退出态通过wa... 阅读全文