其他

3.冲突处理

3.冲突处理

2.哈希函数

哈希函数 目标: 极快且稳定 特点: 确定性/幂等性: 对于相同的输入,哈希算法应始终产生相同的输出。这样才能确保哈希表是可靠的。 效率高: 计算哈希值的过程应该足够快,哈希表的实用性越高。 均匀分布: 哈希算法应使得键值对均匀分布在哈希表中。分布越均匀,哈希冲突的概率就越低。 常见的哈希算法: MD5 SHA-1、SHA-2、SHA-3 CRC16、CRC32 注意点:

2.二叉树

二叉树 Binary Tree: 1.特点: 一种非线性数据结构,代表“祖先”与“后代”之间的派生关系 二叉树的基本单元是节点,每个节点至少包含值、左子节点引用和右子节点引用 二叉树中,除叶节点外,其他所有节点都包含子节点和非空子树 2.概念: 名词 解释 根节点(root node) 位于二叉树顶层的节点,没有父节点。 叶节点(leaf node) 没有子节点的节点

5.多路查找树

多路查找树 2-3树 2-3-4树 B树 B+树 多叉树: 树的每个节点可以有超过2个子节点 举例:2-3树、2-3-4树、B树、B+树 概念: 阶数(Order),对于一颗M阶B树,一个节点最多包含M个子节点 B树(Balanced Tree): B树是多路平衡查找树的一种特殊类型 B 是Balance的意思 M阶B树 特点: 每个节点最多包含M个子节点。 根节点至少包含 2 个

4.红黑树

红黑树 红黑树是一种自平衡的二叉查找树,属于AVL平衡树的一种特殊形式 特征: 每个节点要么是红色,要么是黑色。 根节点是黑色。 每个叶子节点(NIL)是黑色。 如果一个节点是红色,则其两个子节点必须是黑色。 从任一节点到其每个叶子的所有路径,都包含相同数目的黑色节点。 红黑树的这5条性质,使得一棵n个结点是红黑树始终保持了logn的高度 解决了AVL树的什么问题: AVL的左右子树高

3.AVL平衡树

AVL平衡树 特征: AVL 树既是二叉搜索树,也是平衡二叉树,同时满足这两类二叉树的所有性质 AVL 树是一种平衡二叉搜索树 属性: 节点高度 节点平衡因子:节点左子树的高度减去右子树的高度,空节点的平衡因子为0 AVL 树旋转: 作用: AVL 树的特点在于“旋转”操作,它能够在不影响二叉树的中序遍历序列的前提下,使失衡节点重新恢复平衡 旋转操作既能保持“二叉搜索树”的性质,也能使

1.树

树 在树中,数据从顶部向下按层次排列,表现出“祖先”与“后代”之间的派生关系 树结构是一种非线性存储结构,存储的是具有一对多关系的数据元素 树的分类: 树 二叉树 按树的结构: 满二叉树 完满二叉树 完全二叉树 按搜索功能: 查找:(索引) 二叉查找树(BST) 非平衡查找树 平衡树二叉树 AVL树: 红黑树 排序:(优先队列) 堆(完全二叉树的应用) 大顶堆 小顶

6.堆

堆 定义:完全二叉树的一种特定应用 特征: 最底层节点靠左填充,其他层的节点都被填满(完全二叉树特性)。 根节点称为“堆顶”,将底层最靠右的节点称为“堆底”。 对于大顶堆(小顶堆),堆顶元素(根节点)的值是最大(最小)的。 堆分类: 小顶堆:任意节点的值≤其子节点的值 大顶堆:任意节点的值≥其子节点的值 堆的实现方案: 完全二叉树非常适合用数组来表示。由于堆正是一种完全二叉树,因此

1.思维导图

数据结构和算法 线性表 数组 链表 单链表 双向链表 循环链表 双向循环链表 静态链表 栈 顺序栈 链式栈 队列 普通队列 双端队列 阻塞队列 并发队列 阻塞并发队列 树 二叉树 平衡二叉树 AVL树 红黑树 完全二叉树 满二叉树 平衡二叉查找树 多路查找树 B树 B+树 2-3树 2-3-4树 堆 小顶堆 大顶堆 优先级队列 斐波那契堆 二项堆 线段树 树状数组

00.定义

定义 算法(algorithm) 是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性: 问题是明确的,包含清晰的输入和输出定义。 具有可行性,能够在有限步骤、时间和内存空间下完成。 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 数据结构(data structure) 是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具有以下设计目标:

0.学习路径

学习路径: 阶段一:算法入门 我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效率等方面的内容。 阶段二:刷算法题 建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。 阶段三:搭建知识体系 在

ex5.4

linprog from scipy.optimize import linprog c=[0,0,3,2] A=[[-1,-1,0,0],[0,0,-1,-1],[3,0,2,0],[0,3,0,2],[100,90,80,70]] b=[[-30],[-30],[120],[48],[10000]] LB=[0]len(c) UB=[None]len(c) bound=tuple(zip(L

2.参考书籍

labuladong hello-algo

实时渲染技术-实时渲染与一般渲染的区别

什么是3D渲染? 3D渲染是一种通过计算机软件将3D模型转化为图像的过程。它能够模拟光线照射在物体上所产生的阴影、反射、折射等效果,使得虚拟的3D场景看起来更加真实。3D渲染广泛应用于影视制作、游戏开发、建筑设计等领域。 实时渲染什么意思? 实时渲染是指在进行3D场景渲染时,计算机能够实时地将渲染结果呈现在屏幕上,使得用户能够实时地观察到场景中的变化。与传统的离线渲染相比,实时渲染具有更快的渲染

6,4

import numpy as np import pandas as pd import cvxpy as cp import networkx as nx import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Times New Roman + SimSun + WFM Sans SC'] plt.rcParams[

6,10

import networkx as nx import numpy as np Adjt = [(1,2,20), (1,5,15), (2,3,20), (2,4,60), (2,5,25), (3,4,30), (3,5,18), (5,6,15)] G = nx.Graph() G.add_nodes_from(range(1, 7)) G.add_weighted_edges_from(

3DCAT亮相2024中国国际消费电子博览会,引领AI潮流

2024年10月18日-20日,备受瞩目的2024中国国际消费电子博览会(以下简称“电博会”)在青岛国际会展中心(红岛馆)盛大开幕。作为消费电子领域的盛会,本次电博会吸引了国内外300多家企业参展,展示了消费电子领域的最新技术和产品。 图源官方 瑞云科技作为受邀参展企业之一,展示了其最新的3DCAT XR实时云渲染及AI多模态大模型解决方案。瑞云科技凭借其在视觉云计算服务领域的深厚

piclist

piclist 下载地址:https://github.com/Kuingsmile/PicList 食用方法: 参考官方文档

github_action

github action 踩坑记录 问题一:工作流互相触发异常的 主要任务: 使用【自动生成工作流】通过定时任务触发,生产内容并推送到分支 使用【构建工作流】通过push事件监听,将新生产的内容构建成待发布内容 使用【pages发布工作流】将构建好的内容发布到Pages 遇到的问题: 1号工作流执行完成后,不会自动触发2号工作流进行build 1号工作流的定时触发配置: ``` # 触发

09.索引结构

基础: 索引中的数据页的编号不一定连续,也就是说这些页在存储空间里可能并不挨着 B+树中相同层次的数据页通过页结构的File Header 中的FIL_PAGE_PREV和FIL_PAGE_NEXT,组成双向循环链表 每个数据页内部会维护页目录,通过分组的方式将所有用户记录分组 每个数据页内部记录之间通过next_record连接,next_record记录的是下一个记录的偏移位置 存储用户记录

03.事务隔离级别

事务: 事务:就是要保证一组数据库操作,要么全部成功,要么全部失败 事务的特性:ACID,原子性、一致性、隔离性、持久性 mysql事务是由引擎提供的支持,MyISAM 引擎就不支持事务 多事务同时执行可能会出现的问题:脏写、脏读、不可重复读、幻读 脏读:在一个事务内读到了另一个未提交事务修改过的数据 不可重复读:在一个事务内多次读取同一个数据,由于其他事务的提交,导致出现前后两次读到的数据不

06.全局锁、表锁、行锁

Mysql中的锁 全局锁:对整个数据库实例加锁 全库逻辑备份: 针对MyISAM做全库逻辑备份,只能用FTWRL方式,在备份时不能更新 补充:MyISAM这种不支持事务的引擎,如果备份过程中有更新,总是只能取到最新的数据,破坏了数据一致性 针对innodb备份,可以使用mysqldump –single-transaction 在备份时可以更新 补充:通过启动一个事务来确保拿到一致性视图

08.数据页结构

基础: 页是InnoDB管理存储空间的基本单位,一个页的大小一般是16KB 数据页(索引页)是页的一种,用来组织和和存放用户数据 索引页之间通过双向链表连接,数据页的物理结构不连续 数据页的详细结构: 数据页组成: |名称|中文名|占用空间大小|简单描述| |:—-|:—-|:—-|:—-| |File Header|文件头部|38字节|页的一些通用信息| |Page Header|页面头部

19.常见云数据库选型

数据库: 数据库 描述 mysql TiDB Aurora PolarDB TDSQL MongoDB OpenSearch clickhouse RocksDB 行存储数据库 特性/数据库 TiDB Amazon Aurora PolarDB Tencent TDSQL 数据库类型 分布式关系数据库

14.性能优化-explain优化器决策结果

explain结果列说明: explain 列名 描述 id 在一个大的查询语句中每个SELECT关键字都对应一个唯一的id select_type SELECT关键字对应的那个查询的类型 table 表名 partitions 匹配的分区信息 type 针对单表的访问方法 possible_keys 可能用到的索引 key 实际上使用的索引 key_le

16.缓冲池-BufferPool

buffer pool 常识: Buffer Pool 是一片连续的内存空间,通过innodb_buffer_pool_size在服务器运行过程中调整buffer pool大小,默认为128MB Free Page(空闲页),此页未被使用,位于 Free 链表; Clean Page(干净页),此页已被使用,但是页面未发生修改,位于 LRU 链表。 Dirty Page(脏页),表示此页已被使用

01.Mysql逻辑架构

mysql逻辑架构图 图片 MySQL从架构角度可以分为: Server层: 该层实现所有跨存储引擎的功能。e.g. 存储过程、触发器、视图等 连接器: 职责:连接器负责跟客户端建立连接、获取权限、维持和管理连接 查看当前的连接状态: show processlist 连接: 生命周期:一个用户成功建立tcp连接后,该连接生效直到连接断开(修改用户权限,也不会影响已经存在连

18.主从同步

主从复制 MySQL 集群的主从复制过程梳理成 3 个阶段: 写入 Binlog:主库写 binlog 日志,提交事务,并更新本地存储数据。 同步 Binlog:把 binlog 复制到所有从库上,每个从库把 binlog 写到暂存日志中。 回放 Binlog:回放 binlog,并更新存储引擎中的数据。 具体详细过程如下: MySQL 主库在收到客户端提交事务的请求之后,会先写入 bin

13.连表查询-join

连接的本质: 把各个连接表中的记录都取出来依次匹配的组合加入结果集并返回给用户 示意图: 图片 连接的类型: 根据驱动表中的记录在被驱动表中无匹配时,是否加入到最后的结果集分为: 内连接INNER JOIN:不加入结果集 外连接:加入结果集 根据驱动表选择分为: 左外连接 LEFT JOIN:选取左侧的表为驱动表 右外连接 RIGHT JOIN:选取右侧的表为驱动表 条件过滤

<<  <  25  26  27  28  29  30  31  32  33  34  35  >  >>