Hello 算法 1.0.0 Python版Release 1.0.0 2024‑02‑09 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go0 码力 | 362 页 | 17.54 MB | 1 年前3
Hello 算法 1.1.0 Python版Release 1.1.0 2024‑04‑15 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go0 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.0.0b4 Python版2023‑07‑26 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多朋友的喜爱与支持。在此期间,我回答了众 多读者的评论问题,其中最常见的一个问题是“如何入门学习算法”。我逐渐也对这个问题产生了浓厚的兴 趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而,刷题就如同玩“扫雷”游戏,自学能力 强的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通 行时间或占用空间。 复杂度分析克服了实际测试方法的弊端。首先,它独立于测试环境,因此分析结果适用于所有运行平台。其 次,它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 如果你对复杂度分析的概念仍感到困惑,无需担心,我们会在后续章节详细介绍。 2.1.3. 复杂度分析重要性 复杂度分析为我们提供了一把评估算法效率的“标尺”,告诉我们执行某个算法所需的时间和空间资源,并使 。从这个角度看,复杂度分析可能不太 适合作为第一章的内容。然而,当我们讨论某个数据结构或算法的特点时,我们难以避免要分析其运行速度 和空间使用情况。因此,在深入学习数据结构与算法之前,建议读者先对复杂度建立初步的了解,并能够完 成简单案例的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间可以直观且准确地反映算法的效率。然而,如果我们想要准确预估一段代码的运行时间,应该如何0 码力 | 329 页 | 27.34 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Python 版Release 1.2.0 2024‑12‑06 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 www.hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。0 码力 | 364 页 | 18.43 MB | 10 月前3
Hello 算法 1.0.0b5 Python版1.0.0b5 2023‑09‑10 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多同学的喜爱和支持。在与读者的交流期间, 最常收到的一个问题是“如何入门学习算法”。我逐渐对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。刷题就如同玩“扫雷”游戏,自学能力强的同 学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通读教材 它独立于测试环境,分析结果适用于所有运行平台。 第 2 章 复杂度分析 hello‑algo.com 18 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 � 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 复杂度分析为我们提供了一把评估算法效率的“标尺”,使我们可以衡量执行某个算法所需的时间和空间资 源,对比不同算法之间的效率。 复杂度 这个角度看,复杂度分析可能不太 适合作为最先介绍的内容。然而,当我们讨论某个数据结构或算法的特点时,难以避免要分析其运行速度和 空间使用情况。 综上所述,建议你在深入学习数据结构与算法之前,先对复杂度分析建立初步的了解,以便能够完成简单算 法的复杂度分析。 2.2 迭代与递归 在数据结构与算法中,重复执行某个任务是很常见的,其与算法的复杂度密切相关。而要重复执行某个任务, 我们通常会选用两种基本的程序结构:迭代和递归。0 码力 | 361 页 | 30.64 MB | 1 年前3
Hello 算法 1.0.0b2 Python版2023‑03‑30 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了很多小伙伴的喜爱与支持。在此期间,我也回复 了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 种“趋势性 分析”; 复杂度分析克服了实际测试方法的弊端。一是独立于测试环境,分析结果适用于所有运行平台。二是可以体现 不同数据量下的算法效率,尤其是可以反映大数据量下的算法性能。 如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。 2.1.3. 复杂度分析重要性 复杂度分析给出一把评价算法效率的“标尺”,告诉我们执行某个算法需要多少时间和空间资源,也让我们可 以开展不同算法之间的效率对比。 度相对较高。从这个角度出发,其并不适合作为第一 章内容。但是,当我们讨论某个数据结构或者算法的特点时,难以避免需要分析它的运行速度和空间使用情 况。因此,在展开学习数据结构与算法之前,建议读者先对复杂度建立起初步的了解,并且能够完成简单案例 的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做0 码力 | 186 页 | 15.69 MB | 1 年前3
Hello 算法 1.0.0b1 Python版2023‑03‑01 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了很多小伙伴的喜爱与支持。在此期间,我也回复 了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 种“趋势性 分析”; 复杂度分析克服了实际测试方法的弊端。一是独立于测试环境,分析结果适用于所有运行平台。二是可以体现 不同数据量下的算法效率,尤其是可以反映大数据量下的算法性能。 如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。 2.1.3. 复杂度分析重要性 复杂度分析给出一把评价算法效率的“标尺”,告诉我们执行某个算法需要多少时间和空间资源,也让我们可 以开展不同算法之间的效率对比。 度相对较高。从这个角度出发,其并不适合作为第一 章内容。但是,当我们讨论某个数据结构或者算法的特点时,难以避免需要分析它的运行速度和空间使用情 况。因此,在展开学习数据结构与算法之前,建议读者先对复杂度建立起初步的了解,并且能够完成简单案例 的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做0 码力 | 178 页 | 14.67 MB | 1 年前3
Flask入门教程编辑界面写入常见的可忽略文件规则: *.pyc *~ __pycache__ .DS_Store 使用 Control + O 和 Enter 键保存,然后按下 Control + X 键退出。在后续章节,对 于简单的文件,都会使用 nano 创建,这部分操作你也可以使用编辑器来完成。 将程序托管到 GitHub(可选) 这一步是可选的,将程序托管到 GitHub、GitLab 或是 BitBucket 首先使用下面的命令检查是否已经创建了 SSH 密钥: 第 1 章:准备工作 9 $ cat ~/.ssh/id_rsa.pub 如果显示“No such file or directory”,就使用下面的命令生成 SSH 密钥对,否则复 制输出的值备用: $ ssh-keygen 一路按下 Enter 采用默认值,最后会在用户根目录创建一个 .ssh 文件夹,其中包含 两个文件,id_rsa 和 id_rsa.pub Guides 了解。 在安装 Pipenv 时,你也可以使用 --user 选项进行用户安装(即 pip install --user pipenv )。用户安装可以避免破坏全局的包,而且可以避 免对不可信的包使用 sudo pip 导致的潜在安全问题。详情见 Pipenv 文档安装 章节。 第 1 章:准备工作 13 第 2 章:Hello, Flask! 追溯到最初,Flask 诞生于0 码力 | 127 页 | 7.62 MB | 1 年前3
python3学习手册有序 列表,数组 tuple 有序 元组 set 无序 不重复(自动删除重复项) 集合 py3新 增 dic�onary 无序 字典 {键值对 集合} 关键字必须互不相同 bytes 有序 字节数组,其元素值不可变,其元素类型为int (0~255) py3新增 bytearray 有 序 字 节 数 组 , 其 元 素 值 unichr() 输入任意unicode编码值,返回对应unicode字符, python3的unichr()没了,合并到chr()了 ord('x') 输入为一个字符,ascii及unicode字符都行,输出为对 应的int编码值 hex() 将一个整型数字转为16进制字符串,0xnn oct() 将一个整型数字转为8进制字符串,0onn bin() 将一个整型数字转为2进制字符串,0bnn listxx.index(x) # 返回列表中第一个值为x的元素的索引 listxx.count(x) # 返回x在列表中出现的次数 listxx.sort() #对列表中的元素排序,改变列表本身,返回值为None或 error,不返回新的list,默认升序,从小到大 listxx.sort(reverse=True) # 排序,降序,从大到小 listxx0 码力 | 213 页 | 3.53 MB | 1 年前3
Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . 409 13.2 gzip --- 对 gzip 格式的支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 13.3 bz2 --- 对 bzip2 压缩算法的支持 . . . . . . . . . . . . . . . . . Base16, Base32, Base64, Base85 数据编码 . . . . . . . . . . . . . . . . . . . . . . 986 20.7 binhex --- 对 binhex4 文件进行编码和解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . 988 20.8 binascii --- 二进制和 20.9 quopri --- 编码与解码经过 MIME 转码的可打印数据 . . . . . . . . . . . . . . . . . . . . . 991 20.10 uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991 21 结构化标记处理工具 9930 码力 | 1846 页 | 9.09 MB | 9 月前3
共 174 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













