【数据结构】Btree家族
BtreeBtree 介绍
Btree 是一种多路搜索树,每个节点可以存储多个元素,每个元素可以有多个子节点。
对于一棵M阶的B树,每个节点最多有M个子节点,最少有⌈M/2⌉个子节点(⌈x⌉为向上取整符号);最多有M-1个元素,最少有⌈M/2⌉-1个元素。(B+树也是一样)
2-3树是一种特殊的 btree,2-3树的阶数为 3,每个节点最多有 2 个元素,最多有 3 个子节点。(其中“2-3”代表的是该树允许的子节点个数范围)
同样地,对于一棵4阶的2-3-4树,每个节点最多有4个子节点,最多有3个元素。每个节点最少有2个子节点,最少有1个元素。Btree 特性1.关键字集合分布在整颗树中;
2.任何一个关键字出现且只出现在一个结点中;
3.搜索有可能在非叶子结点结束;
4.其搜索性能等价于在关键字全集内做一次二分查找;
Btree 的插入
插入的时候,先找到插入的位置,然后插入到叶子节点中。
如果插入之后,叶子节点的元素个数大于 m,那么就需要进行分裂操作。
分裂操作:将叶子节点的元素分成两部分,左边的元素个数为 (m+1)/2,右边的元素个数为 m-(m+1)/2,然后将左边的 ...
【数据结构】AVL树+splay树
AVL树前置知识
二叉排序树:左子树的所有节点都小于根节点,右子树的所有节点都大于根节点
平衡二叉树:左右子树的高度差不超过1的二叉排序树
二叉树的高度:根节点到叶子节点的最长路径
二叉树的深度:根节点到叶子节点的最短路径
二叉树的平衡因子:左子树的高度减去右子树的高度
AVL树的定义
AVL树是一棵空树或者它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树的二叉排序树。
AVL树的调整
LL型单旋:右旋
RR型单旋:左旋
LR型双旋:先左旋再右旋
RL型双旋:先右旋再左旋
tips:旋转之后,根节点的平衡因子为0,左右子树的平衡因子为1或者-1
图解:AVL树的插入按照常规的二叉排序树的插入方法插入节点,然后从插入节点开始向上回溯,找到第一个平衡因子的绝对值大于1的节点,然后根据该节点的平衡因子和插入节点的值的大小关系,进行旋转操作。
AVL树的删除如果删除的节点是叶子节点,直接删除即可。如果删除的节点不是叶子节点,那么需要找到该节点的前驱或者后继节点来替换该节点,然后删除前驱或者后继节点。删除之后,从删除节点的父节点开始向上回溯,找到第一个平衡因子的 ...
【影评】《Oppenheimer》(奥本海默)
इदानीं अहं क्रूरः कटनकर्ता, जगतः नाशकः भवेयम्।
“我现在成了死神,世界的毁灭者。”
——《薄伽梵歌》
壹先说结论,个人觉得值得一看,无论是对冲着诺兰导演还是奥本海默传记或者是电影体验来的(看各人口味)。但是有点门槛:时长考验膀胱,音量考验耳膜,时间线考验理解。影片的剧情稍微了解二战历史或者是学过高中历史的应该都能看懂大概,但是如果对这块历史很有了解的应该看起来会更舒服。
电影的时长长达三个小时,虽然时间较长,但节奏紧凑。
影片基于真实历史背景,对于对物理学和二战历史政治感兴趣的观众来说将是一场盛宴。
剧情从中间开始,时间线分裂且跳跃,虽然不影响整体理解,但完全理解所有细节可能有一定难度。
演员阵容堪称豪华,演技也确实无可挑剔
人物和人名很多,再加上我有一点脸盲,看完一整部除了戏份特别多或者特别好认的角色,还有很多不知道哪里冒出来的名字/有印象叫不出名字的,但是不影响整体的理解。
全片无特效(除了为了引进大陆特殊处理过的桥段,那就挺明显的),全部实景搭建和拍摄。关于具体以及一些其他方面技术相关的消息,最近网上有很多采访诺兰的视频,可以 ...
【就业】实习相关
获得Offer的途径实习转正[大三寒假/大三下投递]要关注实习岗位能否提供转正机会,有些公司日常/暑期实习均可提供转正机会,有些公司仅暑期实习可转正,转正也包含本部门转正和跨部门转正(跨部门转正难度接近于秋招)
行情好的时候,实习转正很容易,并且可以了解该部门的业务和工作强度
行情不好的时候,性价比不一定比得上秋招,最好不要 all in 转正。秋招 ☆[大三暑假/大四上投递]招聘的主阵地,大部分人通过该渠道获得 Offer。
春招(补招)[大四下投递]春招一般是各公司因秋招时候选人拒掉 Offer 导致没招满时的补招,名额较少。没有空缺名额时,企业不开展春招
关键时间节点大三下3月~6月—实习招聘。
越早越好,越往后 hc 越少。
不一定要百分百准备好才开始投简历;在面试中查漏补缺
一开始可以先投递一些中小厂或者不想去的公司练练手
大三下5月开始—暑期实习
没课了可以尽早出去实习,产出越多转正越容易。
早实习可以和秋招正式批时间错开,不至于分身乏术
大三下6月~7月—秋招提前批
提前批一定要投,即使失败也不影响正式批,可以积累经验
提前批竞争比较少,部分企业提前批没有笔试
拿 ...
计算机网络原理
b站中科大郑铨
课本:《自顶向下计算机网络》
第一章电路交换网络和分组交换网络
电路交换网络
电路交换不适合计算机之间的通信
连接建立时间长
计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
可靠性不高?
TDM相对于FDM的优点
频谱效率:
更高的频谱利用率:TDM在时间上进行复用,不需要为每个信道分配不同的频段,避免了频谱资源的浪费,提高了频谱利用效率。
设备复杂度:
设备简单:TDM不需要复杂的滤波器来分离不同频段的信号,只需使用时间片分配即可,因此硬件实现相对简单。
减少干扰:
干扰更小:TDM信号在时间上是分离的,不存在不同频段之间的相互干扰问题,而FDM中不同信道之间的频谱相邻可能会产生干扰。
动态带宽分配:
灵活的带宽管理:TDM可以根据需要动态调整每个用户分配的时间片,便于管理和调整带宽分配,适应不同用户的需求。
同步和定时:
同步性强:TDM具有严格的时间同步要求,确保各个时隙的准确性,而FDM需要对不同频段进行同步和管理,复杂度更高。
电路交换网络 ...
编译原理实验
实验一:RE->NFA实验要点定义正则表达式规范定义NFA模型设计RE转NFA的过程解析正则表达式生成NFA任务1 实现正则表达式树构建算法 (实现类ParseRegex的parse()方法)main/java/org/qogir/compiler/grammar/regularGrammar/ParseRegex.java
任务2 Thompson Construction算法 (实现类ThompsonConstruction的translate方法)main/java/org/qogir/compiler/grammar/regularGrammar/ThompsonConstruction.java
任务3 处理错误的正则表达式
编译原理
2024考纲IntroductionMaster: the phases of a compiler.Understand: what is a compiler. All the concepts about the compiler stagesYou Should be familiar with each stage of the compiler, and describe the whole process in graph or text.
LexicalMaster: Write regular expression, the transition from regular expression to NFA, then to DFA, DFA minimization and the construction of scannerUnderstand: Concept of regular expression, NFA, DFABe familiar with the expression of R.E.. Know the difference of R.E. a ...
【大二下】南大jyy操作系统
课程地址:
2023:https://jyywiki.cn/OS/2023/index.html
2022:https://jyywiki.cn/OS/2022/index.html概述课STFW/RTFM: search the fucking web/read the fucking mannul命令行工具tmux终端复用工具,可以在一个终端窗口中打开多个终端,可以在后台运行,可以在不同终端窗口之间切换,可以在不同终端窗口之间复制粘贴。
主要区分session、Windows和pane的概念。常用指令:
tmux new -s [sessionname]
tmux attach -t [sessionname]
ctrl+b+其他指令(注意ctrl+b要先放开再按其他键)
?:列出所有的快捷键,按q返回
d:detached当前的session,后台运行。
c: 新增windows
x: 删除当前pane,关掉所有pane和windows后exit了整个session
%:垂直划分pane
":水平划分pane
Space (空格键) :对当前窗口下的所有窗格重 ...
计算机组成原理
> 计算机组成原理复习文档(初稿),由 val213 编辑整理。仅供学习交流使用!overview什么是 architecture 什么是 organization?organization is the architectural specification.
organization is the hardware details that are transparent to programmer such as instructions set……
peripherals 外设
transparent 透明的,意即是do not care
example:family computer have the same computer architecture and different organization.
课程教材:计算机组成和嵌入式系统参考书目:《计算机体系结构与性能设计》《计算机体系结构与与结构化方法》《计算机组成与软硬件接口》
考核6(期末考试,卷面必须过)+2(实验签到和实验报告)+2(作业和考勤)
计组是重难科目!
不过原理类科目有点像死知识。很偏硬件。不 ...