Hello 算法 1.1.0 Go版structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 第 2 章 复杂度分析 hello‑algo.com 21 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 hello‑algo.com 21 while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程。如果想要在某方面取得提升,往往需要在另一方面作出妥协。下面举 两个例子。 ‧ 链表相较于数组 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 hello‑algo.com 20 在 while 循环中,由于初始化和更新条件变量的步骤是独立在循环结构之外的,因此它比 for 循环的自由度 更高。 例如在以下代码中,条件变量 ? 每轮进行了两次更新,这种情况就不太方便用 for 循环实现。 // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版Structure」是计算机中组织和存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计目标包括: ‧ 空间占用尽量减少,节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 1. 初识算法 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程,这意味着要在某方面取得优势,往往需要在另一方面作出妥协。例如, 运行的程序很多并且缺少大量连续的内存空间,那么所选用的数据结构必须能够存储在离散的内存空间内。 「物理结构」反映了数据在计算机内存中的存储方式,可分为数组的连续空间存储和链表的离散空间存储。物 理结构从底层决定了数据的访问、更新、增删等操作方法,同时在时间效率和空间效率方面呈现出互补的特 点。 3. 数据结构 hello‑algo.com 40 Figure 3‑3. 连续空间存储与离散空间存储 所有数据结构都是基 []int{1, 3, 2, 5, 4} 访问与更新元素。由于列表的底层数据结构是数组,因此可以在 ?(1) 时间内访问和更新元素,效率很高。 // === File: list_test.go === /* 访问元素 */ num := list[1] // 访问索引 1 处的元素 /* 更新元素 */ list[1] = 0 // 将索引 1 处的元素更新为 0 在列表中添加、插入、删除元素0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 www.hello‑algo.com 21 while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Go 版作方法,它具 有以下設計目標。 第 1 章 初識演算法 www.hello‑algo.com 14 ‧ 空間佔用儘量少,以節省計算機記憶體。 ‧ 資料操作儘可能快速,涵蓋資料訪問、新增、刪除、更新等。 ‧ 提供簡潔的資料表示和邏輯資訊,以便演算法高效執行。 資料結構設計是一個充滿權衡的過程。如果想在某方面取得提升,往往需要在另一方面作出妥協。下面舉兩 個例子。 ‧ 鏈結串列相較於陣列 i <= n { res += i // 更新條件變數 i++ } return res } 第 2 章 複雜度分析 www.hello‑algo.com 21 while 迴圈比 for 迴圈的自由度更高。在 while 迴圈中,我們可以自由地設計條件變數的初始化和更新步 驟。 例如在以下程式碼中,條件變數 ? 每輪進行兩次更新,這種情況就不太方便用 for 迴圈實現: // === File: iteration.go === /* while 迴圈(兩次更新) */ func whileLoopII(n int) int { res := 0 // 初始化條件變數 i := 1 // 迴圈求和 1, 4, 10, ... for i <= n { res += i // 更新條件變數 i++ i *= 2 } return res } 總的來說,for0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.0.0b1 Golang版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 数据结构简介 hello‑algo.com 43 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都是基于数组、或链表、或两者组合实现的。例如栈和队列,既可以使用数组实现、也可以使用 4} 访问与更新元素。列表的底层数据结构是数组,因此可以在 ?(1) 时间内访问与更新元素,效率很高。 4. 数组与链表 hello‑algo.com 56 // === File: list_test.go === /* 访问元素 */ num := list[1] // 访问索引 1 处的元素 /* 更新元素 */ list[1] = 0 // 将索引 1 处的元素更新为 0 在0 码力 | 190 页 | 14.71 MB | 1 年前3
2.1.1 Golang主动式内存缓存的优化探索之路通过本次分享,可以带来哪些收获? 难点攻克 第二部分 使用内存缓存 数据一致性如何保证? 一致性 01. 缓存如何保证更新,如何与数据库同步 同步、更新 被动方式 缓存过期 定期同步 主动方式 监听数据变化 数据加载,更新 02. 全量数据加载,增量数据监听 • 每个应用服务分别消费数据变更消息 • 一个应用服务消费数据变更,应用服务集群内广播 式 数据存储 倒排更新过程 冷热数据交换后,DataManager中 部分数据可能交换到远端存储 本地没有数据实体,数据发生更新, 只知道变更后的新数据 根据新的数据可以构建出新的倒排关 系,旧的倒排关系应该如何正确的被 删除? 倒排更新过程 map[id][]Bitmap slice底层有指针 存储减少40% 再次减少20% 倒排更新过程Ex DataManager benchmark 增 改 查 40W+ 26W+ 24W+ i7-8569U 16G 单机 总结 第四部分 • 尽可能将业务数据存放在内存中,做好冷热数据交换 • 主动监听数据的变化,并实时更新内存中的缓存数据 • 具备极高的性能,保障业务的快速响应 • 依赖方不可用时,提供有损服务 心得感悟 极致的性能 01. 请求到响应只需要内存中的操作即可完成,因此具备极高的性能 用户请求0 码力 | 48 页 | 6.06 MB | 1 年前3
Hello 算法 1.0.0b2 Golang版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 数据结构简介 hello‑algo.com 43 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都是基于数组、或链表、或两者组合实现的。例如栈和队列,既可以使用数组实现、也可以使用 4} 访问与更新元素。列表的底层数据结构是数组,因此可以在 ?(1) 时间内访问与更新元素,效率很高。 4. 数组与链表 hello‑algo.com 56 // === File: list_test.go === /* 访问元素 */ num := list[1] // 访问索引 1 处的元素 /* 更新元素 */ list[1] = 0 // 将索引 1 处的元素更新为 0 在0 码力 | 202 页 | 15.73 MB | 1 年前3
3.云原生边云协同AI框架实践业务APP开发者:开发时使用边云AI Lib库, 集成边云协同增量学习功能 ② 部署业务APP,启动增量学习 ④ 人工定期介入,对样本进行标注。 ⑤ 系统基于任务知识库,自动增量训练产生新模型 ⑥ 更新边缘模型 边云协同增量学习: 小样本和非同分布下,模型越用越聪明 ① 开发者:导入边缘AI Lib库, 开发边云协同联邦学习程序。 ② 启动联邦学习任务,部署训练 程序到边缘 ③ 多任 Detect EdgeNode 3 App Unseen Task Detect ① 基于N个历史任务,完成云端知识库初 始化 ② 基于云端知识库,学习当前边侧任务 ③ 基于当前边侧任务,更新云端知识库 ④ 重复步骤2-3以处理M个未来任务 Cloud 任务模型 任务样本 1 2 3 4 N个历史任务 当前任务 M个未来任务 知识库 边云协同终身学习: 云侧知识库记忆,解决新情景下数据异构和小样本 erators-work 为什么使用Operator? • Kubernetes生态系统 比如监控、日志、Dashboard等 • Kubernetes集群基础能力 比如自动化安装、配置、更新等。 • Kubernetes API 避免了重复开发资源的增删改查等框架代码 如何打造一个Operator? Operator组件 描述 Controller 负责资源的reconcile核心0 码力 | 37 页 | 2.36 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













