- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 Dynamic - matrix multiplication || 动态规划-矩阵连乘
输入:n个矩阵A1,A2,…,An,其中Ai的维数为pi-1×pi。输出:连乘积A1A2A3…Ai 和Ai+1是可乘的。
2025-01-05 17:36:05
124
原创 Dynamic programming-01knapsack ||01背包问题动态规划
给定一组物品,每个物品都有自己的重量和价值,以及一个固定的容量的背包。目标是找到一个最佳的组合,使得放入背包的物品的总重量不超过背包容量,且总价值最大。
2025-01-05 16:56:18
267
原创 Divide Conquer: round robin scheduling || 分治法-循环赛日程
设有n=2^k个运动员要进行网球循环赛。(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能参赛一次;(3)循环赛在n-1。
2025-01-05 12:14:29
171
原创 Travelling Salesman Problem - TSP -Backtracking || 旅行商问题回溯算法
某舟同学在去小欣同学那前想了一想,准备顺便拜访各高校的高中同学。他打算从本校出发,途径高中同学所在的一些高校,最终回到自己学校。小舟很懒,希望只走最短的路,同时不想在一个学校玩第二次,因为他们不是主要目标。怎么满足贪得无厌的小舟,制定一个旅行方案?
2025-01-04 22:35:11
185
原创 Backtracking:N-queue | N皇后问题
a[i]=j,i表示行,j表示列,其中第i行在第j列存放了,则第j列,主对角第j-i个元素、副对角i+j个元素都不能存放(b[j]、c[j - i]、d[i + j])问题:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。//判断目前j不在被标记过的列、正对角、副对角线上 若其为false则进入循环。//标记为false,不进入循环。// 列,正对角,副对角。// N为行,a[N]是列。//打印每一次的棋盘。//深搜,i从0开始。
2025-01-03 23:02:54
447
原创 复试面试专业课-java语言-c语言-操作系统
银行家算法:每次分配资源时,首先检查系统是否有足够的资源满足要求,如果有,则先试行分配,并检查安全性,如果安全,正式分配否则拒绝分配。线程是操作系统能够进行运算调度的最小单位,被包含在进程之中,一条线程指的是进程中一个单一顺序的控制流,每条线程执行不同的任务。解除死锁:当发生死锁时,常用撤销或者挂起一些进程,回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转变为就绪状态。检测死锁:允许系统在运行过程中发生死锁,但可通过死锁设置的检测机构,及时检测死锁的发生,例如银行家算法。
2024-03-16 23:50:19
466
原创 WPL求和 | 递归deep+1
【14统考】二叉树的带权路径长度WPL是二叉树中所有叶结点的带权路径之和。给定一棵二叉树T,采用二叉链表存储,结点结构为 left | weight | right 其中叶结点的weight域保存该结点的非负权值,设root为指向T的根节点的指针,请设计求T的WPL的算法。
2023-11-19 22:26:25
136
原创 二叉树 | 先序序列中第k个结点的值 递归
假设二叉树采用二叉链表存储结构存储,设计一个算法,求先序遍历序列中第k个结点的值,设k不大于二叉树节点个数且大于0.
2023-11-14 20:35:56
143
1
原创 二叉树的非递归遍历 | 中序、先序、后序(后序多判断+标记)
3、后序遍历(出栈前判断右子树是否为空,不为空且未被访问过则后序遍历右子树,若被访问过或为空则可出栈)2、先序遍历,一路向左,先访问根节点。1、中序遍历(一路向左)
2023-11-09 20:34:12
131
1
原创 11.8 | 查找倒数第K个位置的结点
已知一个带有表头结点的单链表,假设该链表只给出头指针list,在不改变链表的前提下,设计一个尽可能高效的算法,查找链表中的倒数第k个位置的上的结点。
2023-11-08 20:34:25
68
1
原创 11.8 | 单链表类似LRU算法(近期最少使用)
设头指针为L的带有表头结点的非循环双向链表,其每个结点中除有pred(前驱指针)、data(数据)和next (后继指针)域外,还有一个访问频度域 freq。每当在链表中进行一次Locate(L,x) 运算时,令元素值为X的结点中freq域的值增加1,并使此链表中结点保持按访问频度非增(递减)的顺序排列,同时,最近访问的结点拍在频度相同的结点前面,以便使频繁访问的结点总是靠近表头。使编写符合上述要求的Locate (L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型为指针型。
2023-11-08 20:24:26
64
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
73
原创 考研日记 | 数据结构基础代码练习
已知在一维数组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
166
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅