摘要: 快速排序是不稳定的算法,它不满足稳定算法的定义: 算法稳定性:假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面,并且排序之后,a[i]仍然在a[j]前面,则这个排序算法是稳定的。 快速排序算法的时间复杂度在最坏情况下是O(N^2),平均的时间复杂度是O(N*logN)。 阅读全文
posted @ 2018-07-31 08:16 此女子 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一个系统中的进程是与其他进程共享CPU和主存资源的。为了更加有效地管理存储器并且少出错,现在系统提供了一种对主存的抽象概念,叫做虚拟存储器(VM)。虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每一个进程提供了一个大的、一致的和私有的地址空间。虚拟存储器提供了三个重要的 阅读全文
posted @ 2018-07-26 09:12 此女子 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 6.1 存储技术 6.1.1 随机访问存储器 随机访问存储器(Random-Access Memory,RAM)分为两类:静态的和动态的。静态(SRAM)比动态(DRAM)更快,但也贵很多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。DRAM用来作为主存以及图形系统的帧缓冲区 阅读全文
posted @ 2018-07-24 08:39 此女子 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 正在做的一个视频通话软件,在iOS系统升级为11之后(xcode版本为9.2)发现程序启动之后,一通话就闪退了。 后来发现是没有相机和麦克风的权限。 http://www.cnblogs.com/Rong-Shengcom/p/5962850.html#undefined 阅读全文
posted @ 2018-03-30 09:00 此女子 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 9.1 多态:相同的名称,不同的类 使不同的类共享相同方法名称的能力称为多态。它让你可以开发一组类,这组类中的每一个类都能响应相同的方法名。每个类定义都封装了特定方法所需的代码,这就使得它独立于其他的类定义。 9.2 动态绑定和id类型 id数据类型可以存储属于任何类的对象。 变量dataValue 阅读全文
posted @ 2018-02-03 21:58 此女子 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 父类的非私有实例变量和方法都会成为新类定义的一部分。子类可以直接访问这些方法和实例变量,就像在类定义中直接定义了这些子类一样。 在子类中使用实例变量,必须先在接口部分声明。在实现部分声明和合成(synthesize)的实例变量是私有的,子类并不能直接访问,需要明确定义或合成取值方法才能访问实例变量的 阅读全文
posted @ 2018-02-03 19:33 此女子 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 7.1 分离接口和实现文件 通常,类的声明(@interface部分)要放在它自己的名为class.h的文件中,而类的定义(@implementation部分)通常放在相同名称的文件中,但扩展名要使用.m。通过在.m中导入.h文件,使编译器知道为当前类声明的类和方法,同时还能确保这两个文件的一致性。 阅读全文
posted @ 2018-01-28 22:54 此女子 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 3.2 实例和方法 请求一个类或者实例来执行某个操作时,就是在向它发送一条消息,消息的接收者称为接收者。 类方法:向某个类发送的消息,通常用于产生一个对象; 例如: 向Car类发送一条消息,请求它卖给你一辆新车,获取到的对象将被存储到变量yourCar中。 实例方法:向某一具体对象发送的消息,对对象 阅读全文
posted @ 2018-01-28 17:49 此女子 阅读(128) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/2a108f16c4fe 阅读全文
posted @ 2018-01-27 21:51 此女子 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 思想:(升序)相邻两个比较大小,如果前者大于后者,则互换;第一趟下来,最大的数就到正确位置上了。依此类推…… 冒泡排序是交换排序的一种。 代码: 时间复杂度: 第一趟排序需要比较n-1次,第二趟需要比较n-2次,……,最后一趟只需比较1次,因此复杂度为:(n-1)+(n-2)+……+2+1 = 1/ 阅读全文
posted @ 2017-12-25 10:30 此女子 阅读(252) 评论(0) 推荐(0) 编辑