4_杨柳_基于Python构建高稳定可扩展的自动化测试集群0 码力 | 62 页 | 25.29 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Python 版也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。 ‧ 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。 0.1.1 读者对象0 码力 | 364 页 | 18.43 MB | 10 月前3
Hello 算法 1.1.0 Python版也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; “计算操作运行时间统计”简化为“计算操作数量统计”,这样一来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。在 这些情况下,我们很难仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分析仍 然是评判算法效率最有效且常用的方法。0 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.0.0 Python版也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, “计算操作运行时间统计”简化为“计算操作数量统计”,这样一来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。在 这些情况下,我们很难仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分析仍 然是评判算法效率最有效且常用的方法。 (?2) ?3 + 10000?2 ?(?3) 2? + 10000?10000 ?(2?) 2.3.4 常见类型 设输入数据大小为 ? ,常见的时间复杂度类型如图 2‑9 所示(按照从低到高的顺序排列)。 ?(1) < ?(log ?) < ?(?) < ?(? log ?) < ?(?2) < ?(2?) < ?(?!) 常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 <0 码力 | 362 页 | 17.54 MB | 1 年前3
1_丁来强_开源AIOps数据中台搭建与Python的作用0年年落地开花,并集中统⼀一 各种Ops平台 IT运维的⽬目标/KPI 1 2 3 IT运维的挑战 • 复杂度越来越⾼高: • 架构演变:SaaS、多云、容器器、微服务等 • 数据孤岛越来越多:⼤大数据的3V(容量量、变化、种类) • 成本越来越⾼高: • 业务中断成本 • 缺少持续改进(运维⼈人员⼤大部分时间忙于救⽕火) • ⼈人员学习速度跟不不上业务增⻓长和问题出现的速度 单条⼤大⼩小 100~10KB 100~10KB < 500 100~10KB 采集难度 ⼀一般 较难 ⼀一般 ⼀一般 加⼯工难度 较难 ⼀一般 简单 较难 价值 ⾼高(尤其安全) ⾼高 随着时间推移变低 ⽐比较⾼高 数据之间的重叠 数据中台的处理理 • 海海量量多样数据的存储/索引: • 时序指标数据、⽂文本数据、⽇日志、⽹网络数据、Tracking等 • 各种分析的⽀支持: • ⾃自由报表定制与构建 • 30+ 可视化插件 • ⽀支持查询原始指标 prometheus的扩展 - thanos • 全兼容Prometheus,提供全局视图+HA • 扩展⾼高可⽤用 • Sidecar + Query节点 • ⻓长时间备份与归档 • 压缩与下采样(DownSampling) Open Telemetry • CNCF统⼀一Metric、Tracking的新标准0 码力 | 48 页 | 17.54 MB | 1 年前3
Hello 算法 1.0.0b4 Python版如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,虽然不一定正确, 但至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 我们按照说明书一步步操作,就能组装出精美的积木模型。 1. 初识算法 hello‑algo.com 11 Figure 1‑5. 拼装积木 两者的详细对应关系如下表所示。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得注意的是,数据结构与算法独立于编程语言。正因如此,本书得以提供多种编程语言的实现。 而数据结构是计算机中组织和存储数据的 方式。 1. 初识算法 hello‑algo.com 12 ‧ 数据结构与算法紧密相连。数据结构是算法的基石,而算法则是发挥数据结构作用的舞台。 ‧ 乐高积木对应于数据,积木形状和连接方式代表数据结构,拼装积木的步骤则对应算法。 13 2. 复杂度 2.1. 算法效率评估 2.1.1. 算法评价维度 从总体上看,算法设计追求以下两个层面的目标:0 码力 | 329 页 | 27.34 MB | 1 年前3
Hello 算法 1.0.0b5 Python版如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,即使不是最优解, 也至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 的数量的统计”,这样以来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。在 这些情况下,我们很难仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分析仍 然是评判算法效率最有效且常用的方法。 (?2) ?3 + 10000?2 ?(?3) 2? + 10000?10000 ?(2?) 2.3.4 常见类型 设输入数据大小为 ? ,常见的时间复杂度类型如图 2‑9 所示(按照从低到高的顺序排列)。 ?(1) < ?(log ?) < ?(?) < ?(? log ?) < ?(?2) < ?(2?) < ?(?!) 常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 <0 码力 | 361 页 | 30.64 MB | 1 年前3
Python 标准库参考指南 3.7.13 not a == b 会被解读为 not (a == b) 而 a == not b 会引发语法错误。 4.3 比较运算 在 Python 中有八种比较运算符。它们的优先级相同(比布尔运算的优先级高)。比较运算可以任意串连; 例如,x < y <= z 等价于 x < y and y <= z,前者的不同之处在于 y 只被求值一次(但在两种情 况下当 x < y 结果为假值时 z 都不会被求值)。 Reference, 发布 3.7.13 4.4 数字类型 --- int, float, complex 存在三种不同的数字类型: 整数, 浮点数和 复数。此外,布尔值属于整数的子类型。整数具有无限的精 度。浮点数通常使用 C 中的 double 来实现;有关你的程序运行所在机器上浮点数的精度和内部表示法 可在sys.float_info 中查看。复数包含实部和虚部,分别以一个浮点数表示。要从一个复数 总时间 t2 除以间隔单位 t3 (3)。返回一个float 对象。 t1 = t2 / f or t1 = t2 / i 除以一个浮点数或整数。结果会被舍入到 timedelta 最接近的整数倍。精 度使用四舍五偶入奇不入规则。 t1 = t2 // i or t1 = t2 // t3 取整除,余数部分 (如果有的话) 将被丢弃。在第二种情况下,返回一个 整数。(3) t1 = t2 %0 码力 | 1846 页 | 9.09 MB | 9 月前3
Hello 算法 1.2.0 繁体中文 Python 版的方法是找一臺計算機,執行這兩個演算法,並監控記錄它們的執行時間和記憶體佔用情況。這種評估方式 能夠反映真實情況,但也存在較大的侷限性。 一方面,難以排除測試環境的干擾因素。硬體配置會影響演算法的效能表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 複雜度分析為我們提供了一把評估演算法效率的“標尺”,使我們可以衡量執行某個演算法所需的時間和空 間資源,對比不同演算法之間的效率。 複雜度是個數學概念,對於初學者可能比較抽象,學習難度相對較高。從這個角度看,複雜度分析可能不太 適合作為最先介紹的內容。然而,當我們討論某個資料結構或演算法的特點時,難以避免要分析其執行速度 和空間使用情況。 綜上所述,建議你在深入學習資料結構與演算法之 表 2‑1 迭代與遞迴特點對比 迭代 遞迴 實現方 式 迴圈結構 函式呼叫自身 第 2 章 複雜度分析 www.hello‑algo.com 27 迭代 遞迴 時間效 率 效率通常較高,無函式呼叫開銷 每次函式呼叫都會產生開銷 記憶體 使用 通常使用固定大小的記憶體空間 累積函式呼叫可能使用大量的堆疊幀空間 適用問 題 適用於簡單迴圈任務,程式碼直觀、可讀 性好 適0 码力 | 364 页 | 18.74 MB | 10 月前3
Python 标准库参考指南 3.10.15 not a == b 会被解读为 not (a == b) 而 a == not b 会引发语法错误。 4.3 比较运算 在 Python 中有八种比较运算符。它们的优先级相同(比布尔运算的优先级高)。比较运算可以任意串连; 例如,x < y <= z 等价于 x < y and y <= z,前者的不同之处在于 y 只被求值一次(但在两种情 况下当 x < y 结果为假值时 z 都不会被求值)。 总时间 t2 除以间隔单位 t3 (3)。返回一个float 对象。 t1 = t2 / f or t1 = t2 / i 除以一个浮点数或整数。结果会被舍入到 timedelta 最接近的整数倍。精 度使用四舍五偶入奇不入规则。 t1 = t2 // i or t1 = t2 // t3 计算底数,其余部分(如果有)将被丢弃。在第二种情况下,将返回整 数。(3) t1 = t2 % t3 余数为一个timedelta sorted(c.elements()) ['a', 'a', 'a', 'a', 'b', 'b'] most_common([n]) 返回一个列表,其中包含 n 个最常见的元素及出现次数,按常见程度由高到低排序。如果 n 被 省略或为 None,most_common() 将返回计数器中的 所有元素。计数值相等的元素按首次 出现的顺序排序: >>> Counter('abracadabra').most_common(3)0 码力 | 2072 页 | 10.39 MB | 9 月前3
共 99 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10













