MoonBit月兔编程语言 现代编程思想 第十课 哈希表与闭包现代编程思想 哈希表与闭包 Hongbo Zhang 1 回顾 表 键值对的集合,其中键不重复 简单实现:⼆元组列表 添加时向队⾸添加 查询时从队⾸遍历 树实现:⼆叉平衡树 基于第五节课介绍的⼆叉平衡树,每个节点的数据为键值对 对树操作时⽐较第⼀个参数 2 哈希表 哈希函数/散列函数 Hash function 将任意⻓度的数据映射到某⼀固定⻓度的数据 在⽉兔的 Hash Hash 接⼝中,数据被映射到整数范围内 trait Hash { hash(Self) -> Int } "这是⼀个⾮常⾮常⻓的字符串".hash() == -900478401 哈希表 利⽤哈希函数,将数据映射到数组索引中,进⾏快速的添加、查询、修改 1. // 对于 a: Array[(Key, Value)], key: Key, value: Value 2. let index 解决哈希表的冲突 直接寻址(分离链接):同⼀索引下⽤另⼀数据结构存储 列表 ⼆叉平衡搜索树等 开放寻址 线性探查:当发现冲突后,索引递增,直到查找空位放⼊ ⼆次探查(索引递增 )等 4 哈希表:直接寻址 当发⽣哈希/索引冲突时,将相同索引的数据装进⼀个数据结构中 例:添加0、5(哈希值分别为0、5)⾄⻓度为5的数组中时: 0 5 5 哈希表:直接寻址 哈希表结构 10 码力 | 27 页 | 448.83 KB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alphainline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . . . . . . . . 285 7.6 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中? . . . 285 7.7 ShardingSphere 除了支持自带的分布式自增主键之外,还能否支持原生的自增主键? . . 286 vii 7.8 指 定 Comparable”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 7.11 使用 Proxool 时分库结果不正确? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 7.12 ShardingSphere 提供的默认分布式自增主 7.18 服务启动时如何加快 metadata 加载速度? . . . . . . . . . . . . . . . . . . . . . . . . 290 7.19 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN AND、>、<、>=、<=)? 290 7.20 为什么配置了某个数据连接池的 spring‐boot‐starter(比如 druid)和 shardingsphere‐0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0. . 22 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 数据节点 . . [分片] inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . 290 7.7.10 10. [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分 片规则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 7.7.13 13. [分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN AND、 >、<、>=、<=)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2. . 27 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 数据节点 . . 9 [分片] inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . 318 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片 规则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 . . . 318 7.8.12 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 318 7.8.13 [分片] ShardingSphere0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0. . 27 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 数据节点 . . 9 [分片] inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . 302 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片 规则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 . . . 303 7.8.12 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 303 7.8.13 [分片] ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1. . 27 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 数据节点 . . 9 [分片] inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . 306 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片 规则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 . . . 307 7.8.12 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 307 7.8.13 [分片] ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0. 17 3.1.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 数据节点 . . 8.3.2 分片 inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 424 8.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 8.3.5 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 424 8.3.6 分片 ShardingSphere0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档. 21 8.1.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 数据节点 . . spring‐ boot 自动加载默认的 JtaTransactionManager? . . . . . . . . . . . . . . . . . . 531 13.1.2 JDBC Oracle 表名、字段名配置大小写在加载 metadata 元数据时结果不正确? 531 13.1.3 JDBC 使用 MySQL XA 事务时报 SQLException: Unable to unwrap to 3.2 分片 inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 534 13.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 557 页 | 4.61 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1. 21 8.1.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 数据节点 . . 4.2 分片 inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 508 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 13.4.5 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 509 13.4.6 分片 ShardingSphere0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2. 21 8.1.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 数据节点 . . 分片 inline 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 487 xi 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 13.4.5 [分片、PROXY] 实现 StandardShardingAlgorithm 自定义算法时,指定 了 Comparable 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 . . . . 488 13.4.6 分片 ShardingSphere0 码力 | 508 页 | 4.44 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













