自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白小羊的博客

温故而知新,偶有心得,当以文章浮一白

  • 博客(50)
  • 问答 (1)
  • 收藏
  • 关注

原创 matlab矩阵绘图

matlab将一个矩阵绘画成三维图像: mesh(m2(1:10000,1:10000)); 其中m2是一个矩阵,之后括号是要显示的矩阵的范围,有时候我们并不需要显示所有的矩阵。 图像保存: saveas(mesh(m1(1:10000,1:10000)),’m1.jpg’); 保存在当前工作目录 图像不显示设定: 有时候,我们不想显示生成的图像,希望直接保存: set(0,’De

2018-01-04 19:13:38 17995 3

原创 网易的一道笔试题

小易非常喜欢拥有以下性质的数列:1、数列的长度为n2、数列中的每个数都在1到k之间(包括1和k)3、对于位置相邻的两个数A和B(A在B前),都满足(A 例如,当n = 4, k = 7那么{1,7,7,2},它的长度是4,所有数字也在1到7范围内,并且满足第三条性质,所以小易是喜欢这个数列的但是小易不喜欢{4,4,4,2}这个数列。小易给出n和k,希望你能帮他求出有多少个是

2017-08-21 21:39:55 469

原创 校招笔试题-玩转南美馆

原题描述:世博会期间,小明计划玩遍所有南美国家馆,南美共有10个国家,按顺序编号分别为0-9. 小明的游玩方案是这样的: 若玩的人太多,就把馆分成两批,分的方式是在相邻的某两馆之间插一个牌子:任选其中一批先玩,另一批后玩; 若一批馆还是玩不玩,则继续分为两批,且一批中的馆全部玩完之后才能玩下一批馆; 每批馆玩的时候,只能从这批当中编号最小的馆开始,按照相邻的编号逐个玩,一天

2017-08-03 14:07:07 447

原创 求最大公约数-辗转相除法-更相减损术

辗转相除法两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。直至可以整除#include#includeusing namespace std;int test (int a,int b){    int temp;    if(a    {        temp=a;        a=b;

2017-07-31 20:55:09 584

原创 递归的一道简单题

题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。递归,有时会有效率问题,时间复杂度很大;有时解决问题效果很好,不得不用#includeusing namespace std;int test(int m,int n){    if(m        return 0;

2017-07-31 14:36:42 295

原创 一些输入输出函数

聊记于此,以防忘记,不断更新getline()的原型是istream& getline ( istream &is , string &str , char delim );其中 istream &is 表示一个输入流,譬如cin;string&str表示把从输入流读入的字符串存放在这个字符串中(可以自己随便命名,str什么的都可以);char delim表示遇到这个字符停止读入,在不

2017-07-31 11:54:26 271

原创 一道参数解析编程题,

题目不难,但我遇到了一些问题,调试了一会,故在此标记解析规则: 1.参数分隔符为空格 2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” “d:\”时,参数仍然是4个,第3个参数应该是字符串C:\program files,而不是C:\program,注意输出参数时,需要将“”去掉,引号不存在

2017-07-31 11:38:36 374

原创 strcpy注意点

原型声明:char *strcpy(char* str1, const char *str2);功能:把从str2地址开始且含有'\0'结束符的字符串复制到以str1开始的地址空间说明:str1和str2所指内存区域不可以重叠, 且str1必须有足够的空间来容纳src的字符串。返回指向str1的指针。strcpy( str1, str2);str1的长度不够,会怎么

2017-07-22 13:21:13 2305

原创 KMP算法

推荐这篇文章,图文并茂,讲解清晰,十分适合不了解者点击打开链接总结:目标串:a b c d a b f模式串:a b f模式匹配时,模式串首先比较目标串的0位。及之后两位,不成,直接切换到4位继续比较如:目标串:a b c d a b f模式串:            a b f这样是最省时间的,朴素暴力法,通过逐一比较实现这一过程(模式串每次整体后

2017-07-15 14:41:15 243

原创 回溯法

回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。  回溯法的基本行为是搜索,搜索过程使用剪枝函数来为了避免无效的搜索。剪枝函数包括两类:1. 使用约束函数,剪去不满足约束条件的路

2017-07-10 10:06:50 442

原创 二叉排序树

二叉排序树 (BST) :建立在二叉树基础上,性质如下若它的左子树不空,则左子树上所有结点的值均小于它的根结构的值若它的右子树不空,则右子树上所有结点的值均大于它的根结构的值它的左子树和右子树都是二叉排序树故左子树所有结点一定比父结点小,右子树所有结点一定比父结点大 查找,近乎析半查找,输出采用中序遍历,可获取从大到小序列插入:

2017-07-02 14:52:47 290

原创 二叉树

树的一些概念:(有些博客是错的,故此记一下)树中节点n的高:n到一片树叶最长路径的长,树高等于根高,叶子高为0;n的深度:从根到n的唯一路径的长,根深度为0,树深等于最深的叶子的深度深度等于树高(数值上),注意区分,二者不等同;二叉树性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。

2017-07-01 14:53:53 291

原创 树的先序、中序和后序遍历方式

对于一个二层树(深度为1)来讲先序遍历:树根在先,左,右叶子,从上到下,从左到右中序遍历:左叶子,根节点,右叶子,从下到上,从左到右后序遍历:左右叶子,根节点,从下到上,从左到右先后中是指根的位置遍历的叶子节点是子树的话要完成整个子树的遍历才算完成此节点取别人的图先序遍历:ABDECF中序遍历:DBEAFC

2017-07-01 14:52:39 682

原创 存储管理3-虚拟存储技术

覆盖技术(进程内部)通常与分区存储一起程序划分为功能上相对独立的块,共享一块内存区域,只把当前所需指令数据放入内存,其他的保存在外存缺点:手工分块,编程复杂度高,时间换空间;交换技术(进程之间)通常与分区存储一起进程(以进程为单位)由内存换至外存(换出),或者换入虚拟存储技术优化覆盖技术,系统自动完成,综合交换技术,进程的部分内容交换利用程序局部性原理:

2017-06-30 11:31:03 760

原创 存储管理2-页式与段式存储管理

页式存储管理计算机存储的层次结构:寄存器,高速缓存cache,主存储器DRAM,DDRAM,外部存储器分区是进程的连续存储;以下是分散存储原理:物理内存划分许多固定大小的块,称物理页面,页框,逻辑地址空间划分大小相同的块,称逻辑页面,页面;二者大小相同,两种块之间实现映射,物理页面可以不连续;管理:逻辑空间统一编址,分页,标记页号(0开始);内存空间统一编址,分页,标记页号

2017-06-25 20:55:37 953

原创 存储管理1-分区管理,伙伴系统

本文为笔记总结多道程序存储管理:分区程序管理:分为系统区,用户区(再分为若干分区)一 固定分区存储管理(分区大小个数确定不变);管理:内存分配表:记录分区号,起始地址,空间大小,状态及占用进程名特点:简单,开销小,内部碎片浪费,分区总数固定,缺乏内存保护;程序大小不超过分区大小二 可变分区管理从用户区动态创建,不预先分区;最后会形成占用区与空

2017-06-25 19:53:34 768

原创 银行家算法

银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。介绍:我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行

2017-06-25 11:16:49 552

原创 死锁

死锁

2017-06-25 11:15:26 531

原创 调度

调度的目的:1.   控制资源使用者数量;2.   选取资源使用者3.   许可资源占用4.   占用资源 多道程序调度类型:高级调度(长程调度或作业调度):控制多道程序数目,即谁可以进内存,分配资源,善后处理中级调度:(中程调或对换程序):实现挂起与解挂低级调度(短程调度或进程调度):实现就绪队列中谁获取CPU,完成保存现场,进程选取,恢复现场的工作进程调

2017-06-24 23:51:01 486

原创 进程通信概述

阅读笔记及总结低级进程通信(信息量小):信号量高级通信方式:(大量数据)分类:共享存储器,消息传递,管道通信1.共享存储器系统:进程之间共享某些数据结构或存储区域2.消息传递系统:以格式化的消息为单位,计算机网络中又称报文,采用系统提供的命令通信,隐藏了细节;又分为直接(直接发到目标的消息缓冲队列上),间接通信(也称信箱通信)3.共享文件通信(管道通信系统):pipe共享文件,

2017-06-24 00:02:12 311

原创 互斥,同步,信号量,管程概述

本文为阅读操作系统原理及网上博客的笔记及自己的总结,以备查阅回顾操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。互斥:多个进程不能同时使用同一个资源;竞争使用临界资源;导致死锁(两进程临界资源相互依赖却同时被占用),饥饿(有些进程永远执行不到)同步:一个进程的执行受其他进程的影响,需要其他进程的某些内容作

2017-06-23 21:12:37 708

原创 线程概述

线程:

2017-06-23 14:13:27 383

原创 作业概述

作业:早期批处理系统使用;一次任务处理中计算机系统所做的工作的集合,包括程序,数据,命令等;相对独立的执行步称为作业步。分类:批处理作业;交互式作业 作业状态:提交:最终建立作业控制块,注册完成,进入后备;’后备:等待进入内存;活动:调度程序选中,分配资源,以进程状态活动,可能执行,阻塞,就绪完成:正常结束或错误终止;控制块从现行作业队列除去(系统终止作业程序执行)

2017-06-23 14:12:10 477

原创 进程概述

进程:程序的顺序执行:顺序性,封闭性(独占全机资源),确定性,可再现性;并发执行:间断性,非封闭性,不可再现性(如对共享资源变量的使用)多道程序技术中,CPU来回切换程序,描述困难程序执行的每一个新状态称为进程;进程与程序的区别:1. 程序是静态的,是一种软件资源;进程动态的,为执行程序而生,是程序在某一数据集上的一次执行过程,具有生命周期;2. 进程是独立

2017-06-23 14:11:19 321

原创 基本概述,系统划分,中断简介

计算机组成:处理器(运算器和控制器),存储器,输入输出设备,系统总线软件系统:应用软件,支撑软件,系统软件操作系统基本功能:存储器管理,处理机管理,设备管理,文件管理,用户接口发展:手工操作----单道批处理(联机批处理-脱机批处理)----执行系统(引入通道,即I/O处理机)-----多道批处理系统(多道性,调度性,无序性,资源利用率高,系统吞吐量大,周转时间

2017-06-22 21:11:06 385

原创 C99新增的柔性数组

我总结了一下用指针和用变长结构体的区别:1.在位置方面:指针可以放在任何地方,但是变长结构体的变长部分一定要放在结构体的最后。2.在内存占用方面:指针会占一个指针的大小的内存空间,但是变长数组是不占内存的,它只是一个占位符。3.在内存布局方面:指针指向的内存和结构体的内存可以是不连续的,但是变长部分和结构体的内存必须是连续。4.在内存释放方面:使用指针,就要先释放指

2017-06-19 11:23:49 555

原创 笛卡尔积,自然连接,外连接

笛卡尔积:又称直积:我自己的理解:表示A ,B两集合各抽出一个元素,遵循A中元素在前,B中元素在后的,所有可能的集合A={a, c},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (c, 0), (c, 1), (c, 2)}自然连接:关系A,B各包含一定的属性;自然连接的结果:将属性求或操作保留,将公共

2017-06-19 10:36:03 9388

转载 volatile关键字

volatile关键字(1)用来同步,因为同一个东西可能在不同的存储介质中有多个副本,有些情况下会使得这些副本中的值不同,这是不允许的,所以干脆用volatile,让它只 有一个,没有其他的副本,这样就不会发生不同步的问题。(2)防止编译器优化去掉某些语句,像我在arm中见到个寄存器非常奇怪,当中断来的时候,相对应的位置1,而清0又不能向这位写0,向这位写1才是1才 是清中断(清0

2017-06-17 15:30:31 263

原创 C++--STL---set容器

Set 集合用来存储同一数据类型的数据类型;在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,即RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择

2017-06-16 23:09:07 329

原创 C++ STL--map容器

map容器介绍:提供一个键--值对容器,表示了一个一对一的关系(可以想象数组下标与该位置元素的对应关系),map(映射)与multimap(多重映射)差别在于multiple允许一个键对应多个值。 头文件:#include    定义: map   mymap; 一些基本操作:插入内容:  (1)   mymap ["a"]   =   1;   (2)

2017-06-16 22:43:27 409

原创 C++例题4--类的大小判定--sizeof

若char是一字节,int是4字节,指针类型是4字节,代码如下:class CTest{ public: CTest():m_chData(‘\0’),m_nData(0) { } virtual void mem_fun(){} private: char m_chData;

2017-06-16 16:39:30 1713

原创 位排序

编程珠玑上看到的,当时惊为天人,别笑话我读书少,哈哈主要解决非重复序列 非负 整数的排序问题但是我认为,可以解决含有重复元素的序列此时数组向量不但要记录有无(0,1),还应记录该元素具体出现的次数(例如3);输出排序时,出现次数多的重复输出即可;负整数也是可以的建立另一数组,以下标a,表示-a;

2017-06-16 09:46:28 625

原创 堆排序

待更新

2017-06-16 09:37:24 228

原创 归并排序

待更新

2017-06-16 09:36:37 232

原创 快速排序

排序效率O(N*logN)核心思想:分治法排序过程:1.当前待排序序列中取出一个数作为基准数。具体操作:可以把第一个元素设为基准数2.分区, 将比基准数大的数全放到它的右边,小于或等于它的数全放到它的左边。左右序列无需有序具体操作:先从右往左找一个小于基准数的数(因为基准数在左,查找应从右开始),再从左往右找一个大于基准数的数,然后交换他们。之后继续查找,每次右侧先行;

2017-06-16 09:26:58 427

原创 例题3-文件操作

之前用的不多,见到时有点懵,记录以备查阅fopen打开文件返回FILE*,如果该指针为NULL,表未打开文件比较简单,两个参数,第一个为文件,第二个为模式其中“r”只读;“w”写入;"a"追加写入“w+b”b区分二进制文件(windows下);linux不区分fseek头文件stdio.h重定位流上的文件指针

2017-06-15 14:46:59 511

原创 C++例题分析2,复制构造函数

示例1:#include using namespace std;class test1{public: test1(int a):value(a){} test1(test1 &c){value=c.value;} void show(){cout<<value<<endl;}private: int value;};

2017-06-15 14:41:10 642

原创 STL-顺序容器-列表list

list和双向链表结构相似,每个节点包含一个数据块,前向指针,和后向指针,存储在非连续的内存空间中很显然,查找操作时,只能顺序查找,不支持内部随机访问;不像数组,向量vectoer,队列可以用下标查找但是可以在任意序列位置插入和删除,这是vector和queue(deque)无法比拟的而且相比较于vector占用空间更多list和循环链表也有相似的地方,即:头节点的前驱元素指针域保

2017-06-15 10:36:05 341

原创 STL容器--顺序容器-队列queue和deque

queue单向队列,先进先出,也就是从尾部插入,头部取出操作:queueq;  创建一个int型空队列qq.empty();   判断队列是否为空,为空返回trueq.push(s);   将变量s从队尾入队q.pop();      将队头元素弹出,队列中不再有该元素q.front();   只返回队头元素,只是查看,队列中元素依然存在q.

2017-06-15 10:26:05 973

原创 C++中sort与qsort函数简介

C++中自带了一些排序函数,其中STL的sort();qsort()用的较多sort:复杂度为n*log2(n)头文件#include  原型:template class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last );

2017-06-14 22:26:27 359

空空如也

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

TA关注的人

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