自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

零丁若叹

学会仰望天空,更要脚踏实地

  • 博客(9)
  • 收藏
  • 关注

原创 智能指针

C++中智能指针可以防止出现野指针、内存泄露等情况,智能指针的类中包含4个函数:构造函数、拷贝构造函数、重载复制操作符、析构函数。构造函数需要对引用计数和指针进行初始化,引用计数初始化为1,拷贝构造函数完成对象之间的拷贝,要注意引用计数的变化和判断两个指针是否指向相同的内存。重载复制操作符,需要判断的情况是左值代表的指针如果引用计数减为0,要释放相应的内存,避免发生内存泄露。析构函数中先判断引用计

2014-07-29 23:41:22 957

原创 python中的装饰器

python中的装饰器可以装饰函数,也可以装饰类,功能是向函数或者类添加一些功能。类似于设计模式中的装饰模式,它可以把装饰器的功能实现部分和装饰部分分开,避免类中或者函数中冗余的代码。装饰器装饰函数:def decrator(f1): def newf(): print "strings will be connected:" print f1(); return newf;

2014-07-27 13:10:25 1301

原创 和最接近0的子序列

给定整数m,n和数组x[n],找出某个I,使得x[i]+x[i+1]+x[i+2]+x[i+3]+x[i+4]…x[i+m]最接近于零。(0一.暴力解法    遍历各个i值,计算子序列的和,然后求出最接近0的int find(int a[],int n,int m) //寻找m+1个数字,使得他们的和最小{ int i=0; int thissum=0; int j

2014-07-26 13:35:44 2036

原创 不相交集python实现

1.不相交集是解决等价关系的一种数据结构,执行合并和查找的速度都非常快,M次运行合并和查找的运行时间为(M*logN)。在一个集合中,对于每一对元素(a,b),a,b∈S,对于关系R如果满足下面三个条件,则成关系R为等价关系:(1)自反性  对于所有a∈S,aRa(2)对称性   aRb当且仅当bRa(3)传递性   若aRb且bRc,则aRc有关不相交集的介绍

2014-07-20 09:43:39 1433

原创 计数排序、桶排序python实现

计数排序在输入n个0到k之间的整数时,时间复杂度最好情况下为O(n+k),最坏情况下为O(n+k),平均情况为O(n+k),空间复杂度为O(n+k),计数排序是稳定的排序。桶排序在输入N个数据有M个桶时,如果每个桶的数据接近N/M个且桶内使用基于比较的排序,则桶排序的时间复杂度为O(N+M*N/M*log(N/M)).如果N=M时,每个桶只有一个数据,时间复杂度降低为O(N).桶排序的时间

2014-07-12 14:28:02 3222

原创 快速排序,归并排序,堆排序python实现

快速排序的时间复杂度1.快速排序

2014-07-12 13:34:56 1737 3

原创 选择排序、插入排序、冒泡排序python实现

选择排序的时间复杂度为O(n^2),是不稳定的排序冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序插入排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),,平均情况下为O(n^2),是稳定的排序1.选择排序def selection(lista): leng=len(lista); for i in rang

2014-07-12 09:31:06 1591 1

原创 单链表反转python实现

单链表的反转可以使用循环,也可以使用递归的方式1.循环反转单链表循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可。 代码:class ListNode: def __init__(self,x): self.val=x; self.next=None;def nonrecurse(he...

2014-07-05 09:51:21 29865 2

原创 单链表反转C语言实现

单链表的反转可以使用循环,也可以使用递归的方式1.循环反转单链表循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可。 代码:# include # include using namespace std;struct linkNode{int val;linkNode *next;linkNode(int...

2014-07-05 09:51:03 16104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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