https://api.vvhan.com/api/avatar/boy

技术博客分享

1.排序算法学习自用

所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法不稳定。n个数排序则进行n轮,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。n个数排序有n个位置,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。时间复杂度为O(n log(n)),空间复杂度为O(n log(n)),该排序算法不稳定。先把数组分成两部分,,每部分递归处理变成有序,将两个有序列表合并起来。简单来说,对第i个元素从i向左到i-1找合适的位置插入。

04.Python基础3

在Python中可以使用列表,对日常生活中的大量数据进行管理。若没有列表类型,一个变量只能操作一个数据;手动为每个数据创建变量,无法动态添加数据。(1)定义:由一系列变量组成的可变序列容器(2)语法:列表名 = [元素1,元素2,元素3]

第5章-构造析构拷贝语义学2-继承情况下的对象构造

只有当一个完整的class object被定义出来(例如 Point3d origin)时,它才会被调用,如果object只是某个完整的object的subobject,他就不会被调用还可以把constructor一分为2,一个针对一个完整的object,一个针对subobject,完整的object无条件调用virtual base constructor,设定vptrs,subobject不调用virtual base constructor,也可能不设定vptrs。

算法思想前缀和

前缀和,这三个字,顾名思义表示是一个和,并且是某段序列的前缀的和。我们回到上一个题,如果我们提前知道第1个数到l-1个数的和,还有第1个数到第r个数的和,那么它们相减是不是可以直接得出结果,这个时间复杂度就是O(N)了;那么如何得出从第一个数到某个数的和呢?(也就是前缀和的具体做法先定义一个数组s[N],s[i]表示从第一个数字到第i个数字的和。我们输入一段长度为n的序列,如果是一个个输入的,那么每输入一个就加到s[i]上,并且s[i]还需要加上s[i-1]s[0]=0;i<=n;i++)

C入门基础二引用const引用内联函数inlinenullptr

C++11中引入nullptr,nullptr是一个特殊的关键字,nullptr是一种特殊类型的字面量,它可以转换成任意其他类型的指针类型。上图中,a、b原本的值为2(其中b为a的引用),当执行a++ 时,a、b的值均加1,变为3;引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。C++中指针和引用就像两个性格迴异的亲兄弟,在实践中他们相辅相成,功能有重叠性,但是各有自己的特点,互相不可替代。现在令ra为a的别名,权限被放大。