Hello 算法 1.2.0 繁体中文 Python 版
作者:靳宇棟(@krahets) 程式碼審閱:靳宇棟(@krahets) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 364 页 | 18.74 MB | 10 月前3Django、Vue 和Element UI 前后端原理论述
小编通过简单的两个案例列举了 requests-mock 的简单用法,并且简单介绍了 requests-mock 的库作用,不仅仅可以测试一些简单的 api,还可以模拟测试接口异常情况, 当然该库的方法不仅仅只有这么多,感兴趣的小伙伴们可以私下多了解了解。好了,感 谢您的阅读,希望对您有所帮助。 24 《51 测试天地》七十四 www.51testing.com 说明:本篇文档包括 MeterSphere http://目标服务器 IP 地址:服务运行端口 用户名: admin 密码: metersphere 总结 在安装前我们要确认好环境是否符合要求,尤其 windows 注意纯净版,因为后续很 多报错都是有可能因为这个原因导致的,最好和他们的技术、售后人员咨询一下最新的 安装指南,这样能避免一些弯路。 在整个安装过程中,WSL Ubuntu 是运行在 Windows 操作系统上的一个 Linux 链路业务场景梳理完成后如何更快接入 以减轻数据构造的成本、如何让编排功能更加简洁灵活、如何让维护保鲜机制更加有效 等,后续将结合这些问题并继续从以下几个方面加以探索研究:一是积极推广应用到更 多场景,节省测试人员的时间精力,减少在测试数据准备方面的投入,将更多的精力投 入到其他相对更加重要的测试中,进一步提升测试质效;二是持续优化完善长链路数据 构造流程,及时跟进使用情况以及收集相关建议意见,持续优化完善让其更加好用易用;0 码力 | 61 页 | 6.84 MB | 1 年前303. 杜逸先 Python3 的新特性和改进
考虑使用静态类型检查 迁移到Python3 Instagram的Python3迁移案例(10亿月活 Python + Django) 节约了 12% 的整体 CPU 使用率(Django/uwsgi) 节约了 30% 的内存使用(celery) 在单个接口中利用 asynio 平行的去做多件事情,降低了 20-30% 的请求延迟 4 问答环节 THANK YOU 二维码0 码力 | 78 页 | 2.28 MB | 1 年前3Hello 算法 1.0.0 Python版
轮的重复后,就能将其牢记在心。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo.com 9 图 int: """ 对数阶(递归实现)""" if n <= 1: return 0 return log_recur(n / 2) + 1 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 � ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 362 页 | 17.54 MB | 1 年前3Hello 算法 1.1.0 Python版
GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo.com 9 图 int: """ 对数阶(递归实现)""" if n <= 1: return 0 return log_recur(n / 2) + 1 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以得到具有 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 364 页 | 18.42 MB | 1 年前3Hello 算法 1.2.0 简体中文 Python 版
GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 www.hello‑algo.com 9 int: """ 对数阶(递归实现)""" if n <= 1: return 0 return log_recur(n / 2) + 1 对数阶常出现于基于分治策略的算法中,体现了“一分为多”和“化繁为简”的算法思想。它增长缓慢,是 仅次于常数阶的理想的时间复杂度。 ?(log ?) 的底数是多少? 准确来说,“一分为 ?”对应的时间复杂度是 ?(log? ?) 。而通过对数换底公式,我们可以得到具有 ,元素之间是一对一的顺序关系。 ‧ 非线性数据结构:树、堆、图、哈希表。 非线性数据结构可以进一步划分为树形结构和网状结构。 ‧ 树形结构:树、堆、哈希表,元素之间是一对多的关系。 ‧ 网状结构:图,元素之间是多对多的关系。 图 3‑1 线性数据结构与非线性数据结构 3.1.2 物理结构:连续与分散 当算法程序运行时,正在处理的数据主要存储在内存中。图 3‑2 展示了一个计算机内存条,其中每个黑色方0 码力 | 364 页 | 18.43 MB | 10 月前3Python3 基础教程 - 廖雪峰
都是为了让计算机干活,比如下载一个 MP3,编写一个文档等等,而计 算机干活的 CPU 只认识机器指令,所以,尽管不同的编程语言差异极 大,最后都得“翻译”成 CPU 可以执行的机器指令。而不同的编程语言, 干同一个活,编写的代码量,差距也很大。 比如,完成同一个任务,C 语言要写 1000 行代码,Java 只需要写 100 行,而 Python 可能只要 20 行。 所以 Python 是一种相当高级的语言。 00000000 01000001。 新的问题又出现了:如果统一成 Unicode 编码,乱码问题从此消失了。 但是,如果你写的文本基本上全部是英文的话,用 Unicode 编码比 ASCII 编码需要多一倍的存储空间,在存储和传输上就十分不划算。 所以,本着节约的精神,又出现了把 Unicode 编码转化为“可变长编码” 的 UTF-8 编码。UTF-8 编码把一个 Unicode 字符根据不同的数字大小编 内部存放的顺序和 key 放入的顺序是没有关系的。 和 list 比较,dict 有以下几个特点: 1. 查找和插入的速度极快,不会随着 key 的增加而增加; 2. 需要占用大量的内存,内存浪费多。 而 list 相反: 1. 查找和插入的时间随着元素的增加而增加; 2. 占用空间小,浪费内存很少。 Python3 基础教程【完整版】 http://www.yeayee.com/0 码力 | 531 页 | 5.15 MB | 1 年前3Python 标准库参考指南 3.10.15
实参指定排序函数用的参数,如传给list.sort() 的。 default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 实参指定排序函数用的参数,如传给list.sort() 的。 default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 小 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc)[0] 和 heapq $,通常匹配’foo2’,但在MULTILINE 模式下可以匹配到’foo1’;在 'foo\n' 中搜索 $ 会找到两个(空的)匹配:一个在换行符之前,一个在字符串的末尾。 * 对它前面的正则式匹配 0 到任意次重复,尽量多的匹配字符串。ab* 会匹配 'a','ab',或者 'a' 后 面跟随任意个 'b'。 + 对它前面的正则式匹配 1 到任意次重复。ab+ 会匹配 'a' 后面跟随 1 个以上到任意个 'b',它不会匹0 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.11.10
function 应用于 iterable 的每一项,并产生其结果的迭代器。如果传入了额外的 iterables 参数,则 function 必须接受相同个数的参数并被用于到从所有可迭代对象中并行获取的项。当有多 个可迭代对象时,当最短的可迭代对象耗尽则整个迭代将会停止。对于函数的输入已经是参数元组 的情况,请参阅itertools.starmap()。 max(iterable, *, key=None) 给 default ,则会触 发ValueError。 16 Chapter 2. 内置函数 The Python Library Reference, 发行版本 3.11.10 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 实参指定排序函数用的参数,如传给list.sort() 的。 default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 小 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc)[0] 和 heapq0 码力 | 2248 页 | 11.10 MB | 9 月前33 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查
tors.py 如何实现一个扩展? 左边的代码,找到指定 的二元运算符,将对应 的BinOp重写,得到了 二元函数的调用。 判断扩展是否在该行激 活 递归处理嵌套表达式 扩展在当前行未激活, 但在表达式内部可能激 活,所以递归处理 moshmosh/extensions/scoped_operators.py 演示 IPython/Jupyter Notebook支持0 码力 | 43 页 | 10.71 MB | 1 年前3
共 151 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16