基础知识笔记
基础知识笔记
清蒸雪糕
一个小人物
展开
-
基础程序算法笔记
二分搜索(Binary Search)时间复杂度 :假使总共有n个元素,那么二分后每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。最坏的情况是K次二分之后,每个区间的大小为1,找到想要的元素令n/2^k=1,可得k=log2n,(是以2为底,n的对数),所以时间复杂度可以表示O()=O(logn).int Bina...原创 2020-02-15 15:26:23 · 155 阅读 · 0 评论 -
基础知识整理5
sizeof(类),如何计算类的大小?1.类的大小类的sizeof()大小一般是类中的所有成员的sizeof()大小之和。确切的说,用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。注意:类只是一个类型定义,它本身是没有大小可言的。对象大小 = vptr(可能不止一个,这个很难确定,类中定义了一个virtual函数,仍然为占用4个字节)+ 所有非静态数据成员大小 + ...转载 2019-02-13 23:15:20 · 82 阅读 · 0 评论 -
基础知识整理4
如何定义一个只能在堆(栈)上创建对象的类1.只能在栈上创建对象的类只有使用new运算符,对象才会建立在堆上,因此,只要禁用new运算符就可以实现类对象只能建立在栈上class AA{public: AA() { cout<<"AA()"<<endl; } ~AA() ...原创 2019-02-12 23:45:30 · 75 阅读 · 0 评论 -
基础知识整理3
数据结构1.链表(1)链表建立、插入、删除·建立Node *L;L = new Node;L = NULL;//不带头节点的初始化L->=NULL;//带头节点的初始化·头尾插入元素p->next = L; L=p;//头插法Node *tail = new Node;//尾插法Node *cur = L;while(cur->next!...原创 2019-02-11 23:39:38 · 69 阅读 · 0 评论 -
基础知识整理2
网络TCP和UDPtcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。udp(用户数据报协议)传输层协议,提供面向操作的简单不可靠的非连接传输层服务,面向报文。区别:a.tcp是基于连接的,可靠性高;udp是基于无连接的,可靠性较低;b.由于tcp是连接的通信,需要有三次握手、重新确认等连接过程,会有延时,实时性差;同时过程复杂,也使其易于被攻击;而udp无连接,无建立...原创 2019-02-10 23:30:33 · 79 阅读 · 0 评论 -
基础知识点整理(杂乱)
死锁及其预防和处理方法死锁的规范定义:如果一个进程在等待只能由该进程停止才能引发的事件,那么该进程就是死锁的。(1)产生死锁的原因·因为系统资源不足·进程运行推进的顺序不合适·资源分配不当等。(2)产生死锁的四个必要条件1.互斥条件:每个资源要么已经分配给了一个进程,要么就是可用的。2.占有和等待条件:已经得到了某个资源的进程可以再请求新的资源。3.不可抢占条件...原创 2019-02-09 18:01:43 · 86 阅读 · 0 评论