MoonBit月兔编程语言 现代编程思想 第十课 哈希表与闭包现代编程思想 哈希表与闭包 Hongbo Zhang ## 回顾 ## · 表 键值对的集合,其中键不重复 简单实现:二元组列表 - 添加时向队首添加 - 查询时从队首遍历 树实现:二叉平衡树 - 基于第五节课介绍的二叉平衡树,每个节点的数据为键值对 - 对树操作时比较第一个参数 ## 哈希表 - 哈希函数/散列函数 Hash function ◦ 接口中,数据被映射到整数范围内 trait Hash { hash(Self) -> Int } ■ "这是一个非常非常长的字符串".hash() == -900478401 ## · 哈希表 ◦ 利用哈希函数,将数据映射到数组索引中,进行快速的添加、查询、修改 1. // 对于 a: Array[(Key, Value)], key: Key, value: Value 2. let 不同数据的哈希可能相同 不同的哈希映射为数组索引时可能相同 - 解决哈希表的冲突 ◦ 直接寻址(分离链接):同一索引下用另一数据结构存储 列表 二叉平衡搜索树等 ☐ 开放寻址 ■ 线性探查:当发现冲突后,索引递增,直到查找空位放入 ■ 二次探查(索引递增 $ 1^{2}2^{2}3^{2} $ )等 ## 哈希表:直接寻址 - 当发生哈希/索引冲突时,将相同索引的数据装进一个数据结构中0 码力 | 27 页 | 448.83 KB | 2 年前3
KiCad 5.1 Reference manual0 码力 | 27 页 | 327.91 KB | 2 年前3
KiCad 5.1 参考手册4.3.2 可选文件: Ⅰ 从版本 4 升级到版本 5 5 原理图符号库 5.1 全局符号库表。 5.2 符号库表映射 5.3 重新映射搜索顺序 5.4 符号名称和符号库昵称限制 6 符号缓存库可用性 7 板文件格式更改 7.1 全局封装库表。 ## 参考手册 ## Copyright 本文件是以下列出的贡献者的版权 dcm原理图元件库文档,包含一些元件描述:评论,关键字,数据表参考。 * _cache.lib 原理图元件库缓存文件,包含原理图工程中使用的元件的副本。 ## -lib-tablesym-lib-table 符号库列表(符号库表):原理图编辑器中可用的符号库列表。 封装库列表(封装库表):加载的封装库列表(各种格式)由板或封装编辑或CvPcb。 $ ^{*} $ 公共文件: $ ^{*} $
## * 公共文件:* *.kicad_wks 图框描述文件,适用于需要工作表的用户具有自定义外观。 * .net 由原理图创建的网表文件,由电路板编辑器读取。对于喜欢单独文件的用户,此文件与 .cmp 文件相关联 版本开始已经弃用,改为使用KICAD\_TEMPLATE\_DIR)。如果您使用此变量,则必须定义它。| |---|---| |KICAD\_SYMBOL\_DIR|符号库文件的基本路径。| |KIGITHUB|经常用于示例封装库表。如果您使用此变量,则必须定义它。| |KISYS3DMOD|3D 形状文件的基本路径,并且必须定义,因为通常不使用绝对路径。| |KISYSMOD|封装库文件夹的基本*.kicad_wks 图框描述文件,适用于需要工作表的用户具有自定义外观。 * 0 码力 | 25 页 | 652.84 KB | 2 年前3
KiCad 5.1 原理图编辑器顶级菜单栏 2.7 上方工具栏 2.8 右侧工具栏图标 2.9 左工具栏图标 2.10 弹出菜单和快速编辑 3 主菜单 3.1 文件菜单 3.2 首选项菜单 3.2.1 管理符号库表 3.2.1.1 添加一个新库 3.2.1.2 删除库 3.2.1.3 库属性 3.2.2 常规选项 ..... 17 3.2.2.1 显示 ..... 17 3.2.2.2 编辑 ..... 31 4.8 用于封装分配的导入工具 ..... 32 4.8.1 访问: ..... 32 5 管理符号库 ..... 33 5.1 符号库表 ..... 33 5.1.1 全局符号库表 ..... 34 5.1.2 项目特定符号库表 ..... 34 5.1.3 初始配置 ..... 35 5.1.4 添加表项 ..... 35 5.1.5 环境变量替代 分层原理图 49 7.1 简介 49 7.2 在层次结构中导航 50 7.3 本地、分层和全局标签 50 7.3.1 属性 50 7.4 层次结构创建摘要 51 7.5 工作表符号 51 7.6 连接 - 分层引脚 51 7.7 连接 - 分层标签 52 7.7.1 标签,分层标签,全局标签和隐形电源引脚 ..... 54 7.7.1.1 简单的标签 .....0 码力 | 162 页 | 3.04 MB | 2 年前3
KiCad 5.1 原理图编辑器PCB 设计软件的所有功能都在 Eeschema 本身内执行。 Eeschema 打算与 PcbNew 合作,后者是 KiCad 的印刷电路设计软件。它还可以导出网表文件,其中列出了其他软件包的所有电气连接。 Eeschema 包含一个符号库编辑器,可以创建和编辑符号并管理库。它还集成了现代原理图捕获软件所需的以下附加但必不可少的功能: • 电气规则检查(ERC),用于自动控制错误和缺失的连接 - >Ctrl+L 添加连接点 J 添加无连接标志 Q 添加表 S 添加电线入口 Z 添加总线入口 / 添加图形 打开打印对话框。 将复制/剪切的项目或块粘贴到当前工作表。 撤消:还原最后一次更改。 重做:还原最后一次撤消操作。 显示在原理图中搜索符号和文本的对话框。 显示用于搜索和替换原理图中文本的对话框。 刷新屏幕;缩放以适应。 放大和缩小。 查看和导航层次结构树。 保留当前工作表并进入层次结构中。 调用符号库编辑器以查看和修改库和符号。 浏览符号库。 注释符号。 电气规则检查器(ERC),自动验证电气连接。 0 码力 | 248 页 | 2.00 MB | 2 年前3
KiCad 7.0 原理图编辑器.... 83 生成输出 ..... 86 打印.....86 绘制.....87 生成物料清单.....88 生成网表.....91 符号和符号库.....98 管理符号库.....98 创建和编辑符号.....100 浏览符号库.....124 仿真器.....125 Value notation.....125 分配模型.....126 SPICE 131 Running simulations.....132 高级主题.....141 配置和定制.....141 文本变量.....141 数据基础库.....143 自定义网表和 BOM 格式.....146 操作参考.....162 原理图编辑器.....162 通用.....168 ## 参考手册 NOTE 本手册正在修订中,以涵盖KiCad的最新稳定发 设计软件的所有功能都在编辑器本身中进行。 KiCad 原理图编辑器旨在与 KiCad PCB 编辑器合作,后者是 KiCad 的印刷电路设计软件。它还可以为其他软件包输出网表文件,其中列出了所有的电气连接。 原理图编辑器包括一个符号库编辑器,它可以创建和编辑符号并管理库。它还集成了现代原理图设计软件所需的以下额外但基本的功能: • 电气规则检查(ERC),用于自动控制错误和缺失的连接 - 以多种0 码力 | 175 页 | 18.32 MB | 2 年前3
KiCad 5.1 参考手册lib|原理图元件库文件,包含元件描述:图形形状,引脚,字段。| |\*.dcm|原理图元件库文档,包含一些元件描述:评论,关键字,数据表参考。| |\*.cache.lib|原理图元件库缓存文件,包含原理图工程中使用的元件的副本。| |sym-lib-table|符号库列表(符号库表):原理图编辑器中可用的符号库列表。| ## 板编辑器文件和文件夹: *.kicad_pcb 板文件,包含除图框之外的所有信息。 *.pretty r>fp-lib-table 封装库列表(封装库表):加载的封装库列表(各种格式)由板或封装编辑或CvPcb。 0 码力 | 39 页 | 224.13 KB | 2 年前3
KiCad 8.0 原理图编辑器91 绘图 ..... 91 Generating a bill of materials ..... 93 生成网表 ..... 98 符号和符号库 ..... 105 管理符号库 ..... 105 创建和编辑符号 ..... 108 浏览符号库 ..... 133 仿真器 ..... 134 值的表示 ..... 134 分配模型 ..... 135 SPICE ..... 153 配置和定制 ..... 153 文本变量 ..... 153 数据库关联库文件 ..... 154 HTTP Libraries ..... 159 自定义网表和 BOM 格式 ..... 160 操作参考 ..... 175 原理图编辑器 ..... 175 通用 ..... 182 ## 参考手册 NOTE 本手册正在修订中,以涵盖KiC 编辑器功能都在原理图编辑器中进行。 KiCad 原理图编辑器旨在与 KiCad PCB 编辑器协同,后者是 KiCad 的印刷电路设计软件。它还可以为其他软件包输出网表文件,网表列出了所有的电气连接。 原理图编辑器包括一个符号库编辑器,它可以创建和编辑符号并管理库。它还集成了现代原理图设计软件所需的额外但基本的功能: - 电气规则检查(ERC),用于自动查找错误和缺失的连接 - 以多种格式0 码力 | 190 页 | 10.16 MB | 2 年前3
KiCad 7.0 快速入门 支持 ..... 2 基本概念和工作流程 ..... 3 PCB 设计工作流程 ..... 5 教程第一部分:工程 ..... 6 教程第 2 部分:原理图 ..... 8 符号库表设置 ..... 8 原理图编辑器基础知识 ..... 8 原理图图框设置 ..... 9 将符号添加到原理图中 ..... 10 选择和移动对象 ..... 12 为原理图布线 放置敷铜 ..... 28 设计规则检查 ..... 30 3D 查看器 ..... 32 制造输出 ..... 33 教程第 4 部分:自定义符号和封装 ..... 36 库和库表的基础知识 ..... 36 创建新的全局库或工程库 ..... 37 新建符号 ..... 37 新建封装 ..... 39 链接符号、封装和 3D 模型 ..... 46 今后的发展方向 部分:原理图 ## 符号库表设置 第一次打开原理图编辑器时,会出现一个对话框询问如何配置全局符号库表。符号库表告诉 KiCad 要使用哪些符号库以及它们的位置。如果你已经安装了 KiCad 的默认库,建议你选择默认选项。复制默认的全局符号库表(推荐)。 如果 KiCad 无法在其预期的安装位置找到库,该选项将被禁用。在这种情况下,用户应该选择第二个选项,复制自定义全局符号库表。点击底部的文件夹按钮,并浏览到下面给出的位置。选择0 码力 | 51 页 | 2.90 MB | 2 年前3
KiCad 8.0 快速入门KiCad Version 8 下载和安装 KiCad 2 支持 2 基本概念和工作流程 3 PCB 设计工作流程 5 教程第一部分:工程 6 教程第 2 部分:原理图 8 符号库表设置 8 原理图编辑器基础知识 8 原理图图框设置 9 将符号添加到原理图中 10 选择和移动对象 11 为原理图布线 12 批注、符号属性和封装 14 电气规则检查 16 绘制电路板边框 24 放置封装 25 布线 27 放置敷铜 29 设计规则检查 31 3D 查看器 33 制造输出 34 教程第 4 部分:自定义符号和封装 37 库和库表的基础知识 37 创建新的全局库或工程库 38 新建符号 38 新建封装 40 链接符号、封装和 3D 模型 47 今后的发展方向 50 更多学习资源 50 帮助改进 KiCad 部分:原理图 ## 符号库表设置 第一次打开原理图编辑器时,会出现一个对话框询问如何配置全局符号库表。符号库表告诉 KiCad 要使用哪些符号库以及它们的位置。如果你已经安装了 KiCad 的默认库,建议你选择默认选项。复制默认的全局符号库表(推荐)。 如果 KiCad 无法在其预期的安装位置找到库,该选项将被禁用。在这种情况下,用户应该选择第二个选项,复制自定义全局符号库表。点击底部的文件夹按钮,并浏览到下面给出的位置。选择0 码力 | 52 页 | 2.93 MB | 2 年前3
共 896 条
- 1
- 2
- 3
- 4
- 5
- 6
- 90













