自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 调度算法小结

操作系统全部的调度算法主要包括:批处理作业调度算法、进程调度、空闲分区分配算法、虚拟页式存储管理中的页面置换算法、磁盘调度。 1、常见的批处理作业调度算法 (1)FCFS 先来先服务调度算法 (2)SPF 短作业优先调度算法 (3)HRF 最高响应比优先算法 (4)HPF 优先级调度算法 (5)均衡调度算法(多级队列调度算法) 2、进程调度 (1)FIFO 先来先服务调度算法(非...

2018-08-21 16:15:11 997

原创 进程通信方式

一、基本概念 1、进程通信:进程之间的信息交换。交换的信息包括两方面:控制信息、大批量数据。因此分为:高级通信(以高速率传输大量的数据)、低级通信(传输控制信息)。 2、高级通信方式分类:共享存储、消息传递、管道、套接字。 (1)共享存储 概念:顾名思义,进程间存在一块可以互相访问的共享空间,通过这段共享空间进行读、写操作实现进程之间的信息交换。 使用的互斥工具:P\V操作; 特别注...

2018-08-21 14:54:52 383

原创 进程与线程的区别

一、基本概念理解 进程:可执行程序在一个数据集合上的运行过程。 是进程实体的运行过程,是系统资源分配和调度的基本单位(具有动态、并发性、独立性、异步的特性,包括就绪、执行、阻塞3种基本状态,除此之外还额外加入新状态、终止状态、就绪/挂起、阻塞/挂起)。 引入目的:提高程序的并发性,提高系统的资源利用率和吞吐量。 线程:是比进程更小的可独立执行的基本单位(是独立调度和分派的基本单位)。 引...

2018-08-21 12:52:31 165

原创 网易2019实习生招聘编程题解答

问题一: 牛牛找工作 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。/*********************************************...

2018-08-13 19:01:09 160

原创 排序算法总结

排序算法关注的几个点 1、是否是问答排序算法? (1)稳定排序算法指:排序时,相同元素不进行交换,保持原有序列的相对位置。 优点: (1)减少不必要的交换; (2)当排序算法稳定时,排序结果可以为后续排序使用; 举例: 一个班学生已经按照学号大小排好序,此时要求按照数学成绩大小再进行排序,如果成绩相同,必须按照学号从小到大的顺序排列。 若采用稳定的排序算法对数学成绩进行排序,则成绩...

2018-08-06 15:47:39 154

原创 排序算法——冒泡排序算法的实现

1、时间复杂度 最优情况时间复杂度:o(n); 最差/平均时间复杂度:o(n^2); 2、算法特点 大量的比较,大量的不必要的交换操作,导致处理速度较慢; 3、算法步骤 (1)相邻两个元素进行比较,不满足正序(升序),交换两个元素,直到最后一对元素,此时序列尾元素对应着最大值; (2)除最后一个元素外,将其他元素重复上述步骤(1); (3)终止条件:重复上述次数达到n次时。 4、...

2018-08-06 15:15:14 429

原创 排序算法——直接插入排序算法的实现与改进

1、最优时间复杂度:o(n); 最差情况时间复杂度:o(n^2) ; 稳定排序算法; 2、算法核心: (1)准确找到插入位置; (2)将该位置之后的元素全部后移一位; 所以时间消耗在大量的数据移动上。 3、算法步骤: (1)将第一个元素看作一个有序序列,而将第2个元素到最后一个元素看作未排序序列; (2)从头到尾扫描未排序序列,将扫描到每个元素插入到合适的位置,直至排序结束。 ...

2018-08-06 14:38:40 1507

原创 排序算法——选择排序算法实现

1、时间复杂度:o(n^2) 2、选择排序主要操作是交换和比较; 交换次数在0~(n-1); 总比较次数:N=(n-1)+(n-2)+(n-3)+…..+1=n(n-1)/2; 因为交换需要的CPU时间>比较需要的CPU时间; 当n比较少时,选择比冒泡快,减少了不必要的交换,每次交换仅仅是最大值或者最小值与序列起始位置进行狡猾。 3、算法步骤: (1)在待排序序列中找到最大/最...

2018-08-06 13:53:09 254

转载 排序算法——常考知识点

一、 单项选择题(共71题) 1、对n个元素的序列进行冒泡排序时,最少的比较次数是( )。 A. n B. n-1 C. n/2 D. log2n 答案:B 2、若一个元素序列基本有序,则选用( )方法较快。 A. 直接插入排序 B. 简单选择排序 C. 堆排序 D. 快速排序 答案:A 3、在对n个元素进行冒泡排序的过程中,第一趟排序至多需要进行( )对相邻元素之间的交换。 A....

2018-08-06 13:42:32 6414

原创 排序算法——归并排序算法的实现

1、时间复杂度: 最优情况:o(n); 最坏情况:o(nlogn) 将待排序的序列分成若干子序列,并且每个子序列是有序的,再将每个子序列两两进行排序,合并,最终整体有序。 2、算法步骤: (1)先将序列拆分成两个子序列; (2)将两个子序列之间进行排序,合成一个; (3)重复(1)(2)过程,进行递归,直至每个序列个数为1时,终止递归。 3、改进思想 (1)对于小数组(长度小于一...

2018-08-05 18:21:26 281

原创 排序算法——桶排序算法

以牺牲空间复杂度换取时间复杂度的排序方式,不是比较排序类。 1、假设有n个元素,m个桶; 时间复杂度为 o(n+m*n/m*log(n/m))=o(n+nlogn-nlogm) 空间复杂度:o(n+m); 当m越大的时,趋近于n时,时间复杂度达到最优为:o(n);此时空间复杂度达到最大; 2、算法思想(假设每个桶的容量是相同的) (1)设置桶的容量大小为n/m; (2)每个桶是有序的...

2018-08-05 17:41:24 302

转载 排序算法——计算排序算法的实现

1、时间复杂度:o(n); 空间复杂度:o(n+k); 牺牲空间复杂度换取时间复杂度的降低; 2、算法思想: 计数排序局限性比较大,算法思想:假定输入是有一个小范围内的整数构成的(比如年龄等),利用额外的数组去记录元素应该排列的位置,思想比较简单。 计数排序是典型的不是基于比较的排序算法,基于比较的排序算法最少也要O(nlogn),有没有可能创造线性时间的排序算法呢?那...

2018-08-05 16:54:39 1188

原创 排序算法——堆排序算法的实现

堆排序的关键在于顶堆的构建和调整,顶堆是一种特殊的完全二叉树; 大顶堆:根结点的值大于等于所有孩子结点; 小顶堆:根结点的值最小; 1、时间复杂度:o(nlogn) 2、算法思想:(以大顶堆为例) (1)将给定的数组构建成一个大顶堆; (2)将首尾元素交换,将堆顶元素放在数组的最后位置; (3)长度减1,将剩下的元素构建堆; (4)终止条件:堆的尺寸缩减为1时停止。 3、堆排序实...

2018-08-05 16:27:01 284

原创 排序算法——希尔排序算法的实现与改进

希尔排序是直接插入排序算法的改进版 1、时间复杂度 最好情况:o(nlogn) 最坏情况:o(n^2) 2、算法思想: (1)待排序序列分成多个子序列; (2)每个子序列进行直接插入排序; 具体步骤: a) 选择一个递减步长序列:s1>s2>s3…….>sk,sk=1; b) 按照步长k,对序列进行k次排序; c) 每次排序,根据步长,将整体序...

2018-08-05 14:35:04 936

原创 排序算法——快速排序算法实现及改进策略

1、 时间复杂度: 最好情况:o(n); 平均情况:o(nlogn) 最坏情况:o(n^2) 2、算法步骤: (1)从数列中选取一个元素作为基准值; (2)小于基准值的往前面排;大于基准值的往后面排; (3)递归对步骤二的两个子数列再次进行排序; (4)终止条件:子数列的长度是1时结束。 3、优化策略(主要从基准值的选择、减...

2018-08-05 13:20:54 3779

空空如也

空空如也

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

TA关注的人

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