积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(73)Python(19)前端开发(16)ORM(11)Go(9)Java(8)C++(8)Swift(7)JavaScript(6)C#(6)

语言

全部中文(简体)(63)英语(13)中文(繁体)(13)

格式

全部PDF文档 PDF(83)其他文档 其他(6)
 
本次搜索耗时 0.049 秒,为您找到相关结果约 89 个.
  • 全部
  • 后端开发
  • Python
  • 前端开发
  • ORM
  • Go
  • Java
  • C++
  • Swift
  • JavaScript
  • C#
  • 全部
  • 中文(简体)
  • 英语
  • 中文(繁体)
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 MoonBit月兔编程语言 现代编程思想 第五课 数据类型:树、二叉树、二叉搜索树、AVL树

    为了避免这种情况的发⽣,我们采⽤平衡树:任意节点的⼦树的⾼度相差⽆⼏ 平衡树⾼度约为 ⼆叉平衡树有AVL Tree、⼆三树、红⿊树等多种实现 24 ⼆叉平衡树 AVL Tree 当树发⽣不平衡的时候,需要进⾏旋转来再次获得平衡 根据⼦树⾼度进⾏重新排列,使⾼度更⾼的⼦树处在较浅的位置 AVL树在每次插⼊、删除后都进⾏调整,维持树的平衡 插⼊、删除操作类似于标准⼆叉搜索树 为⽅便维护,在节点中添加⾼度属性 left: AVLTree, right: AVLTree) -> AVLTree 6. fn height(tree: AVLTree) -> Int 25 ⼆叉平衡树 AVL Tree 26 ⼆叉平衡树 AVL Tree 我们对⼀棵树进⾏再平衡操作 1. fn balance(left: AVLTree, z: Int, right: AVLTree) -> AVLTree { 2 Empty => ... 7. } 8. } 28 总结 本章节我们学习了树这⼀数据结构,包括 树的定义及相关术语 ⼆叉树的定义以及遍历 ⼆叉搜索树的定义以及增删操作 ⼆叉平衡树AVL树的再平衡操作 拓展阅读 《算法导论》第12、13章 29
    0 码力 | 29 页 | 1015.26 KB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Java版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 186 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Swift版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6. 散列表 hello‑algo.com 91 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 190 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Python版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 178 页 | 14.67 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 C++版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6. 散列表 hello‑algo.com 89 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 187 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Golang版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6. 散列表 hello‑algo.com 87 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 190 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 JavaScript版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 185 页 | 14.70 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 TypeScript 版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.5. 小结 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; 6. 散列表 hello‑algo.com 87 ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 186 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b2 Java版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.5. 小结 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 6. 散列表 hello‑algo.com 90 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 197 页 | 15.72 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b2 Swift版

    3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 7.5. 小结 局限性,包括: ‧ 占用空间变大,因为链表或二叉树包含结点指针,相比于数组更加耗费内存空间; ‧ 查询效率降低,因为需要线性遍历链表来查找对应元素; 为了提升操作效率,可以把「链表」转化为「AVL 树」或「红黑树」,将查询操作的时间复杂度优化至 ?(log ?) 。 6.2.3. 开放寻址 「开放寻址」不引入额外数据结构,而是通过“多次探测”来解决哈希冲突。根据探测方法的不同,主要分为 条件。与数组扩容的原理类似,哈希表扩容操作开销也很大。 ‧ 链式地址考虑将单个元素转化成一个链表,将所有冲突元素都存储在一个链表中,从而解决哈希冲突。 链表过长会导致查询效率变低,可以通过把链表转化为 AVL 树或红黑树来解决。 ‧ 开放寻址通过多次探测来解决哈希冲突。线性探测使用固定步长,缺点是不能删除元素且容易产生聚集。 多次哈希使用多个哈希函数进行探测,相对线性探测不容易产生聚集,代价是多个哈希函数增加了计算
    0 码力 | 199 页 | 15.72 MB | 1 年前
    3
共 89 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 9
前往
页
相关搜索词
MoonBit编程语言编程语言现代思想第五五课第五课数据类型数据类型二叉二叉树搜索AVLHello算法1.00b1JavaSwiftPythonC++GolangJavaScriptTypeScript0b2
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩