逐灵&木苏-阿里巴巴 K8S 超大规模实践经验
曾凡松、汪萌海 阿里云云原生应用平台 阿里巴巴 k8s 超大规模实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •曾凡松(逐灵),当前主要负责 k8s 在阿里巴巴场景中的规模化落地,将 k8s 应用于阿里最核心的业务,帮助客 户以云原生的方式管理应用并获得效率、 稳定性及成本的改善。 •汪萌海(木苏),经历了阿里巴巴集团 集群调度从自研 sigma 系统迁移到0 码力 | 33 页 | 8.67 MB | 5 月前3Hello 算法 1.1.0 C++ 版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 144 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 379 页 | 18.47 MB | 1 年前3Hello 算法 1.1.0 C#版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 143 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.1.0 Dart版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 143 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 378 页 | 18.45 MB | 1 年前3Hello 算法 1.1.0 Go版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历 1. 代码实现 广度优0 码力 | 383 页 | 18.48 MB | 1 年前3Hello 算法 1.1.0 Java版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 142 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.1.0 JavaScript版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 142 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 379 页 | 18.46 MB | 1 年前3Hello 算法 1.1.0 Kotlin版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 第 7 章 树 hello‑algo.com 142 图0 码力 | 381 页 | 18.47 MB | 1 年前3Hello 算法 1.1.0 Python版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 136 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 364 页 | 18.42 MB | 1 年前3Hello 算法 1.1.0 Swift版
,通过函数调用自身来解决问题。它主要包含两个阶段。 1. 递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。 2. 归:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。 而从实现的角度看,递归代码主要包含三个要素。 1. 终止条件:用于决定什么时候由“递”转“归”。 2. 递归调用:对应“递”,函数调用自身,通常输入更小或更简化的参数。 双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的内存空间效率,而链表则在内存使用上更加灵 活。 ‧ 缓存通过缓存行、预取机制以及空间局部性和时间局部性等数据加载机制,为 CPU 提供快速数据访问, 所示,层序遍历(level‑order traversal)从顶部到底部逐层遍历二叉树,并在每一层按照从左到右的 顺序访问节点。 第 7 章 树 hello‑algo.com 142 层序遍历本质上属于广度优先遍历(breadth‑first traversal),也称广度优先搜索(breadth‑first search, BFS), 它体现了一种“一圈一圈向外扩展”的逐层遍历方式。 图 7‑9 二叉树的层序遍历0 码力 | 379 页 | 18.47 MB | 1 年前3
共 246 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25