- 博客(23)
- 收藏
- 关注
原创 总结四(TCP、UDP)
1.TCP,UDP有什么区别TCP是面向连接的、UDP是无连接的TCP是面向字节流的、UDP是基于数据报的TCP是可靠传输(数据正确性及有序),UDP是尽最大努力交付TCP占用系统资源较多、UDP则较少2.TCP的重传机制超时重传:超过超时时间还没有收到ack,则重传数据报。快速重传:主要针对后面的序号先到达的数据报,则发送三次冗余ack,引起重传3.快速重传为什么需要三次冗余ack
2017-07-28 17:12:01
286
原创 总结五(数据库相关)
1.数据库索引的原理 2.范式 3.数据库连接池用的是什么,配置文件呢,数据库驱动怎么下载的,持久层框架 4.为什么要用数据库连接池,有什么好处。 5.数据库中join的类型与区别 6.数据库的ACID 7.mysql执行的慢,如何分析 8.数据库索引,联合索引,结合B+树分析 9.数据库引擎介绍,innodb和myisam的特点与区别
2017-07-28 15:40:30
389
原创 几种排序算法的总结
类型 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 插入排序 O(n2)O(n^2) O(n2)O(n^2) O(n)O(n) O(1)O(1) 稳定 归并排序 快速排序 1.插入排序 可以联想成打扑克时手里拿牌的一个过程,手里的
2017-07-24 22:32:02
220
原创 项目总结
1.GPS与公里标(漏洞太多) 程序分为两部分: 第一部分:将GPS数据与公里标数据对应 第二部分:在建立好的对应关系里进行查找GPS类的创建:成员变量:速度、位置、标志等。(文件句柄到底放哪??)成员函数:(考虑分离) mti配置相关 获取数据相关 查找相关2.多约束条件下的最短路径 重点在于算法:线性规划的思想无向图转换为有向图必经节点必经边不可经过边实现:图的
2017-07-22 21:03:03
236
原创 在线编程四
1.求最长递增子序列 给定:arr=[2,1,5,3,6,4,8,9,7]; 得到:[1,3,4,8,9]#include#includeusing namespace std;/**********************************************///时间复杂度 n^2vectorint> getdp(vectorint> arr){ in
2017-06-21 17:02:35
234
原创 操作系统第八章网络操作系统
计算机网络是指通过数据通信系统把地理上分散地自主计算机系统连接起来,以达到数据通信和资源共享目的的一种计算机系统 在计算机网络上配置网络操作系统NOS,为了管理网络中的共享资源,最有代表性的:VINES、windows2000、Intranetware 计算机网络的拓扑结构:星形拓扑:具有不可靠性、扩充性差、瓶颈树形拓扑:系统具有一定的分步控制和处理能力公用总线形拓扑:物理结构简单、信道利
2017-06-19 16:14:08
1067
原创 总结三
1.http和https http超文本传输协议,http使用TCP作为它的运输层支持协议,http是一个无状态协议,即不保存客户机的任何信息。 http的过程如下:https以安全为目标的超文本传输协议,简单地来说就是http+SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。https的过程如下:2.四十亿个数字找某个
2017-06-06 17:14:07
197
原创 在线编程(三)
1.斐波那契数列 思路1:直接递归调用,时间复杂度 O(2N)O(2^N)int Fibonacci(int n){if(n==1 || n==2)return n;return Fibonacci(n-1) + Fibonacci(n-2);}思路2:动态规划,将前n次的结果保存,时间复杂度O(N)O(N)int Fibonacci(int n){if(n==1 || n==2)r
2017-06-05 11:20:24
269
原创 操作系统第五章 设备管理
设备管理的基本任务是完成用户提出的IO请求,提高Io速率以及提高IO设备的利用率。设备管理的主要功能有:缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性。 1.I/O系统 I/O设备:按设备的使用特性分类:存储设备、输入/输出设备按传输速率分类:低俗设备、中速设备、高速设备按信息交换的单位分类:块设备、字符设备按设备的额贡献属性分类:独占设备、共享设备、虚拟设备设备与
2017-06-02 16:29:08
897
原创 在线编程(二)
1.给定一个无序数组,找出其中最小的k个数。 思路:建立一个k个数的最大堆,则这个堆的堆顶为最大的数,依旧与剩下的数比较,若小于堆顶,则互换并维护这个堆。得到的这个堆即为最小的k个数。#include #include using namespace std;//建立k个数的最大堆void heapinsert(vectorint> &arr,int value,int ind
2017-06-02 13:51:50
199
原创 动态内存与智能指针
智能指针与常规指针的区别在于它自动释放所指向的对象。 shared_ptr:允许多个指针指向同一个对象 unique_ptr:“独占”所指向的对象。 weak_ptr:伴随类,弱引用,指向shared_ptr所管理的对象。//定义,与vector类似,智能指针也是模板shared_ptrstring> p1;shared_ptrlistint>> p2;make_shared
2017-06-01 20:39:01
164
原创 在线编程(一)
1.转圈形式打印矩阵。 思想:一圈一圈的打印,左上角下标为为(tr,tc),右下角下标设为(dr,dc),打印最外圈后,左上角下标+1,右下角下标–, C++实现如下:#include <iostream>#include <vector>using namespace std;void printf(vector<vector<int>> matrix,int tr,int tc,int
2017-05-31 21:11:03
268
原创 操作系统第四章 存储器管理
1.存储器的层次管理 主存储器(简称内存、主存,也称可执行存储器):用来保存进程运行时的程序和数据。由于主存的访问速度远低于CPU执行指令的速度,为缓和这一矛盾,引入了寄存器和高速缓存。寄存器:访问速度最快。高速缓存:访问速度快于主存磁盘缓存2.程序的装入和链接 编译–链接–装入 单个目标模块的装入过程:绝对装入方式:事先知道程序将驻留在内存的位置,编译程序将产生绝对
2017-05-26 15:32:58
602
原创 总结(二)
1.c++如何调用c语言函数 由于C++和C的编译器生成函数的机制不一样,所以要使用extern “C”修饰符: 第一种方法extern "C"{ void A(); void B(); ……}如果加上C++预处理器的名字区分是编译C还是C++文件,则为#ifdef __cplusplus extern "C" { #endif void Delete
2017-05-25 17:19:27
204
原创 操作系统第三章 处理机调度与死锁
1.对于批量型来说,必须经过作业调度(又称高级调度或长程调度)、进程调度(又称低级调度或短程调度)才能获得处理机;对于终端型作业,通常只需要经过进程调度。有些系统还存在终级调度(又称中程调度)。高级调度:主要功能是根据某种算法将外存上处于后备队列中的作业调入内存。 概念:作业、作业步、作业控制块(JCB) 作业调度的任务:(1)决定接纳多少个作业(2)决定接纳哪些作业低级调度:用于决定
2017-05-24 13:49:55
527
原创 总结(一)
C++的三大基本特性是:封装、继承、多态。封装 隐藏对象的属性和实现细节,仅对外公开接口,使得代码模块化。继承 是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。其继承的过程,就是从一般到特殊的过程。多态 多态是通过虚函数来实现的。#include <iostream>using namespace std;class A{
2017-05-23 19:59:24
174
原创 操作系统第二章 进程管理
1.基本概念 ( 1)首先介绍下顺序执行和并发执行:顺序执行的特征:顺序性、封闭性、可重现性并发执行的特征:间断性、市区封闭性、不可再现性 并发执行的特征决定了通常的程序不能并发执行。为了使程序能并发执行,引入进程的概念对程序进行描述和控制。 程序段、数据段、进程控制块(PCB process control block)构成进程的实体。 进程的特征:动态性(基本特征)并发性(重
2017-05-22 16:55:47
402
1
原创 大话设计模式之策略模式
策略模式是定义一系列算法的方法,他们可以以相同的方式调用不同的算法,减少各种算法类与使用算法类之间的耦合。 例子:超市收银,考虑打折、满减、积分满送等//抽象算法类abstract class CashSuper(){ public: abstract double appectCash(double money);}//具体的算法://正常收费class
2017-05-16 19:57:43
189
原创 学习记录(2)拷贝控制
拷贝控制操作包括:拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数。 1.拷贝构造函数 class foo{ public: foo();//默认构造函数 foo( const foo&);//拷贝构造函数 //…… }; 拷贝初始化发生在以下情况: (1)用“=”定义变量 (2)将一个对象作为实参传递给一个非引用类型的形参。 (3)从一个返回类型为非引用
2017-05-09 21:06:43
188
原创 大话设计模式之简单工厂模式
大话设计模式之简单工厂模式。 要做到 可维护、可复用、扩展性、灵活性好。例子:实现一个计算器控制台的程序,输入两个数和操作符,得到结果。 1.做到代码的规范。(提醒自己,要考虑全面) 2.业务的封装。业务逻辑和界面逻辑分开,达到易维护/扩展的目的。 (面向对象的三大特性:封装、继承、多态) 3.紧耦合 松耦合UML的介绍: 1.矩形框表示类,第一层是类的名称,如果类为抽象类,则用斜体表示
2017-05-09 17:24:40
187
1
转载 结构和类的区别
摘录:1.结构是实值类型(Value Types),而类则是引用类型(Reference Types)。2,结构使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation)。3,所有结构成员默认都是Public,而类的变量和常量数则默认位Private,不过其他类成员默认都是Public。4,结构成员不能被声明位Protected,而
2016-11-18 16:26:19
834
原创 学习记录(1)-引用传递 值传递 地址传递
同样对于交换两个数的值1.引用传递:函数原型声明:void swap(int &a,int &b) 函数定义:swap(int &a,int &b){ int temp;
2016-11-18 15:48:51
270
原创 重载列车公里标数据的在线读取
1.先建立公里标与经纬度的映射关系。这个关系很重要,建立的时候注意公里标开始数据及中间为零的要去除。2.可考虑采集多组数据,利用平均减小GPS的随机误差。3.简单的实现是将对应关系读入内存,可考虑采用数据库的形式,便于其他较长铁路线的应用。4.程序中应用到了上一时刻得到的公里标数据,怎么消除累计误差,防止某一时刻数据出错导致全部出错。5.考虑问题要全面要全面!
2016-11-17 20:52:48
518
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人