数据结构 - 红黑树之宁式记忆口诀

本文深入解析红黑树的特性和自平衡机制,包括红黑树的五条规则,以及通过变色和旋转来维持平衡的具体操作。探讨了在插入新节点后如何调整树结构,以确保满足红黑树的约束条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试用口诀的方式记忆数据结构 1.0Beta抢鲜版

二叉查找树(Binary Search Tree)

BST特性

1.左子树上所有结点的值均小于或等于它的根结点的值。
2.右子树上所有结点的值均大于或等于它的根结点的值。
3.左、右子树也分别为二叉排序树。
在这里插入图片描述
尝试查找节点8的位置:9-5-7-8

缺点:如果新增节点时,初始节点只有9,5,13。按顺序插入4,3,2,1。则会导致二叉树的不平衡性

红黑树

自平衡的二叉查找树,满足二叉查找树的特征外

1.结点是红色或黑色。
2.根结点是黑色。
3.每个叶子结点都是黑色的空结点(NIL结点)。
4 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点)
5.从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。
在这里插入图片描述

比如插入21节点,13-17-25-22-21。则会打破红黑树的规则4。为了满足红黑树得规则

1、变色:尝试把红色结点变为黑色,或者把黑色结点变为红色。
2、旋转

2.1 左旋转 逆时针旋转两个节点
在这里插入图片描述
2.1 右旋转
在这里插入图片描述

使用手册

1、新节点的父亲节点和叔叔节点是红色: 变色父为黑,根节点为红,叔叔节点为黑 (口诀:父亲叔叔红了。变成黑,根节点变成红~)

2、新结点的父结点是红色,叔叔结点是黑色或者没有叔叔,且新结点是父结点的右孩子,父结点是祖父结点的左孩子。
在这里插入图片描述
已B为轴,进行左旋。
在这里插入图片描述
仍未到红黑树要求。先记录下口诀。(我有一个红父亲,我是父亲的右孩子,父亲是爷爷的左孩子。以父亲为轴进行左旋~)

3、新结点的父结点是红色,叔叔结点是黑色或者没有叔叔,且新结点是父结点的左孩子,父结点是祖父结点的左孩子。
在这里插入图片描述
处理方式:对祖父节点进行右旋,之后变色未满足条件的节点即可
祖父节点右旋:
在这里插入图片描述
将不满足红黑树条件的进行变色
在这里插入图片描述
口诀:我的父亲是红色的,我是父亲的左孩子,父亲也是爷爷的左孩子。爷爷右旋,然后变变色彩吧~

*以上父亲节点都是祖父节点的左孩子。如果父亲节点为右孩子,2情况变为了3情况的镜像,3情况变为了2情况的镜像
即可以把3的情况的操作变为左旋,2的情况操作变为右旋

记忆点图

在这里插入图片描述
21为新节点,变为符合红黑树规则的自平衡二叉查找树
(秘籍:1情况之变色,3情况之镜像之左旋,调调色啦)

<think>好的,用户之前问过关于郑州大学计算机类研究生的情况,现在他提到自己基础薄弱,想知道如何准备。我需要先回顾之前的回答,看看已经提供了哪些信息,然后根据他现在的情况调整建议。 首先,用户的基础薄弱,可能意味着他在数学、专业课或英语方面需要更多的指导。之前的回答已经详细列出了各专业的考试科目、学习重点和备考规划,但现在需要更针对基础差的学生的策略。 用户可能担心自己无法应对高难度的考试内容,尤其是像数学一和408这样的科目。需要分阶段制定计划,强调基础巩固,推荐适合初学者的资料,并提供具体的学习方法。 另外,用户可能需要心理上的鼓励,比如如何保持动力,避免焦虑。同时,还要考虑时间管理,如何在有限的时间内高效学习,避免疲劳战术。 还要注意,用户可能没有明确说明具体薄弱环节,所以建议要全面覆盖各科目,但重点放在基础上。比如数学先抓高数的基础部分,专业课从数据结构开始,英语加强词汇和阅读。 可能需要推荐一些基础教材,比如汤家凤的高数讲义,王道的考研书,以及背单词的APP。同时,提醒用户利用郑大的资源,比如实验室和导师,提前联系学长学姐获取经验。 最后,确保回答结构清晰,分阶段、分科目给出建议,并加入鼓励的话语,让用户有信心坚持下去。还要检查是否符合之前的系统级指令,比如使用正确的LaTeX格式,避免使用Markdown表格,但用户现在允许使用自然的中文回答,不需要表格。</think>以下是针对基础薄弱考生报考郑州大学计算机类研究生的定制化备考方案,结合知识漏洞修补策略与高效提分方法: --- ### **一、基础薄弱特征诊断与应对方案** #### **1. 数学薄弱(高数/线代/概率)** **典型症状**: - 看到三重积分符号发懵 - 分不清矩阵的秩和特征值关系 - 对贝叶斯公式应用场景模糊 **急救方案**: - **分级教材选择**: - 入门级:《考研数学复习全书·基础篇》(例题含手写解题步骤) - 提分级:《汤家凤高等数学辅导讲义》(配套"小白板"视频课) - **重点公式可视化**: - 制作"高数核心公式转盘"(含导数公式/积分表/级数收敛判定流程图) - 示例:泰勒展开记忆卡 $$ \sin x = x - \frac{x^3}{6} + \frac{x^5}{120} + o(x^5) $$ $$ \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \cdots \quad (-1<x\leq1) $$ #### **2. 专业课零基础(408四门课)** **常见困境**: - 分不清进程与线程调度区别 - 看不懂B+树分裂规则 - 对TCP三次握手理解停留在概念 **突破路径**: - **学习路线重构**: ```mermaid graph LR A[数据结构] --> B(线性表→栈队列→树→图) B --> C[操作系统] C --> D(进程管理→内存管理→文件系统) D --> E[计算机网络] E --> F(物理层→数据链路层→网络层→传输层) ``` - **场景化学习法**: - 用"外卖订餐系统"理解进程通信(消息队列=订单传递) - 用"快递配送网络"类比IP路由(路由器=分拣中心) --- ### **二、分阶段逆袭计划(总时长10个月)** #### **1. 筑基期(第1-3月)** - **数学每日任务**: - 早间30分钟:背诵《基础公式手册》(重点标红导数/积分公式) - 晚间2小时:精做《接力题典1800》入门篇(每题听讲解视频) - **专业课攻坚**: - 数据结构:每天手写1种排序算法(冒泡→快排→堆排序) - 操作系统:用纸箱制作内存分页模型(标注页表/偏移量) #### **2. 强化期(第4-6月)** - **错题转化策略**: - 建立"三色错题本": - 红色:完全不会(如矩阵相似变换) - 黄色:思路卡壳(如红黑树旋转) - 绿色:计算失误(如Cache命中率计算) - **408突破技巧**: - 用"代码反推法"学习算法: ```python # 动态规划经典例题(背包问题) def knapsack(W, wt, val, n): dp = [[0]*(W+1) for _ in range(n+1)] for i in range(1, n+1): for w in range(1, W+1): if wt[i-1] > w: dp[i][w] = dp[i-1][w] else: dp[i][w] = max(dp[i-1][w], val[i-1]+dp[i-1][w-wt[i-1]]) return dp[n][W] ``` - 每周完成2道手写代码题(从简到难:链表→二叉树→图) #### **3. 冲刺期(第7-10月)** - **全真模拟方案**: - 数学:每周日上午8:30-11:30模考(用答题卡规范书写) - 408:重点突破2018-2023真题(制作考点频次统计表) - **押题重点标注**: - 高数:近年未考的曲面积分计算(准备高斯公式专项训练) - 数据结构:B树/B+树对比(画出差异对比思维导图) --- ### **三、专项补弱工具箱** #### **1. 数学公式记忆卡** | **类别** | **记忆口诀** | **示例应用** | |----------------|--------------------------------|-------------------------------| | 泰勒展开 | "指对函数分开记,正弦余弦奇偶替" | 当x→0时,$$e^x \approx 1+x+\frac{x^2}{2}$$ | | 概率分布 | "泊松等待指数忙,正态中间均匀方" | 设备故障间隔时间符合$$X \sim Exp(\lambda)$$ | #### **2. 408救命知识点** - **操作系统必背**: - 银行家算法解题步骤: ```text 1. 计算Need矩阵 = Max - Allocation 2. 尝试分配后检查安全性 3. 找出安全序列(使用队列法) ``` - **组成原理速记**: - Cache地址映射公式: $$ \text{组号} = \frac{\text{主存块号}}{\text{组数}} \mod \text{Cache组数} $$ --- ### **四、郑大特惠政策利用** #### **1. 弱势考生专项计划** - **基础强化班**:计算机学院每年9月开设《408筑基课程》(凭学生证免费旁听) - **导师帮扶制度**:可申请加入"学硕带专硕"互助小组(匹配在读研究生指导) #### **2. 复试保护机制** - **科研潜力评估**:即使无项目经历,只要展示出清晰的文献综述能力(如完成1篇CNN论文精读报告)可加分 - **机试补偿政策**:若总分过线但机试不及格,可用CSP认证成绩(≥200分)替代 --- ### **五、避坑指南** #### **1. 时间管理雷区** - **禁止**:盲目追求刷题量(如一天做3套数学卷) - **建议**:采用"127法则":10%时间看课,20%时间做题,70%时间分析错题 #### **2. 心态崩溃急救包** - **焦虑缓解**:每周日晚上玩1小时《编程模拟器》游戏(锻炼算法思维) - **信心重建**:建立"进步里程碑"(如首次独立推导出KMP算法) --- **特别提醒**:郑州大学计算机学院每年10月举办"考研开放日",可实地考察超算中心(需提前在官网预约)。建议携带错题本与在读研究生面对面交流,获取针对性指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值