摘要:
二叉堆数据结构,底层用数组实现,可理解为一棵完全二叉树。 性质:堆序性质,上浮下沉操作都是为了保持堆序性质。 堆可用来排序,求TopK问题等。 代码: #include <iostream> #include <vector> using namespace std; /* 大顶堆 */ class 阅读全文
摘要:
一个晚上都没有解决这个bug,问了个同学才知道。 模板编程时,如果分离编译会造成链接出错,报collect2 error ld returned 1 exit status错误。 解决方案: 1. 实现写到.h文件中,当然这样可能会造成可执行程序过大; 2. 在模板实现文件中实例化一份别的cpp需要 阅读全文
摘要:
昨晚又仔细学了下Git。之前也看过Git的教程,但有些东西只是看看概念,理解的还不是很深刻。 推荐教程: 廖雪峰的git教程(很不错):https://www.liaoxuefeng.com/wiki/896043488029600 菜鸟Git教程(也不错):https://www.runoob.c 阅读全文
摘要:
CPU执行程序的过程是重复的“取指执行”,为了提高内存访问效率,引入了Cache。 所以这个问题也就等价于“如何写出让Cache命中率更高的代码?” 知其然知其所以然,懂Cache原理了,自然就明白怎么去做。 1、遵从80-20法则,程序80%的时间在运行20%或更少的代码,针对热代码进行优化,进而 阅读全文
摘要:
# 本人2023届毕业,2022年需要迫切找到一份好的工作。 最近系统性的针对计算机底层知识进行了学习,跟以前对于计算机的理解有了很大的改变,具体体现在“能够以一个整体的层次去思考问题了”。 下面列出一些感受: 分层 如果你深入回忆一下,会发现计算机的整个体系都构建在分层之上的。 构建在整个CS系统 阅读全文
摘要:
链表 链表与数组是两个十分重要的数据结构,是构成线性表的重要组成部分。 链表通常占用的是非连续的地址空间,查找时间O(N),删除和插入时间O(1)。 链表主要有单链表、双向链表、循环单链表、循环双向链表等,在计算机领域应用十分广泛,比如用链表实现的队列应用于进程管理,Hash表的链式存储法等等。 关 阅读全文
摘要:
连上了以太网,图标也显示有网,但就是无网。 原因:走了代理(e.g., clash for windows),然后没有正常退出。所以一直出现没网络的情况。 解决方案:打开代理软件,然后正常关掉就ok了。 阅读全文
摘要:
Paper实则八股文。 Introduction作为paper的第一个section,作用不言而喻。 Intro主要包含的内容: 这篇文章的背景(Background);即什么样的大环境下写这篇文章 粗略介绍本文的研究方法; 本文的contributions;也即本文的创新(innovation), 阅读全文