前言
2019华为春招实习机试题,ac两道,最后一道80%,找不出原因,本地完全没问题。
Big big pig
二叉树的各种操作,前中后序的递归与非递归实现,二叉树的构建(序列化和反序列化),二叉树的最大高度与最小高度,打印出从根节点到叶子的节点的所有路径,打印出根节点到特定节点的路径,反转二叉树,判断两个二叉树是否相等等等操作。
连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是端,则称为分段存储管理方式。
在多道程序环境下,内存中存在着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地将处理机分配给处于就绪状态的一个进程、使之执行。分配处理机的任务是由处理机调度程序完成的。对于大型系统运行时的性能,如系统吞吐量、资源利用率、作业周转时间或响应的及时性等,在很大程度上都取决于处理机调度性能的好坏。因而,处理机调度便成为OS中至关重要的部分。
死锁:指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都讲无法向前推进。
如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的(Deadlock)。
异常处理(exception handling)机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理。异常使得我们能够将问题的检测与解决过程分离开来。程序的一部分负责检测问题的出现,然后解决该问题的任务传递给程序的另一部分。检测环节无须知道问题处理模块的所有细节,反之亦然。