alibaba——研发/算法笔试题2

简介: <p style="text-align:justify"><span style="font-size:14px"><strong>3、进程阻塞的原因不包括(A)</strong></span></p> <p style="text-align:justify"><span style="font-size:14px">A、时间片切换</span></p> <p style="tex

3、进程阻塞的原因不包括(A)

A、时间片切换

B、等待I/O

C、进程sleep

D、等待解锁

答:linux基础知识。

解析:只要理解进程的概念就OK。A

知识补充

进程是一个可并发执行的程序,在一个数据集合上的一次运行过程。它是系统进行资源分配和调度的一个独立单位。

进程的特征:动态性、并发性、独立性、异步性,系统为每一个进程设立一个进程控制块——PCB。

进程与程序的区别:1)、程序是进程的静态文本,进程是执行程序的动态过程;2)、一个进程可以执行一个或多个程序,几个进程可以同时执行一个程序;3)、程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;4)、进程是系统分配调度的独立单位,能与其他进程并发执行。

进程状态及其演变:进程执行的间断性,决定了进程可能具有多种状态。事实上,运行的进程可能具有就绪状态、执行状态、阻塞状态三种基本状态。

进程的三种基本状态演变图如下图所示:


当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态,一旦获得CPU,便立即执行。已获得CPU的进程进入执行状态。正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处理机而进入阻塞状态。由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另一个就绪进程;因此,阻塞进程的事件消失后,进程不会立即恢复到执行状态,而转变为就绪状态,重新等待处理机。

在实际系统中,进程还有其它几个状态。有的系统有时希望能人为地把进程挂起,使之处于静止状态,以便研究其执行情况或对它进行修改。下图示出了具有挂起状态的进程状态演变图。


进程控制块PCB:(Process Control Block)这是为使多个程序能并发执行而为每个程序所配置的一个数据结构,其中存放了用于描述该进程情况和控制进程运行所需的全部信息。


4、设只含根结点的二叉树高度为1,现有一颗高度为h(h>1)的二叉树上只有出度为0和出度为2的结点,则此二叉树中所包含的结点数至少为(B)个。

A、2^h-1

B、2h-1

C、2h

D、2h+1

答:数据结构基础知识。

解析:如果每个节点出度要么为0要么为2,那么也就是要么自己为叶子,要么自己拥有左右儿子。那么什么情况下节点最少呢?直接沿着一条路下去保持出度为2,直到高度达到h,那么此时节点总数:2h-1。故选B。

知识补充

二叉树是每个节点最多有两个子树的有序树。深度是对于二叉树整体来说的,二叉树的深度就是距离根节点最大的层数。结点指二叉树中一个个的点。

指父结点下面有几个孩子结点。度分为入度出度,一般都是对于单个结点来说的;入度 (in-degree) :以某顶点为弧头,终止于该顶点的弧的数目称为该顶点的入度。出度 (out-degree) :以某顶点为弧尾,起始于该顶点的弧的数目称为该顶点的出度。

前序:根结点第一个访问,然后访问左、右孩子;后序:根结点最后访问,开始先访问左、右孩子;中序:根结点第二个访问,最先访问左孩子,最后访问右孩子。

举例说明:如下图所示


图中的0、1、2、3、4、5、6就是结点;针对结点1,他下面有两个孩子3、4,所以说结点1的度为2;针对结点4,他下面一个孩子都没有,所以说结点4的度为0;前序序列:0134256,后序序列:3415620,中序序列:3140526。

下面给出数据结构中的入度和出度算法(C语言)

Status Get_Degree(ALGraph &G)//计算入度和出度
{ 
	int i;
	ArcNode *t;
	for(i=0; i<G.vexnum;i++)
	{
  		G.vertices[i].InDegree=0;
  		_______(G.vertices[i].OutDegree=0)_______;
 	}
 	for(i=0; _______(i<G.vexnum)_______;i++)
	{
  		t=G.vertices[i].firstarc;
  		if (t!=NULL)
		{
   			G.vertices[i].OutDegree++;
   			G.vertices[t->adjvex].InDegree++;
   			while (t->nextarc!= _______(NULL)_______) 
			{
    				t= t->nextarc;
    				G.vertices[i].OutDegree++;
    				G.vertices[t->adjvex].InDegree++;
   			}
  		}
 	}
 	return OK;
}//Get_Degree





目录
相关文章
|
达摩院 算法 决策智能
阿里达摩院研发了一款运筹优化算法开发平台
使用数学规划技术时,需要运用运筹学的知识分析问题、数学建模和开发程序来计算。平台式的开发环境,可以集成多款优化求解算法和数据处理软件,易于使用,能提高开发的效率,帮助快速将优化技术应用于业务。
阿里达摩院研发了一款运筹优化算法开发平台
|
4月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】金山办公2020校招大数据和机器学习算法笔试题
金山办公2020校招大数据和机器学习算法笔试题的解析,涵盖了编程、数据结构、正则表达式、机器学习等多个领域的题目和答案。
106 10
|
5月前
|
机器学习/深度学习 人工智能 算法
「AI工程师」算法研发与优化-工作指导
**工作指导书摘要:** 设计与优化算法,提升性能效率;负责模型训练及测试,确保准确稳定;跟踪业界最新技术并应用;提供内部技术支持,解决使用问题。要求扎实的数学和机器学习基础,熟悉深度学习框架,具备良好编程及数据分析能力,注重团队协作。遵循代码、文档和测试规范,持续学习创新,优化算法以支持业务发展。
248 0
「AI工程师」算法研发与优化-工作指导
|
6月前
|
机器学习/深度学习 搜索推荐 算法
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
|
4月前
|
机器学习/深度学习 存储 人工智能
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
本文是关于2022-2023年知能科技公司机器学习算法工程师岗位的秋招笔试题,包括简答题和编程题,简答题涉及神经网络防止过拟合的方法、ReLU激活函数的使用原因以及条件概率计算,编程题包括路径行走时间计算和两车相向而行相遇时间问题。
79 2
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
|
4月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
2020年奇安信秋招算法方向试卷1的题目解析,覆盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、主题模型、采样方法、图像处理等多个领域的知识点。
53 1
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
|
4月前
|
机器学习/深度学习 存储 算法
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
2020年奇安信秋招算法方向试卷3的题目解析,涵盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、PCA、词嵌入库等多个领域的知识点。
64 1
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
|
4月前
|
机器学习/深度学习 人工智能 算法
【数据挖掘】2022年2023届秋招奇虎360机器学习算法工程师 笔试题
本文提供了奇虎360公司2022年秋招机器学习算法工程师岗位的笔试题内容,包括选择题和编程题,涉及概率统计、数据结构、机器学习、计算机组成原理等多个领域。
100 5
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】2022年2023届秋招宏瓴科技公司机器学习算法工程师 笔试题
关于宏瓴科技有限公司2022-2023年秋招机器学习算法工程师岗位的笔试题目及作者个人对部分题目的解答尝试,涉及贝叶斯误差和贝叶斯最优分类器的概念、贝叶斯误差的重要性和估算方法,以及如何有效利用训练集和测试集进行深度学习模型训练的数据集划分策略。
61 4
|
4月前
|
算法 数据挖掘 索引
【数据挖掘】2022年2023届秋招Kanaries雾角科技算法岗 笔试题
本文介绍了2022年Kanaries雾角科技算法岗位的笔试题目,涵盖了LeetCode和牛客网的题目,包括字符串处理、几何问题、矩阵操作、数组搜索、二叉树遍历、幂运算及概率计算等多种算法题目,并提供了部分题目的Python代码实现。
60 1