摘要: 树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。 树里的每一个节点有一个根植和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。 二叉树是一种更为典型的树树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常 阅读全文
posted @ 2019-12-02 23:43 任仁人 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 通用公式:a + rand() % n;其中的a是起始值,n是整数 阅读全文
posted @ 2019-12-02 22:53 任仁人 阅读(1155) 评论(0) 推荐(0) 编辑
摘要: map, set, multimap, and multiset 上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种。不同操作的时间复杂度近似为:插入: O(logN) 查看:O(logN) 删除:O(logN) unordered_map,unordered_set,unordered_mult 阅读全文
posted @ 2019-12-02 22:31 任仁人 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目最终需要返回的是前 kk 个频率最大的元素,可以想到借助堆这种数据结构,对于 kk 频率之后的元素不用再去处理,进一步优化时间复杂度。 具体操作为: 借助 哈希表 来建立数字和其出现次数的映射,遍历一遍数组统计元素的频率维护一个元素数目为 k 的最小堆每次都将新的元素与堆顶元素(堆中频率最小的元 阅读全文
posted @ 2019-12-02 22:02 任仁人 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 操作系统的引导 实验内容 改写/boot/bootsect.s能在屏幕上打印诸如"XXX is booting"的提示信息 改写/boot/setup.s完成以下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s向屏幕输出一行"Now we 阅读全文
posted @ 2019-12-02 11:21 任仁人 阅读(79) 评论(0) 推荐(0) 编辑