# MD5 计算时间的实践 # 引言 最近在做一个项目,里面用到了 MD5 算法来生成文件名,并且可以对相同文件进行合并存储,不禁让我想到了一个问题 ——MD5 的计算很耗时吗还是 MD5 是一个轻量级的算法,在网上翻阅了一些资料,得到了结果,确实 MD5 的计算是很轻量的。 但是,他到底需要多长时间呢?我直接开始实践一下。 # 配置 机器采用:AMD Ryzen 7 5800H 处理器 + 32GB 内存 频率为 3200 使用约 50% # 实践 先对小文件进行测试,现选用文件大小为 2.83 MB 的图片,在 anaconda 环境下,对比不同 chunk_size...

# 基于用户的协同过滤算法 本篇文档将会用通俗易懂的方式带你来了解并实现基于用户的协同过滤算法,不再基于特定开源库,使用原生代码完成协同过滤的构建,实际上,基于用户的协同过滤很简单,只需要弄懂那几个公式是怎么用的就好了,真正的难点是公式的提出与证明,不过呢今天我不想讲相关的证明了。 本篇文章主要是带你打开协同过滤的大门,我只是想告诉你,作为人的你我具有不断认识的能力,且在认识中不断消除谬误,并无限趋近于真理,我们有能力也必将认识这个世界,而协同过滤正是其中之一,究其本质并不复杂。 那么请坐好,协同过滤的列车要发车啦! #...

# 领航 核心内容来自颉斌斌老师 # 阅读 # 常考的隐含假设 要素 隐含假设 做了什么 论述的主体有能力 / 条件可以做 建议 / 应该去做一件事情 这件事还没有做过,作者认为这件事合理 为什么 + 观点 观点成立 一个措施有利,应该去做 同时不会有更大的弊端 一个措施不利,应该去做 同时不会出现更大的利 禁止做一件的事情 这件事已经被做过 # 选项比错的依据 答案已知且唯一 选项具有有限性(4 个) 比出一个最佳选择即可,放弃求证每日一个选项的正确于错误 但,什么是最佳? 实际上,找对很难, 比错比比对更加容易! 选项比错是高效的做法 #...

# 领航 部分口诀来自李丽双老师 主要内容来自《肖秀荣 1000 题》、《精讲精炼》、《30 天 70 分》的答案解析 以及其他同学们的笔记 版权问题请联系作者 QQ:735690757 # 史纲 # 马原理 # 习思想 # 琐碎 在习近平新时代中国特色社会主义思想的指导下,中国共产党团结带领中国人民,自信自强、守正创新,统揽伟大斗争、伟大工程、伟大事业、伟大梦想,创造了新时代中国特色社会主义的 伟大成就,为实现中华民族伟大复兴提供了更为完善的制度保证、更为坚实的物质基础、更为主动的精神力量。 # 六个坚持 “六个必须坚持”:...

# 操作系统 PV 代码题速记 进程 P 向 m 个进程 Q1、Q2、Q3…Qm 发送消息,进程 P 发消息到缓冲区,只有所有的 Q 进程都接收到消息后,进程 P 才能继续向缓冲区放消息,请写出 PV 操作逻辑。 semaphore mutex=1, T[i]=0, notHave=1;//mutex 是缓冲区互斥锁,T [i] 是 Qi 进程完成数组,是一个自阻塞数组//notHave 是缓冲区是否为空,1 就是空,初始没有信息int R=0;//R 是一个计数器Process_P(){ while(1){ P(notHave); P(mutex);...

# 线性表方向 # 链表的合并 设计实现将两个带有头节点的有序链表合并为一个新的有序链表。 void marge(LNode *A,LNode *B,LNode *C){ LNode p = A->next; LNode q = B->next; LNode r; r->next = null; C = A; r=c; while(p != null||q != null){ if(p->data <= q->data){ r->next = p; p = p->next; r =...

# 操作系统细碎知识点总结 现代操作系统两个最基本特征:并发 与 共享 OS 主要特征是:并发、共享、虚拟 以及 异步 操作系统出现的标志:多道程序设计 以及 分时操作系统 的出现 高级调度:作业调度 中级调度:内存调度 低级调度:进程调度 多级存储分为三部分:高速缓存、内存 / 主存 以及 外存 进程的调度时机:时间片完、正常结束、P 操作、IO 请求 以及 优先级抢占 文件系统的功能:按名存取、存储空间管理、文件共享与保护 以及 文件操作 SPOOLING 系统的组成:输入进程、输入缓冲区、输入井、输出进程、输出缓冲区 以及 输出井 进程的结构特征(有争议 /...

# 认识广义表 广义表是线性表的推广,与线性表不同的是,线性表中的每一个数据元素都属于同一数据对象。 广义表可以表示为: 空表:() 表头:(表头) 表头 + 表尾:(表头,表尾) 实际上这就是他的基本结构,而对于其中的元素来说,它可以是表,也可以是元素,这就是广义! # 取头 Head () Head 是取头操作,他拿的是一个元素或者一个表 # 取尾 Tail () Tail 是取尾操作,他拿到的必是一个表 # 巧记 对于蟒蛇(Python)来说,头只有一个,而它的尾巴很长。 所以,取头 Head 元素比较单一,取尾 Tail 往往比较长。 #...

# 虚拟存储器管理 # 什么是虚拟存储器? ​ 虚拟存储器是一种计算机内存管理技术,它通过将计算机的硬盘空间作为辅助存储器,允许程序使用比物理内存更大的地址空间。虚拟存储器的目标是提供更大的可用内存空间,以便同时运行更多的程序,而不受物理内存的限制。 ​ 虚拟存储的实现是基于局部存储原理的,要理解虚拟存储我们就要去理解局部存储的是实现,即:分页存储、分段存储、段页式存储。 (这里我们重点掌握具有块表的分页存储) # 课程设计核心目的? 将逻辑地址转为物理地址 #...

# MongoDB 约束命令 # 输出行数限制 db.t4.aggregate({$limit:4})# xx 升序 / 降序 db.t4.aggregate([{$sort:{price:-1}}])1:升序 2:降序 # MapReduce MapReduce 是一种用于分布式计算的编程模型和处理大规模数据集的方法。 MapReduce 模型的基本思想是将大规模数据集分成小块,然后并行处理这些小块数据以生成中间结果。 Map 阶段(映射阶段):在这个阶段,原始数据被映射成键 -...