自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向着晨曦奔跑

兼顾技术性与趣味性

  • 博客(13)
  • 收藏
  • 关注

原创 对于Python无法安装包的一种解决方案(解决Requirement already satisfied问题)

当笔者使用 pip install beautifulsoup4 命令安装BeautifulSoup时出现如下提示:Requirement already satisfied: beautifulsoup4 in c:\programdata\anaconda3\lib\site-packages (4.9.1)Requirement already satisfied: soupsieve>1.2 in c:\programdata\anaconda3\lib\site-packages (fr

2020-08-28 13:09:19 37429 6

原创 《数据结构与算法图解》笔记-第5章 用或不用大O来优化代码

第5章 用或不用大O来优化代码我们不能完全依赖于大O,因为有时候即使两种算法的大O记法完全一样,但实际上其中一个比另一个要快得多。5.1 选择排序选择排序的步骤如下。(1) 从左至右检查数组的每个格子,找出值最小的那个。(2) 知道哪个格子的值最小之后,将该格与本次检查的起点交换。第1次检查的起点是索引0,第2次是索引1,以此类推。(3) 重复第(1) (2)步,直至数组排好序。5.2 选择排序实战略5.3 选择排序的实现略5.4 选择排序的效率选择排序的步骤可分为两类:比较和交换,

2020-07-29 19:32:43 181

原创 《数据结构与算法图解》笔记-第4章 运用大O来给代码提速

第4章 运用大O来给代码提速4.1 冒泡排序排序算法是计算机科学中被广泛研究的一个课题。历时多年,它发展出了数十种算法,这些算法都着眼于一个问题:如何将一个无序的数字数组整理成升序?冒泡排序是一种很基本的排序算法,步骤如下。指向数组中的头两个元素,比较它们的大小。如果它们的顺序错了(即左边的值大于右边),就互换位置。如果顺序已经是正确的,那这一步就什么都不用做。将两个指针右移一格。重复第1步和第2步,直至指针到达数组末尾。重复第1至3步,直至从头到尾都无须再做交换,这时数组就排好序了。说

2020-07-28 14:04:01 156

原创 《数据结构与算法图解》笔记-第3章 大O记法

第3章 大O记法量化线性查找效率的方式应该是:对于具有N个元素的数组,线性查找最多需要N步。为了方便表达数据结构和算法的时间复杂度,计算机科学家从数学界借鉴了一种简洁又通用的方式,那就是大O记法。这种规范化语言使得我们可以轻松地指出一个算法的性能级别。3.1 大O:数步数为了统一描述,大O不关注算法所用的时间,只关注其所用的步数。数组不论多大,读取都只需1步。用大O记法来表示,就是:O(1)。O(1)意味着一种算法无论面对多大的数据量,其步数总是相同的。这1步在旧机器上也许要花20分钟,而用现代的硬

2020-07-27 12:40:46 307

原创 《数据结构与算法图解》笔记-第2章 算法为何重要

第2章 算法为何重要上一章我们明白了选择合适的数据结构将会显著地提升代码的性能。在本章,你将会发现,就算数据结构确定了,代码的速度也还会受另一重要因素影响,那就是算法。在计算机的世界里,算法是指某项操作的过程。一种操作可能会有不止一种做法。也就是说,一种操作会有多种算法的实现,不同的算法能使代码变快或者变慢——高负载时甚至慢到停止工作。2.1 有序数组有序数组跟数组几乎一样,唯一区别就是有序数组要求其值总是保持有序。即每次插入新值时,它会被插入到适当的位置,使整个数组的值仍然按顺序排列。往有序数组

2020-07-25 19:38:58 156

原创 《数据结构与算法图解》笔记-第1章 数据结构为何重要

第1章 数据结构为何重要数据是一个广义的术语,可以指代各种类型的信息,包括最基本的数字和字符串。数据结构则是指数据的组织形式。数据结构不只是用于组织数据,它还极大地影响着代码的运行速度。1.1 基础数据结构:数组数组是计算机科学中最基本的数据结构之一。array = [“apples”, “bananas”, “cucumbers”, “dates”, “elderberries”]这就是一个数组,它刚好包含5个字符串,每个代表从超市买的食物。我们会用一些名为索引的数字来标识每项数据在数组中的位

2020-07-25 14:21:47 170

原创 《我的第一本算法书》笔记-第1章 数据结构

第 1 章 数据结构1-1 什么是数据结构数据存储于内存时,决定了数据顺序和位置关系的便是“数据结构”。所谓结构就是关系,是数据元素本身的特性及数据元素直接的关系。将数据存储于内存时,根据使用目的选择合适的数据结构,可以提高内存的利用率。数据在内存中是呈线性排列的,但是我们也可以使用指针等道具,构造出类似“树形”的复杂结构。1-2 链表链表是数据结构之一,其中的数据呈线性排列。在链表中,数据的添加和删除都比较方便,就是访问比较耗费时间。上图为链表的概念图,每个数据都有1个“指针”,它指向下一个

2020-07-24 22:39:51 123

原创 《普林斯顿微积分读本》笔记-第5章 连续性和可导性

第 5 章 连续性和可导性5.1连续性5.1.1 在一点连续如果lim⁡x→af(x)=f(a),函数f在点x=a处连续。如果\lim_{x \rightarrow a}f(x)=f(a),函数f在点x=a处连续。如果x→alim​f(x)=f(a),函数f在点x=a处连续。以下三条需成立:双侧极限lim⁡x→af(x)\lim\limits_{x \rightarrow a}f(x)x→alim​f(x)存在(且是有限的);函数在点x=a处有定义,即f(a)存在(并且是有限的);以上两

2020-07-22 23:40:27 668 1

原创 《我的第一本算法书》笔记-序章 算法的基本知识

序章 算法的基本知识0-1 什么是算法算法就是计算或者解决问题的步骤。算法和程序的区别在于:程序是以计算机能够理解的编程语言编写而成的,可以在计算机上运行,而算法是以人类能够理解的方式描述的,用于编写程序之前。就算使用同一个算法,编程语言不同,写出来的程序也不同;即便使用相同的编程语言,写程序的人不同,那么写出来的程序也是不同的。0-1-1 算法示例-选择排序排列整数的算法:排序 -> 查找最小的数字并交换:选择排序输入:随意排列的整数数列。输出:按从小到大的顺序重新排列。要求:算法是

2020-07-21 13:27:26 139

原创 《普林斯顿微积分读本》笔记-第4章求解多项式的极限问题

第 4 章 求解多项式的极限问题4.1 x->a时的有理函数的极限lim⁡x→ap(x)q(x)\lim_{x \rightarrow a}\frac{p(x)}{q(x)}x→alim​q(x)p(x)​(1) 首先总是应该尝试用a的值替换x,如果分母不为0,那么一切顺利,极限值就是做替换后所得到的值。(2) 0/0被称作不定式。可借助因式分解这一重要技巧来求解,因为函数在x=a处的值是无关紧要的,只需关注x在a附近的情况,因此,能够消去分子和分母中的公因式,之后再使用代入法求解。a3

2020-07-18 23:12:25 1138

原创 《普林斯顿微积分读本》笔记-第3章极限导论

第 3 章 极限导论如果没有极限的概念,,那么微积分将不复存在。对于极限是什么的一个直观概念;左、右与双侧极限, 及在 ∞ 和 -∞ 处的极限;何时极限不存在;三明治定理(也称作“夹逼定理”)。3.1 极限:基本思想lim⁡x→af(x)=L\lim_{x\rightarrow a}f(x) = Lx→alim​f(x)=L表示“当x趋于a,f(x)的极限等于L”。f(a)的值和该极限是不相关的,只有那些在x接近a时f(x)的值,而不是在a处的值,才是问题的关键。变量x是一个虚拟变

2020-07-18 12:17:45 760

原创 《普林斯顿微积分读本》笔记-第2章三角学回顾

第 2 章 三角学回顾学习微积分必须要了解三角学。用弧度度量的角与三角函数的基本知识;实轴上的三角函数(不只是介于00和900;三角函数的图像;三角恒等式。2.1 基本知识首先要回忆的是弧度的概念。旋转一周,我们说成2π\piπ弧度而不是3600。半径为1个单位的圆的周长是2π\piπ个单位,这个圆的一个扇形的弧长就是这个扇形的圆心角的弧度。用弧度度量的角=π180×用度度量的角用弧度度量的角=\frac{\pi}{180} \times 用度度量的角用弧度度量的角=180π​×用

2020-07-11 22:40:59 540 1

原创 《普林斯顿微积分读本》笔记-第1章函数、图像和直线

第 1 章 函数、图像和直线函数是学习微积分的基础。1.1 函数函数是将一个对象转化为另一个对象的规则。起始对象称为输入,来自称为定义域的集合。返回对象称为输出,来自称为上域的集合。一个函数必须给每一个有效的输入指定唯一的输出。值域是所有可能的输出所组成的集合。值域和上域的区别:值域是上域的一个子集,上域是可能输出的集合,值域是实际输出的集合。1.1.1 区间表示法理解闭区间、开区间、半开区间的概念,理解集合表示方法。(a, b) { x:a < x < b}[a

2020-07-11 08:40:03 2290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除