自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 opencv,终于显示图片了

这是QT中的pro文件,配置的是opencv的链接库。#-------------------------------------------------## Project created by QtCreator 2015-12-31T10:01:41##-------------------------------------------------QT += cor

2015-12-31 11:30:10 1122

转载 QT5.3.1和opencv的配置问题

转载链接 , http://www.tuicool.com/articles/VZfue2 http://blog.csdn.net/u012234115/article/details/38612977经过很久的配置终于成功了,不需要cmake,可以直接用添加库文件和QT的方法,这样简直不能太方便了,只需要在pro中添加相应的文件即可。网上的教程都是教怎么用minGW

2015-12-31 10:27:35 954

转载 windows7+vs2010+opencv的配置

原文链接:http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html1、下载软件  下载OpenCV-2.4.0,双击解压到%opencv%(凡是出现%opencv%的地方均替换为你自己opencv的路径全名,如D:\program\opencv)。  下载VS2010,安装。 

2015-11-05 16:14:54 506

转载 二叉树前序、中序、后序遍历相互求法

转自:http://www.cr173.com/html/18891_1.html今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历:     1.访问根节点     2.前序遍历

2015-07-04 13:11:42 329

转载 C++:STL标准入门汇总

原文:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html第一部分:(参考百度百科) 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Mus

2015-07-02 15:44:20 270

原创 删除字符串中出现次数最少的字符

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。第一步是记录每个字母出现的次数,这里我们用的str[i]-'a'得到int数据,再通过count[]记录次数。具体代码如下:#include #include using namespace std;int main(){ int count[26]

2015-07-01 20:38:59 407

转载 背包问题

转自http://www.cnblogs.com/daoluanxiaozi/archive/2012/05/06/2486105.html背包问题:01背包:有n个物品,每个物品的重量为weight[i],每个物品的价值为value[i]。现在有一个背包,它所能容纳的重量为total,问:当你面对这么多有价值的物品时,你的背包所能带走的最大价值是多少?每个物品无非是装入背包或

2015-07-01 13:57:39 362

原创 将真分数化为埃及分数:

分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。接口说明 /* 功能: 将分数分解为埃及分数序列 输入参数:     String pcRealFraction:真分数(格式“8/11”) 返回值:     String pcEgpytFraction:分解

2015-06-30 17:17:39 892

原创 字符串排序

2168:字符串排序编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。      如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。    如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。    如,输入:By?e 输出:Be?y样例:    输

2015-06-30 13:33:25 613

原创 公共字符串个数

输入过程中getline会认为是一个字符串,所以利用string中的find()函数找到第一次出现空格,并用assign()进行复制计算,分成两个string。 string s,s1,s2; getline(cin,s); int len=s.length(); int k=s.find_first_of(' ',0); s1.assign(s,0,k);

2015-06-29 20:42:07 726

原创 树的遍历

(d1)先序遍历,(学会利用之前学的算法和理论),按照某种次序访问各节点,每个节点被访问恰好一次。先序(V,L,R),中序(L,V,R),后序(L,R,V),层次(自上而下,先左后右)。Ø  递归实现:template void traverse(BinNodePosi(T) x,VST &visit){ if(!x) return; visit(x->data);

2015-06-11 21:04:49 515

原创 树的表示

1、树tree结构是半线性结构,也是特殊的图。ri称为r的孩子child,ri之间互称为兄弟sibling,r为其父亲parent,d=degree(r)为r的度degree。任何树中所含边数=所有点的度数之和=n-1,一棵树的总体规模如果可以度量为边数+顶点数,那么规模也是和边数或者顶点数同阶,衡量相关复杂度时,可以n作为参照。V中的k+1个节点,通过E中的K条边依次相联

2015-06-11 20:52:09 907

原创 栈stack与队列queue

栈与队列1、栈(a)栈接口与实现栈结构stack:访问最末端的一个元素,通常将其旋转90度,开放的那端是顶部,另一端是底部。基本操作实例:注意的是c++中pop()返回类型是void而不是元素值,主要原因是安全问题(会出现异常)和效率问题(返回数值需要实例化)。实现:栈既然是序列的特例,故可直接基于向量或列表派生template class Stack:p

2015-06-10 19:21:49 640

原创 列表List

列表List是采用动态存储策略的典型结构,相邻节点彼此互称为前驱predecessor或后继successor。两个哨兵header,tailer1、无序列表(1)查找的实现find( ):在节点p的n个前驱中,找到等于e的最后者templatePosi(T)List::find(Tconst&e,intn,Posi(T)p)const{ while(0<n--)

2015-06-09 20:11:48 501

原创 有序向量Vector

逆序对是指相邻元素之间前者大于后者,即逆序对。templateint Vector::disorder() const{    int n=0;    for(int i=1;i        n+=(_elem[i-1]>_elem[i]);      return n;  当且仅当n=0的时候,为有序向量}(1)唯一化,uniquify( )

2015-06-09 19:48:05 3034

原创 无序向量Vector

向量vector1、AbstractData Type(ADT)抽象数据类型:数据模型上定义的一种操作。Data structure数据结构:基于某种特定语言,实现ADT的一整套算法。向量是数组的抽象和泛化,有一组元素按线性顺序封装而成。ADT操作接口: 2、vector模板类(1)基于复制的构造templatevoidVector::copyFrom(T* con

2015-06-09 19:06:26 1766

转载 Linux开机启动、网络、双屏显示

1、之前电脑是windows和Linux的双系统,后来重装过了windows系统,当初意味原来的Linux系统已经没了,但是发现硬盘的分区还在,上网搜了下,发现原来的Linux系统仍然存在,接下来就上网搜到东西和大家分享。(1)Linux的分区在哪里?点击桌面“计算机”上右击,选择“管理”,选择“磁盘管理”,找到对应的linux分区(蓝色区域)。(2)如何找回Linux启动

2015-06-09 14:00:46 4210

原创 算法的时间复杂度

在计算算法复杂度时一般只用到大O符号,Landau符号体系中的小o符号、Θ符号等等比较不常用。这f (n) = Ο(g (n)) 表示存在一个常数C,使得在当n趋于正无穷时总有 f (n) ≤ C * g(n)。   例如,O(2n^2+n +1) = O (3n^2+n+3) = O (7n^2 + n) = O ( n^2 ) ,一般都只用O(n^2)表示就可以了。注意到大O符号里隐藏

2015-06-08 10:26:15 2277

原创 IO系统

I/O三种常见的设备接口:字符设备(键盘、鼠标),块设备(磁盘、光驱),网络设备(无线、以太网)。(1)字符设备:以字节为单位顺序访问;get()put(),文件访问接口和语义;(2)块设备:以数据块为单位,均匀的大数据;I/O接口,文件接口,内存映射;(3)网络设备:格式化的报文,Send/receive网络报文,网络接口支持网络协议。 (1)阻塞I/O:“wait”,读

2015-06-05 21:25:22 782

原创 文件系统

文件系统:是操作系统中管理持久性数据的子系统,提供数据存数和访问功能:组织、检索、读写访问数据。文件:是具有符号名,有字节序列构成的数据项集合,是文件系统的基本单位,文件名是标识符。文件系统的功能:分配文件磁盘空间;管理文件集合;数据可靠和安全。文件属性:名称、类型、位置、大小……;文件头(文件系统元数据的信息)文件描述符是操作系统在打开文件的状态和信息。文件指针,文件打开计数,文

2015-06-05 16:56:09 475

原创 死锁和进程通信

死锁:由于竞争资源或者通信关系,两个或更多进程在执行中出现,永远相互等待只能由其他进程引发的事件。资源分类:(1)可重用资源Reusable Resource:资源不能被删除任何时刻只能有一个进程使用;进程释放之后,其他进程可重用;可能出现死锁(I/O等)。(2)消费资源 Consumable resource:资源创建和销毁,中断、信号等,可能出现死锁。出现死锁四个条件:(1

2015-06-05 10:40:09 706

原创 信号量与管程

基本同步方法信号量semaphore:操作系统提供的一种协调共享资源访问的方法:OS是管理者,地位高于进程;信号量表示系统资源的数目。是一种抽象的数据类型:一个整形变量sem和两个原子操作(p(),申请,sem减1,如sem信号量是被保护的整数变量,初始化只能有p(),v()完成,由操作系统完成保证pv原子性。P()可能阻塞,v()不会阻塞。信号量分类:二进制信号量、资源信

2015-06-04 21:19:03 2228

原创 同步互斥

独立进程:不和其他进程共享资源或状态;确定性、可重现;调度顺序不重要;并发进程(一个时间段有几个,某个时间点只有一个):在多个进程间资源共享;不确定、不重现:共享资源、提高速度、模块化新进程分配标识中的可能错误(给两个进程分配的pid相同),因为创建进程操作被切断原子操作Atomic Operation:一次不存在任何中断或失败的操作(不存在部分执行,要么操作完成,要么没有

2015-06-04 18:59:46 622

原创 处理机调度

处理机调度:从就绪队列中挑选下一个占用CPU运行的进程;从多个可用CPU中挑选就绪进程可使用的CPU资源。调度策略?调度时机?调度时机:进程从运行状态切换到等待状态;进程被终结了。          非抢占系统:当前进程主动放弃CPU时;          抢占系统:(运行到就绪)中断请求,当前进程被抢占。调度策略:挑选哪一个?调度算法?处理机资源使用模式:进程在CPU计算和I

2015-06-04 16:02:24 1157

原创 进程切换、创建、加载

进程切换(上下文切换):暂停当前运行状态,从运行状态变成其他状态;调度另一个进程从就绪状态变成运行状态。进程切换的要求:切换前,保存进程上下文;切换后,恢复进程上下文;快速切换。寄存器、CPU、内存地址空间。 进程创建:windows进程创建API,CreateProcess;Unix进程创建系统调用:fork/exec。Fork()把一个进程复制成二个进程(parent,ch

2015-06-03 21:30:41 579

原创 进程与线程

进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程,进程包含了正在运行的一个程序的所有状态的信息。(1)动态性:可以动态地创建、结束;(2)并发性:可以独立调度并占用处理机运行;(3)独立性:不同进程相互之间不影响;(4)制约性:因共享数据和资源二而相互制约。进程和程序之间的联系:(1)进程是处于执行态程序的抽象,程序=文件(静态);进程=执行中的程序

2015-06-03 19:30:28 543

原创 页面置换算法

页面置换算法的概念:    出现缺页异常,则需调入新页面二内存已满时,置换算法选择被置换的物理页面。尽可能减少页面的调如调出次数,把未来不再访问或短期内不访问的页面调出。页面锁定framelocking:常驻的逻辑页面,操作系统的关键部分,要求相应速度快的代码和数据,页表中的锁定标志位lock bit。 页面置换算法分类:局部页面置换算法:置换范围仅限于当前进程占用的物理页面;

2015-06-03 10:57:56 6037

原创 虚拟存储

虚拟存储的需求背景:内存空间不够用覆盖overlay:应用程序手动把需要的指令额数据保存在内存中;对换swapping:操作系统自动把暂时不能执行的程序保存到外存中;虚拟存储:在有限容量内存中,以页为单位自动装入更多更大的程序覆盖技术overlay:目的:是在较小的可用内存中运行较大的程序。实现方法:依据程序逻辑结构,将程序划分为若干功能相对独立的模块,将不

2015-06-02 22:01:05 1257

原创 物理内存非连续性分配

非连续分配:提高内存利用效率和管理灵活性允许一个程序的使用非连续的物理地址空间;允许共享代码和数据;支持动态加载和动态链接。 段式存储管理:段地址空间有多个段组成:主代码段、子模块代码段、公用库代码段、堆栈段stack、堆数据heap、初始化数据段、符号表等。更细粒度和灵活的分离和共享。段:访问方式和存储数据等属性想通透的一段地址空间;对应一个连续的内存“块”;若干

2015-06-02 21:45:55 1176

原创 物理内存连续内存分配

内存管理的要求:抽象:逻辑(虚拟)地址空间;保护:独立地址空间;共享:访问相同内存;虚拟化:更大的地址空间内存管理方式:重定位,relocation,段地址+偏移;分段,segmentation,代码,数据,堆栈分成三块,每段连续;分页,paging,内存分为最基本的单位,房子的砖块;虚拟存储:virtual memory,Linux采用按需页式虚拟存储;地

2015-06-02 15:34:06 2863

原创 中断、异常、系统调用

1、计算机体系结构概述:2、计算机启动流程BIOS启动固件:基本输入输出程序、系统设置信息、开机后自检程序、自启动程序等BIOS:以中断调用的方式提供基本的I/O功能,字符显示、磁盘扇区读写、检测内存大小、键盘输入3、中断、异常和系统调用在计算机运行中,内核是被信任的只有内核可以执行特权指令。                             

2015-06-02 13:08:26 920

原创 操作系统入门

1、操作系统:是一个控制程序,是一个资源管理器操作系统软件的组成:Shell命令行接口,键盘操作;GUI图形用户接口;Kernel操作系统的内部  2、操作系统特征:并发:同时存在多个运行的程序,需要OS管理和调度共享:宏观“同时”访问,微观互斥共享虚拟:利用多道程序设计技术,让每个用户都觉得有一个专门为他服务异步:程序是走走停停的;运行

2015-06-02 10:36:34 467

原创 数据结构绪论

预览:数据结构与算法的问题什么是计算?评判DSA优劣的参照(直尺)?度量DSA性能的尺度(刻度)?DSA性能度量的方法?DSA的设计和优化?X1:理论模型和实际性能的区别X2:DSA的极限(下界)1、大O记号:常系数可以忽略,低次项也可以忽略;几种记号的区别2、循环、级数:可以用算数的方法描述,也可以用图形的方法描述for(inti=0;ifor(int

2015-06-01 17:25:10 444

转载 通配符的字符串匹配算法

1. 简述    题目描述:    Str1中可能包含的字符:除了'*'和'?'以外的任意字符。    Str2中可能包含的字符:任意字符。其中,'?'表示匹配任意一个字符,'*'表示匹配任意字符0或者多次。    给出这样两个字符串,判断Str2是否是Str1的子串,如果是输出第一个匹配到的子串,如果不是,输出"不是子串"。2. 分析    对于'?'的处理,

2015-04-27 18:59:15 2157

空空如也

空空如也

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

TA关注的人

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