自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 八大经典排序算法

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;1.插入排序—直...

2018-04-20 18:31:56 166

转载 《c++primer》 第12章 动态内存

概述1.静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。分配在静态内存或栈内存中的对象由编译器自动创建和销毁。对于栈对象,仅在其定义的程序块运行时才存在;static对象在使用之前分配,在程序结束时销毁。除了静态内存和栈内存,每个程序还拥有一个内存池。叫自由空间或者堆。程序用堆来存储动态分配的对象。动态对象的...

2018-04-17 20:06:49 166

转载 操作系统清华大学版笔记(十) 信号量、管程、条件互斥、经典同步问题(读者写者、哲学家问题)

10-1 信号量 Semaphore一个整型int(sem),可进行两个原子操作P() sem–,如果sem<0,等待,否则继续,类似lock_acquire V() sem++,如果sem<=0,说明当前有等着的,唤醒挂在信号量上的进程,可以是一个,可以是多个Dijkstra在20实际60年代提出,P,V都是荷兰语,在早期操作系统中,P,V是主要的同步原语。类似信号灯特征 信号量是整...

2018-04-10 09:40:19 535

转载 操作系统(八)CPU调度 短剩余时间 吞吐量 轮循 实时调度 多处理器调度 (清华 向勇 陈渝版)

8-1 算法背景 上下文切换:切换CPU的当前任务,从一个进程/线程到另一个,保存当前在PCB/TCB中的执行上下文,读取下一个的上下文 CPU调度:从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个线程/进程 调度程序:挑选进程/线程的内核函数(通过一切调度策略)使得效率最高,满足用户需求在进程/线程的生命周期中的什么时候进行调度? 从一个状态变为另一个状态,特别是和运行(running)...

2018-04-09 12:04:55 512

转载 操作系统清华向勇陈渝版笔记(七) 进程与线程 PCB TCB 进程挂起 用户线程 内核线程 轻量级进程 僵尸队列

7-1 进程定义 OS系统从只能跑一个程序到能跑多个。进程可以描述程序的执行过程。 进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。 只有当一个程序被OS加载到内存中,cpu对其执行时,这个过程是动态的,称为进程。7-2 进程的组成包含了正在运行的一个程序的所有状态信息  程序的代码  程序处理的数据  要知道现在执行哪条指令,程序计数器中的值指示将运行的指令。  CP...

2018-04-09 11:00:28 1058 1

转载 操作系统笔记(六)页面置换算法 FIFO法 LRU最近最久未使用法 CLOCK法 二次机会法

内容不多,就不做index了。功能:当缺页中断发生时,需要调入新的页面而内存已满时,需要选择哪个物理页面被置换? 目标:尽可能减少缺页中断(页面的换入换出)次数。在局部性原理下根据过去的数据统计预测。 页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分,或时间关键的应用进程(time-critical)。需要在页表中添加锁定标志位(lock bit)比较不同的页面置换...

2018-04-08 12:11:30 1473

转载 操作系统笔记(五)覆盖和交换,虚拟内存

5-1 虚拟内存:起因内存越来越不够用,理想中的存储器是更大,更快,更便宜的非易失存储器。 为了有效管理物理内存,采用了分段,分页,也许在这个基础上可以达到更大更快的理想情况,但数据随着掉电会丢失,硬件还达不到。仍然希望将不经常访问的数据放在硬盘中,对硬件和OS要求很高。对系统内存不够用采取的措施: (1) 早期,微软的DOS,内存仅640K,程序大—–手动覆盖(overlay),把需要的指令和数...

2018-04-08 11:50:17 539

转载 操作系统 笔记(三)计算机体系结构,地址空间、连续内存分配(四)非连续内存分配:分段,分页

3-1 计算机体系结构&内存分层体系计算机体系结构/内存分层体系 基本硬件结构: CPU(程序执行处),内存(放置了代码和处理的数据),设备(I/O)内存的层次结构: CPU的数据放的位置,寄存器和CACHE都在CPU内部,速度快容量小,主存(物理内存)放操作系统本身和应用,通过交换/分页和磁盘交互,将永久保存的数据放到磁盘中(虚拟内存),慢而容量大,5ms寻道时间。操作系统对内存分配做了...

2018-04-08 10:55:11 639

转载 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用

2-1 操作系统的启动启动:机器三部分       &CPU总线———|———|————|—————   |     |   I/O    内存Disk而不是内存存放OS,BIOS(基本I/O操作系统)提供支持,检测外设。硬盘上有个小程序Bootloader用于加载os。 内存中有一部分是BIOS占满,第一步从特定地址开始执行 CS:IP=0xf000:...

2018-04-08 10:04:54 700

转载 操作系统 清华大学 向勇 (一)绪论

index: 1-2 什么是操作系统 1-3 为什么学习OS 1-4 怎么学习操作系统 1-5 操作系统实例 1-6操作系统历史 1-7操作系统的结构1-2 什么是操作系统1.没有清晰的定义,主要实现2个功能:○1管理,支持应用软件,○2调用分配资源2.层次在硬件之上,应用程序之下。3. a. Shell linux,windows, b. android的界面 如gui4. c. Kernel ...

2018-04-04 16:14:03 1386

转载 隐式转换和显式转换

普通类型的转换顺序:隐式把char——>int和从short——>double。转换可能会导致数据的丢失。自定义类型:有两种函数可以进行隐式转换,单参数构造函数 和 隐式类型转换符。自定义类型可以用函数前+ explicit 关键字,防止转换。单个参数的构造函数,或可传单个参数的类构造函数Example 1:class things{    public:        things(...

2018-03-30 11:04:45 273

转载 《c++priner》第11章 关联容器

关联容器支持高效的查找和访问,它和其他容器类型不同,是通过键值来访问元素的,两个主要的关联容器是map和set,map中的元素是一些关键字-值对:关键字起到索引的作用,值则表示与索引相关联的数据。set中每一个元素只包含一个关键字;set支持高效的关键字查询操作——检查一个给定的关键字是否在set中。按关键字有序保存元素 map 关联数组:保存关键字-值对...

2018-03-29 16:19:55 267

转载 《c++primer》第10章 泛型算法

10.1概述1.概述:大多数算法都定义在头文件#include<algorithm,标准库还在#include<numeric>定义了一组数值泛型算法。2.泛型算法本身不会执行容器操作,它们只会运行在迭代器之上,执行迭代器的操作.3.结论:算法永远不会改变底层容器的大小,算法可能改变容器中保存的元素的值或者移动元素,但永远不会直接添加或者删除元素.4.除了少数以外,标准库算法都对...

2018-03-29 11:53:30 138

转载 《c++primer》 第9章 顺序容器

9.1概览1.forword_list和array是c++11增加的类型。array大小固定不能增加删除元素以及改变容器的大小,但是支持拷贝和对象赋值操作。2.多使用标准容器库。除非有更好的选择,否则用vector。3.迭代器的范围一般是左闭右开。4.容器可以进行列表初始化。(c++11)#include <iterator> //迭代器,包含c++11的begin()和end(...

2018-03-28 17:04:10 312

原创 《c++primer》 第8章 IO类

8.1IO类1.IO操作的函数通常是引用方式传递和返回流。读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的。2.缓冲刷新的原因:    (1)程序正常结束,作为main函数return的一部分,缓冲刷新被执行。    (2)缓冲区满。    (3)操纵符显示刷新。    (4)一个输出流可能关联到另一个流。3.操纵符刷新缓冲区cout << "hi" <&lt...

2018-03-28 11:44:07 119

原创 《c++primer》 第7章 类

7.1定义抽象数据类型    1.类的基本思想是数据抽象和封装。封装实现了类的接口和实现的分离。    2.定义在类内部的函数是隐式的inline函数。    3.const成员函数,也叫常量成员函数。const的作用是修改隐式this指针类型。string isbn() const {return this->book;}    默认情况下,this的类型是指向类类型非常量版本的常量指针。...

2018-03-27 17:47:12 171 1

原创 《c++primer》第6章 函数

6.1函数基础    1.局部静态对象:在程序第一次经过对象定义语句时初始化,并直到程序终止才销毁。用static关键字。    2.使用引用形参返回额外信息。在函数体内改变引用形参的值即可。    3.当形参有顶层const时,传给它常量对象或者非常量对象都是可以的。    4.尽量使用常量引用。不能把const对象,字面值常量传给普通的引用形参。    5.返回数组指针int(*func(in...

2018-03-27 15:41:53 135

原创 《c++primer》第4章 表达式

4.1

2018-03-27 10:04:55 146

原创 《c++primer》第3章 字符串向量和数组

3.2string    1.读取string,对象会自动忽略开头的空白(空格符,换行符,制表符等),从第一个字符读起,知道遇见下一个空白。    2.getline读取了换行符但是抛弃了。3.3vector    1.vector的操作 empty(); size() ; push_back;    2.迭代器类型 iterator 和 const_iterator。后者不能修改所指元素值。  ...

2018-03-27 10:02:04 174

原创 《c++ primer》 第2章 变量和基本类型

2.1基本内置类型    1.算数类型分为两类:整型(包括字符和布尔类型)和浮点型。    2.不同类型有不同的尺寸:       bool           8位       char           16        short          16        int             16        long          32        longlong  ...

2018-03-26 11:23:10 183

空空如也

空空如也

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

TA关注的人

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