- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 复试面试专业课-java语言-c语言-操作系统
银行家算法:每次分配资源时,首先检查系统是否有足够的资源满足要求,如果有,则先试行分配,并检查安全性,如果安全,正式分配否则拒绝分配。线程是操作系统能够进行运算调度的最小单位,被包含在进程之中,一条线程指的是进程中一个单一顺序的控制流,每条线程执行不同的任务。解除死锁:当发生死锁时,常用撤销或者挂起一些进程,回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转变为就绪状态。检测死锁:允许系统在运行过程中发生死锁,但可通过死锁设置的检测机构,及时检测死锁的发生,例如银行家算法。
2024-03-16 23:50:19
374
原创 WPL求和 | 递归deep+1
【14统考】二叉树的带权路径长度WPL是二叉树中所有叶结点的带权路径之和。给定一棵二叉树T,采用二叉链表存储,结点结构为 left | weight | right 其中叶结点的weight域保存该结点的非负权值,设root为指向T的根节点的指针,请设计求T的WPL的算法。
2023-11-19 22:26:25
40
原创 二叉树 | 先序序列中第k个结点的值 递归
假设二叉树采用二叉链表存储结构存储,设计一个算法,求先序遍历序列中第k个结点的值,设k不大于二叉树节点个数且大于0.
2023-11-14 20:35:56
55
1
原创 二叉树的非递归遍历 | 中序、先序、后序(后序多判断+标记)
3、后序遍历(出栈前判断右子树是否为空,不为空且未被访问过则后序遍历右子树,若被访问过或为空则可出栈)2、先序遍历,一路向左,先访问根节点。1、中序遍历(一路向左)
2023-11-09 20:34:12
80
1
原创 11.8 | 查找倒数第K个位置的结点
已知一个带有表头结点的单链表,假设该链表只给出头指针list,在不改变链表的前提下,设计一个尽可能高效的算法,查找链表中的倒数第k个位置的上的结点。
2023-11-08 20:34:25
34
1
原创 11.8 | 单链表类似LRU算法(近期最少使用)
设头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和next (后继指针)域外,还有一个访问频度域 freq。每当在链表中进行一次Locate(L,x) 运算时,令元素值为X的结点中freq域的值增加1,并使此链表中结点保持按访问频度非增(递减)的顺序排列,同时,最近访问的结点拍在频度相同的结点前面,以便使频繁访问的结点总是靠近表头。使编写符合上述要求的Locate (L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型为指针型。
2023-11-08 20:24:26
32
1
原创 11.7 | 拆分单链表(不是单纯赋值&&表A尾插表B头插)
设C={a1,b1,a2,b2,…an,bn}为线性表,采用带头结点的hc单链表存放,设计一个就地算法,将其拆分为两个线性表,使得A={a1,a2,…,an},B={bn,…
2023-11-07 20:19:14
30
原创 考研日记 | 数据结构基础代码练习
已知在一维数组A[m+n]中依次存放两个线性表{a1,a2,a3,…,am}和{b1,b2,b3…试编写一个函数,将数组中两个顺序表中的位置互换,即将{b1,b2,b3…bn}放在{a1,a2,a3,…1、在带头结点的单链表L中删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一。2、将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。3、设计一个算法,将顺序表L的所有元素逆置要求空间复杂度为O(1)从有序顺序表中删除所有值重复的元素,使表中所有元素的值均不同。6、头插法建立单链表。
2023-11-04 20:12:36
62
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人