摘要:
调度算法是指:根据系统的资源分配策略所规定的资源分配算法。常见的进程调度算法有: 1.先来先去服务 2.时间片轮转法 3.多级反馈队列算法 4.最短进程优先 5.最短剩余时间优先 6.最高响应比优先 7.多级反馈队列调度算法 一、先来先去服务 先来先去服务调度算法是一种最简单的调度算法,也称为先进先 阅读全文
摘要:
设计模式(面向对象)有七大原则,分别是: 1.开放-封闭原则 2.单一职责原则 3.依赖倒转原则 4.迪米特法则(也称为最小知识原则) 5.接口隔离原则 6.合成/聚合复用原则 7.里氏代换原则 开放-封闭原则具有理想主义的色彩,他是面向对象设计的终极目标。其他几条则可以看做是开放-封闭原则的实现方 阅读全文
摘要:
UML(Unified Model Language)统一建模语言,是对象管理组织(OMG)制定的一个通用的、可视化的建模标准语言,可以用来可视化、描述、构造和文档化软件密集型系统的各种工作。在学习设计模式时,我们需要了解UML中实现依赖关联聚合组合的联系等。 参考:http://wenku.bai 阅读全文
摘要:
Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容)、find(在磁盘上查找文件)、grep(使用正则表达式搜索文本),其中查找文件的有locate(只能对文件进行模糊匹配)和find(在不指定查找目录的情况 阅读全文
摘要:
什么是makefile呢?在Linux下makefile我们可以把理解为工程的编译规则。一个工程中源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,那些文件需要先编译,那些文件需要后编译,那些文件需要重新编译,甚至于进行更复杂的功能操作,因为makef 阅读全文
摘要:
在生活中,进度条是很常见的,那么,进度条是如何实现的呢? 首先,进度条的动态是利用人眼视觉暂留效果的。实际上是如下过程: 先输出:[= ]表示进度是1%,刷新之后 再输出:[== ]......由于刷新的很快,所以看起来像是等号不断向后增加,直到进度完成。 在写这个程序之前我们需要了解一下的知识: 阅读全文
摘要:
选择排序有两种,一种是选择排序,一种是堆排序。 选择排序就是将最大的数和最小的数选出来放到边界,然后缩小范围再选出次大的和次小的放到边界然后再缩小范围直到数组中只剩下最后一个数,这时排序完成。 代码如下: void SelectSort(int *a, int size){ assert(a); i 阅读全文
摘要:
排序是一种很基本的算法,由于代码量不是很大,逻辑较清晰,因此排序算法在笔试中占有很重要的位置。排序算法有很多种大致分为插入排序,选择排序,交换排序,归并排序四种。插入排序分为直接插入排序和希尔排序。 直接插入排序的思想是:在要排序的一组数中,假设前面(n-1)(n>2)个数是有序的,现在要把第n个数 阅读全文
摘要:
1)给一个超过100G大小的log file,log中存着IP地址,设计算法找到出现次数最多的IP地址?(与如何知道top K的IP,如何使用Linux系统命令实现) Hash分桶法: 将100G文件分成1000份,将每个IP地址映射到相应文件中:file_id = hash(ip) % 1000 阅读全文