06 2022 档案
摘要:装饰模式的特点 定义 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装
阅读全文
摘要:概览 组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同
阅读全文
摘要:应用场景 桥接模式的一个常见使用场景就是替换继承。我们知道,继承拥有很多优点,比如,抽象、封装、多态等,父类封装共性,子类实现特性。继承可以很好的实现代码复用(封装)的功能,但这也是继承的一大缺点。 因为父类拥有的方法,子类也会继承得到,无论子类需不需要,这说明继承具备强侵入性(父类代码侵入子类),
阅读全文
摘要:C#学习设计模式之前,必看uml类图的C#代码写法 面向对象的特点是可维护、可复用、可扩展、灵活性好,它真正强大的地方在于:随着业务变得越来越复杂,面向对象依然能够使得程序结构良好,而面向过程却会导致程序越来越臃肿。 让面向对象保持结构良好的秘诀就是 设计模式。 关联、聚合、组合的区别 关联、聚合、
阅读全文
摘要:概览 浮点数(有理数) 浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。 阶码:常用补码或移码表示的定点整数,阶码E反映浮点数的
阅读全文
摘要:概念 字符是一个信息单位,在计算机里面,一个中文汉字是一个字符,一个英文字母是一个字符,一个阿拉伯数字是一个字符,一个标点符号也是一个字符。 字符集也叫字符串是字符组成的集合,通常以二维表的形式存在,二维表的内容和大小是由使用者的语言而定,是英语,是汉语,还是阿拉伯语。 字符编码是把字符集中的字符编
阅读全文
摘要:进制计数法 进制计算公式 基数:每个数码位所用到的不同符号的个数,r进制的基数为r ①可使用两个稳定状态的物理器件表示 ②0,1正好对应逻辑值假、真。方便实现逻辑运算 ③可很方便地使用逻辑门电路美现算术运算 任意进制转十进制 二进制<- ->八进制、十六进制 十进制转二进制 十进制75.3转成的二进
阅读全文
摘要:计算机中整数以补码的形式存储 正数的补码等于原码;负数的补码等于反码加1,而反码等于原码符号位不变,其余各位取反。为了简化计算机基本运算电路,使加减法都只需要通过加法电路实现,也就是让减去一个正数或加上一个负数这样的运算可以用加上一个正数来代替。于是改变负数存储的形式,存储成一种可以直接当成正数来相
阅读全文
摘要:定点整数 长度相同的无符号和有符号数转化 无符号数与有符号数:不改变数据内容,改变解释方式。 C 中的int short 等类型都是用补码的形式存储的。 short x=-4321; 内存中存储为X:1110 1111 0001 1111 计算机真值显示为:-4321 unsigned short
阅读全文
摘要:1 2 14 2 2 8补码的除法运算 - YouTube (1)被除数和除数同号,则被除数减去除数;异号则被除数加上除数。 (2) (3)余数和除数同号,商1,余数左移一位减去除数;余数和除数异号,商0,余数左移一位加上除数。重复n次 (4)最后一位商 恒置为“1”。目的省事,误差不大 (5) 补
阅读全文
摘要:原码的除法步骤 (1)除了 符号位外的,其他运算和十进制除法一样。 (2)除数和被除数符号位 独单 异或运算的结果作为商的符号 1)计算机第一次除,默认商为1 然后进行运算,等到的结果存储到ACC中,然后去检测ACC 符号位,发现是负数,马上将第一个的商修改为0。 接着将ACC的值(余数)+(除数)
阅读全文
摘要:补码的一位乘法背景 两个数的相乘,可以转化为 它的补码相乘,然后再求乘积的补码 。例如: 注意: 1.1101的真值为x=-0.1101 ,详细请看真值 ACC补码采用算数右移,ACC 的符号位不参与移动。其他和原码一样。 2种[x]补转向[-x]补方法 (1)[x]补符号位、数值位全部取反,末位+
阅读全文
摘要:真值 因为最高位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 (10000011转换成十进制等于131)。 所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 例:0000 0001的真值 = +000
阅读全文
摘要:十进制乘法的思想 最低位相乘=就等底不变 指数相加 例如:10-3*10-3=10-6 因此相乘时,结果都要错位。 二进制乘法 将十进制引入二进制 (1) 数值位 乘法,如:|数值位|*|数值位| (2)符号位异或 计算机如何处理乘法? (1)初始状态,A(X)*B(MQ) 原码的一位乘法:乘数每次
阅读全文
摘要:概览 溢出情况 溢出知乎发生在同符号位置的加法运算:例如: (-123)+(-123) 发生溢出 123+123 发生溢出 原码加运算 原码减运算 加法溢出 减法运算可以转成加法运算。 公式 :正+正=负数 说明溢出 负+负=正数 说明溢出 减法会被转化成加法 设机器字长为8位(含1位符号位),A=
阅读全文
摘要:概览 (1)软件质量的标准:可复用性+可维护性 (2)7大设计原则 (3)23 种Gof设计模式 5种创建型设计模式横向对比 创建型设计模式主要作用是将一个对象的创建者和使用者分离。 7种结构型设计模式横向对比 结构型设计模式主要作用是将多个类或者对象组合使其功能更加丰富。 11种行为型设计模式横向
阅读全文
摘要:一. 什么是迪米特法则 迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。不和陌生人说话。英文简写为: LoD。 迪米特法则的目的在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存
阅读全文
摘要:概览 1 2 9 2 2 3移位运算 - YouTube 位移 小数和整数位移 对于定点数,是无法改变小数点的位置的,因此只能通过移动数字,来改变相对小数点的相对位置,来改变位权。移位:通过改变各个数码位和小数点的栩对位置,从而改变各数码位的位权。可用移位运算实现乘法、除法。 反码的位移 正数的反码
阅读全文
摘要:由于计算机的减法器 ,造价高,所就用加法器来运行加法计算,原理如下: 减法运算的原理 为啥减法运算可以转化成加法运算,原理是什么? 以下举例:以mod=12(时钟) x mod m=? 补充知识点 来源:数论 整数:包含负整数 、0、正整数 余数的定义 数论中余数的定义 :如果a和d是两个自然数,d
阅读全文
摘要:x mod m=? 补充知识点 来源:数论 整数:包含负整数 、0、正整数 余数的定义 数论中余数的定义 :如果a和d是两个自然数,d非0,可以证明存在两个唯一的整数q和r,满足a = qd + r 且0 ≤ r < d。 其中,q被称为商(整数), r被称为余数。 -3 =(-1)*12+99 =
阅读全文
摘要:定点表示 机器数中的小数点位置是固定不变的,小数点不再使用“.”表示,而是约定它的位置。小数点:隐含存储(定点数:事先约定;浮点数:按规则浮动) 这里有两种简单的约定,将小数点的位置固定在数据的最高位之前,或固定在最低位之后。一般称前者为定点小数后者为定点整数。 定点小数 +0.75 = 0.11B
阅读全文
摘要:最近在看CRC算法,但是发现其中“模2运算”不太清楚,就搜找资料,整理了此文章!! 模2运算定义 模2运算是用于二进制的四则运算。模2运算的加减运算就是异或运算, 异或:是不带进位的加法运算,当前计算结果记录的的是不进位的情况。也可以理解成 0 是偶数 1是奇数,奇数+偶数=奇数 , 偶数+偶数=偶
阅读全文
摘要:概览 核心算法:模2运算 主要应用 “模2运算”应用十分广泛,主要应用于数据存储及数据传输、数据通信时对数据正确性的校验方面。著名的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,WinRAR、NERO、ARJ、LHA等压缩工具软件采用的是CRC32,磁盘驱动器的读写采用了CRC1
阅读全文
摘要:概览 海明码是基于偶校验的。能纠错一个bit的信息错误,能检测2个bit的信息错误。
阅读全文
摘要:字符集ASCII 1=列0011+ 行0001 y=F(x):y等于二进制 f等于映射规则 就是指ascii、unicode之类的,x等于字符 编码规律: (1) 组成:列+行 (2)16行 8列,16*8=128 ,行索引:0~127 列索引:0~7 (3)0 A a的低4位都为0001,高四位分
阅读全文
摘要:概览 什么是BCD码? BCD码是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了4个bit来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。BCD码常用的有8421码、5421码、2421码和余3码,以下为编码表: 十进制数8421码5421码2421码余3码
阅读全文
摘要:描述文件大小或存储器容量 1k=210 1M=220 1G=230 1T=240 描述数据的处理速率: K=Kilo=千=103,M=Million=百万=106,G=Giga=十亿=109,T=Tera=万亿= 1012
阅读全文
摘要:第零级:是硬联逻辑级,是计算机的内核,由门、触发器等逻辑电路组成。第一级:微程序级,这级的机器语言是微指令集,用微指令编写的微程序一般是由硬件执行的。 微程序控制器 微程序逻辑采用存储逻辑实现,其基本思想为:把操作控制信号编制成微指令,存放在存储器中,运行的时候,从存储器中取出微指令,从而产生指令运
阅读全文
摘要:存储单元用电容器:电容器存储电荷 , 1个充电的电容器在数字电子中被认为是逻辑上的1,而“空”的电容器则是0。电容器不能持久的保持储存的电荷,所以内存需要不断定时刷新,才能保持暂存的数据。内存有1%的时间要用来刷新 以下详细解释程序如何运作的 1、如下一段代码,编译机器码 2、开始运行操作程序
阅读全文
摘要:DRAM 即动态内存,其基本单位是由一个晶体管和一个电容器组成。请看下图: DRAM组成部分 图只是DRAM一个基本单位的结构示意图:电容器的状态决定了这个DRAM单位的逻辑状态是1还是0,但是电容的被利用的这个特性也是它的缺点。一个电容器可以存储一定量的电子或者是电荷。一个充电的电容器在数字电子中
阅读全文
摘要:定点小数的取值范围是怎么推算出来的? 今天看计算机组成原理课程的时候,看到定点小数的取值范围是-(1-2^-n)到(1-2^-n)。这是怎么推算出来的呢? 公式推导过程 一个数用(n+1)位存储,原码(反码)用掉一个符号位后,还有n位,如果小数点在最右边,此时表示的是整数,可表示 这些数,把小数点左
阅读全文
摘要:1.BitMap的应用 在网络同步中(尤其是帧同步),往往需要找一种数据在序列化之后,体积小,数据信息量可观的数据存储方式。 以帧同步为例,一个相当复杂的ACT游戏,采用同步交互量最省的帧同步方式进行网络同步,每关键帧只同步玩家的键位操作数据,此时如果使用BitMap算法进行数据结构的设计,只要1b
阅读全文
摘要:原文:https://www.taowong.com/blog/2018/07/10/principle-of-computer-float-num.html 1、精度丢失 作为程序员大家应该都遇到过下面这种情况,用浮点数做运算,发现结果与预期有偏差,比如下面的JAVA代码 public stati
阅读全文
摘要:1、如何将浮点数转换成二进制呢? 简单概括起来,同样也是一句话: 整数部分依旧采用“除2取余,逆向取值”的方法;而小数部分则乘2取整,直到余下的小数为0或者满足精度要求为止,然后顺序取值(即最先得到的整数为最高位,最后得到的整数为最低位)。 比如:58.625 所以,最终结果就是:11 1010.1
阅读全文
摘要:设计模式的六大原则(SOLID) 总原则——开闭原则(Open Closed Principle) 一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护
阅读全文
摘要:在WPF , silverlight ,WP7中经常会用到List<T>和ObservableCollection<T>。这里简单讲一下他们之间的相互转换。 1.List<T>的简单介绍: List<T>代表的是强类型的Ojbect集合,可以通过索引访问并且提供了查找、排序以及操作此集合的方法。Li
阅读全文
摘要:概览 总结 如果使用C#语言,其事件和委托本身就是观察者模式的基本实现。除此之外,属性修改通知以及属性依赖等也是观察者模式的用途之一,在WinForm或者WPF中,通常将集合类控件,绑定到集合上,当集合数据发生变化时,绑定的控件能够得到通知,并且能够自动刷新界面。 在C#中使用观察者模式,除了常用的
阅读全文
摘要:原文地址:https://www.cnblogs.com/junbird-nest/archive/2012/10/08/2715601.html TextBlock和Label都是用来显示少量数据的。好多文章对Label存在的描述都是它允许使用"快速获取"。"快速获取"就是允许你用Alt加上其它的
阅读全文
摘要:作的原理是将数组分到有限数量的桶子里。 每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。 桶排序是鸽巢排序的一种归纳结果。 当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射
阅读全文
摘要:视频地址:https://www.bilibili.com/video/BV1464y1F7Yx/?spm_id_from=autoNext 计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。计数排序(C
阅读全文
摘要:背景 计算机系统中经常会遇到这样一类问题:前一个任务已经执行完成,需要在待执行任务中挑选一个新的任务执行。最简单的方法就是将所有的任务排成一个队列,按照队列的先进先出(FIFO)的策略挑选要执行的任务。这种策略虽然保证了所有的任务都能被执行,但是往往会导致执行时间短的或者紧急度高的任务在队列中等待时
阅读全文
摘要:System.Collections.Generic 集合和数据结构 接口 ADT IEnumerable 和IEnumberator public interface IEnumerator { bool MoveNext(); object Current { get; } void Reset
阅读全文
摘要:简介 HashSet<T>类,主要被设计用来存储集合,做高性能集运算,例如两个集合求交集、并集、差集等。HashSet<T> 类可以视为 Dictionary<TKey,TValue> 没有值的集合。 特性: 1.HasSet 中的值不能重复 2.HashSet中的值没有顺序 3.HashSet的容
阅读全文
摘要:定义 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlo
阅读全文
摘要:定义 归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 若将两个有序表合并成一个有序表,称为二路归并。 O ( n log
阅读全文
摘要:一、枚举算法思想(暴力算法) 将问题的所有可能答案一一列举,根据判断条件判断此答案是否合适,一般用循环实现。 经典运用:百钱买百鸡、填写运算符 二、递推算法思想 1.顺推法:从已知条件出发,逐步推算出要解决问题的方法。 2.逆推法:从已知结果出发,用迭代表达式逐步推算出问题开始的条件,即顺推法的逆过
阅读全文
摘要:原文:https://lotabout.me/2018/skip-list/ 跳表──没听过但很犀利的数据结构 跳表(skip list) 对标的是平衡树(AVL Tree),是一种 插入/删除/搜索 都是 O(log n) 的数据结构。它最大的优势是原理简单、容易实现、方便扩展、效率更高。因此在一
阅读全文
摘要:概览 定义 堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。 完全二叉树的知识 数组索引是从0开始 通常堆是通过一维数组来实现的。在阵列起始位置为0的情形中:父节点i的
阅读全文
摘要:概览 定义 选择排序:每一趟在待排序元素中选取关键字最小(或最大)的元素, 和首个待排序元素的做交换。 适用范围 适用性:既可以用于顺序表,也可用开链表 时间和空间复杂度 时间复杂度:O(N) 空间复杂度:O(1) 稳定性 简单选择排序是不稳定的 算法执行步骤 第一趟:从左往右扫描找出最小元素,和第
阅读全文
摘要:概览 定义 快速排序(英语:Quicksort),又称分区交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R.Hoare在1960年提出。它的基
阅读全文
摘要:概览 定义 冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”
阅读全文
摘要:概览 算法的思想 穷举(枚举)算法思想; 递推算法思想; 递归算法思想: 分治算法思想: 概率算法思想; 算法分类 按辅助空间分类 比较式排序法 比较排序法不需要太多的辅助空间 之前学习的冒泡、选择、插入、归并、快速、希尔、堆排序,都是基于比较的排序口平均时间复杂度目前最低是o(nlogn) 分配式
阅读全文
摘要:背景 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。 希尔排序是非稳定排序算法。 该方法因D.L.Shell 于1959 年提出而得名。 定义 希尔排序︰先将待排序表分割成若
阅读全文
摘要:概览 插入排序法(打牌) 算法思想:每次将一个待排序的元素按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。 例如:元素13要排序时候,可以认为13之前元素都已经排序完成,此时只要把13与之前元素一 一比较,然后找到合理位置插入。 代码 空间复杂度:(O(1)时间复杂度︰ O(n)~
阅读全文
摘要:概览 分块查找 分块查找要求把一个数据分为若干块,每一块里面的元素可以是无序的,但是块与块之间的元素需要是有序的。对于一个非递减的数列来说,第i块中的每个元素一定比第i-1块中的任意元素大。同时,分块查找需要一个索引表,用来限定每一块的范围。在增加、删除、查找元素时都需要用到。 使用场景 字典 班级
阅读全文
摘要:概览 概念 折半查找,又称“二分查找”,仅适用于有序的顺序表。可以用跳表来实现有序的链表的二分查找的功能 查找效率 圆形:节点 矩形:null 判定树 二分查找的判定树是平衡二叉树 二分查找过程可用二叉树来描述:把当前查找区间的中间位置上的结点作为根,左子表和右子表中的结点分别作为根的左子树和右子树
阅读全文
摘要:概览 查找算法相关的概念 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 查找算法分类: 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。 2)无序查找和有序查找。 无序查找:被查找数列有序无序均可; 有序
阅读全文
摘要:概览 顺序查找 顺序查找的定义为:在一个已知无序(或有序)的队列中找出与给定的关键字相同的数的具体位置。 其原理是让关键字与队列中的数从开始一个一个地往后逐个比较,直到找到与给定的关键字相同的数。 当然,顺序查找绝不仅限于对数字、字符的查找,也适用于前缀、对象信息的关键信息的匹配等。 顺序查找算法的
阅读全文
摘要:概览 概念 最小生成树是一副连通加权无向图中一棵权值最小的生成树。 在一给定的无向图 G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即 ( u , v ) ∈ E {\displaystyle (u,v)\in E} ),而 w(u, v) 代表此边的权重,若存在 T
阅读全文
摘要:概览 图(Graph)涉及到的概念 连通图 无向图中,如果任意两个顶点之间都能够连通,则称此无向图为连通图。例如,图 2 中的无向图就是一个连通图,因为此图中任意两顶点之间都是连通的。 连通分量 若无向图不是连通图,但图中存储某个子图符合连通图的性质,则称该子图为连通分量。如图 3 所示,虽然图 3
阅读全文
摘要:视频地址6.5图的基本操作 - YouTube 基本操作概览 由于考研不考XX,所以重点介绍邻接表和邻接表 此外,还有图的遍历算法,包括深度优先遍历和广度优先遍历。 Adjacent(G,x,y):判断图G是否存在边<x, y>或(x, y)。 Neighbors(G,x):列出图G中与结点x邻接的
阅读全文
摘要:视频地址6.4十字链表、邻接多重表 - YouTube 概览 十字链表用于有向图 结构设计 顶点和边节点的设计如下: 空间复杂度 o(IVI+IEI) 如何找到指定顶点的所有出边?――顺着绿色线路找 如何找到指定顶点的所有入边?―一顺着橙色线路找 邻接多重表存储无向图 优点:方便删除边,删除一次就可
阅读全文
摘要:使用图结构表示的数据元素之间虽然具有“多对多”的关系,但是同样可以采用顺序存储,也就是使用数组有效地存储图。 使用数组存储图时,需要使用两个数组,一个数组存放图中顶点本身的数据(一维数组),另外一个数组用于存储各顶点之间的关系(二维数组)。 存储图中各顶点本身数据,使用一维数组就足够了;存储顶点之间
阅读全文
摘要:视频地址6.3邻接表法 - YouTube 概览 图的邻接表存储法详解 图的顺序存储结构 图的十字链表存储法 通常,图更多的是采用链表存储,具体的存储方法有 3 种,分别是邻接表、邻接多重表和十字链表。 本节先讲解图的邻接表存储法。邻接表既适用于存储无向图,也适用于存储有向图。 在具体讲解邻接表存储
阅读全文
摘要:多路查找树的背景 数组、堆、栈,链表、队列、二叉树,它们适用于较小的文件,是应用在内存中的数据结构。而对于较大的、存放在外存储器上的文件就不合适了,对于此类大规模的文件,即使是采用了平衡二叉树,在查找效率上仍然较低。 如果要操作的数据集非常大,大到内存已经没办法处理了,这种情况下,对数据的处理需要不
阅读全文
摘要:阅读本章需要知识储备 二叉查找树 多路查找树 B树 B+树的背景 由于B树非终端节点存储了除了关键字,还存储了数据库的指针,所以导致b树的效率高。所以为了改进效率,就讲让非终端节点只存储关键字,于是就有了B+树。 B+树 视频地址7.7B+树 - YouTube B+ 树是一种树数据结构,通常用于数
阅读全文
摘要:概览 一、引言 散列表(Hash Table),哈希表是一种组合的数据结构,特点是:数据元素的关键字与其存储地址直接相关,它通常的实现方式是数组加链表,或者数组加红黑树。哈希表是一种牺牲空间去换取时间的数据结构,需要在空间与时间上有取舍,哈希表是时间和空间之间的平衡。哈希表的核心是哈希函数,哈希表最
阅读全文
摘要:视频地址:7.5B树 - YouTube 阅读本章需要知识储备 二叉查找树 多路查找树 B树诞生背景 由于多差查找树会导致不平衡,让查找效率不搞,因此就设置一套平衡机制来提高多叉树的查找效率,这就有了B树。B树是二叉搜索树的扩展。用空间复杂度换取时间复杂度。二叉搜索树是在内存中内存空间有限,而cpu
阅读全文
摘要:视频地址:2022考研计算机王道数据结构考点冲刺00 红黑树的定义和性质【新考点】 - YouTube 需要的知识储备 1、2-3-4树中翻转的概念 2、平衡二叉树中旋转的概念,请点击阅读平衡二叉树 3、二叉搜索树的概念,请点击阅读二叉搜索树 辅助理解的工具网站:Red/Black Tree 红黑树
阅读全文