摘要: 先前GRUB已经把我们的操作系统加载到内存了; 此处二级引导器的作用:先驱,收集机器信息,看计算机能否运行我们的操作系统,对CPU、内存、显卡等进行配置,放置好内核相关文件;不执行具体的加载任务; 中心思想(把处理操作系统运行环境的工作独立出来,交给二级引导器来做,这回大大减低后面开发操作系统的难度 阅读全文
posted @ 2023-04-19 21:21 QianFa01 阅读(72) 评论(0) 推荐(0)
摘要: 在本地主机windows下,使用Oracle VM virtual box,首先创建一个HelloOS虚拟机;先不添加硬盘; 接着在另一个虚拟机上Ubuntu上进行操作; 1、让GRUB只加载一个文件; 需要将多个文件封装成一个文件,成为内核映像文件;包含二级引导器的模块、内核模块、图片、字库文件; 阅读全文
posted @ 2023-04-18 21:51 QianFa01 阅读(92) 评论(0) 推荐(0)
摘要: memset函数: 这个函数是按一个字节一个字节填充的,第三参数最好写成sizeof(变量名),不易出错;可以填充为 0 和 -1、0x3F;和自己想要的结果一样;1的话与预期效果就不一样; 比如0,就是每个字节都是 0000 0000; -1 就是 1111 1111; 0x3f 就是 0011 阅读全文
posted @ 2023-04-17 14:55 QianFa01 阅读(225) 评论(0) 推荐(0)
摘要: 这个问题源自于之前调试AVL树时,要输入两次值,我在第一次cin时,用CTRL+Z结束输入,之后的cin 程序执行直接就跳过了,不能输入了;;; 解决方法: 在第一次输入后的程序加上以下两句时就可以了; cin.clear(); //cin.sync(); 分析:CTRL + Z后;eof、fail 阅读全文
posted @ 2023-04-15 20:14 QianFa01 阅读(56) 评论(0) 推荐(0)
摘要: AVL树:强平衡二叉搜索树, 约定其 左右子节点高度差 <= 1; 图片、代码参考:Deletion in an AVL Tree - GeeksforGeeks 为保证这种平衡性;每次插入删除操作,都需要维护这条路径上节点的平衡性;因此不适合频繁插入删除,时间复杂度趋近O(log h);这也是红黑 阅读全文
posted @ 2023-04-15 18:16 QianFa01 阅读(70) 评论(0) 推荐(0)
摘要: Huffman编码树 秒懂:【算法】Huffman编码_哔哩哔哩_bilibili 约定:字符x的编码长度 就是其对应叶节点的深度; 在一个字符集中,每个字符出现的次数有多有少,那么若都采用固定长度编码的话,那么编码长度会非常大,并且搜索时间复杂度都非常高;若采用非固定编码,出现次数多的字符编码长度 阅读全文
posted @ 2023-04-14 14:31 QianFa01 阅读(65) 评论(0) 推荐(0)
摘要: 主要思想:当出现字符不匹配时,可以利用已经匹配的文本内容,避免从头匹配; 考虑文本串:” aabaabaafa“,模式串 ”aabaaf “, 参考「代码随想录」KMP算法详解 - 找出字符串中第一个匹配项的下标 - 力扣(LeetCode),很详细; 个人理解:1、这个算法是对模式串的要求,模式串 阅读全文
posted @ 2023-04-13 18:45 QianFa01 阅读(70) 评论(0) 推荐(0)
摘要: 1、c++中的struct结构体变量定义 可以直接 “类型名 变量名”,c中只能 “struct 类型名 变量名” ,可以通过typedef 达到相同的效果; struct _x1 { ...}x1; 是定义了类_x1和_x1的对象实例x1, typedef struct _x2{ ...} x2; 阅读全文
posted @ 2023-04-12 13:21 QianFa01 阅读(127) 评论(1) 推荐(0)
摘要: 1、等值距离和(340周赛B):有时间复杂度的要求,采用前缀和策略,保存在一个前缀和数组中,序列是从左往右递增的,所以可以将其分为左侧和右侧分开计算,模板题;同有序数组中差绝对值之和; 既然数组是非递减有序的,那么a[i]左边的元素一定不大于它本身,右边的元素一定不小于它本身;我们先计算出i位置(包 阅读全文
posted @ 2023-04-10 15:26 QianFa01 阅读(48) 评论(0) 推荐(0)
摘要: 建堆(heapification): 蛮力算法 空堆反复调用insert()接口,消耗时间过多,第k轮迭代需O(logK)时间,正比于其深度:总共需要O(log n!) = O(n log n);同理于自顶向下、自左向右的上滤操作; 实现时先入一个最大值元素,放在下标为0的地方,此后,元素从下标为1 阅读全文
posted @ 2023-04-05 11:27 QianFa01 阅读(47) 评论(0) 推荐(0)