自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 高精度四则运算(面试常考)(待更新)

高精度四则运算高精度加法问题提出问题分析数据如何储存?如何加?代码模版高精度加法问题提出有两个正整数A与B,他们的位数在10610^6106以上,如何计算两者之和?问题分析在java和python中可以直接计算。但是在C/C++中,即使是long long数据类型最大值也仅为9223372036854775807,无法满足我们的计算需求。面对这样的问题,我们首先需要考虑数据如何储存?首先我们将输入的一串数据用字符存储,再将其按位数存入数组。存储时,为了方便从个位开始计算,我们使用逆序存储。如

2021-08-02 22:36:58 94

原创 二分方法笔记

二分数的范围问题定义问题分析数据格式代码模版数的三次根数的范围问题定义在一个升序排列的整数数组中,找到某一个数的索引最小值与最大值。例:[1,2,2,3,3,5]则3->3 4问题分析我们有区间的下界l与上界r,x是我们寻找的点mid=l+r+12mid=\frac{l+r+1}{2}mid=2l+r+1​(绿色)if(check(mid))True:l=mid,[mid,r]False:r=mid-1,[l,mid-1]为什么mid要加1?如果不加1,l=r-1,则

2021-07-22 15:37:16 82

原创 归并排序笔记

目录归并排序的步骤合并的操作归并排序的时间复杂度归并排序的模板还需要补充的知识点:归并排序的步骤归并排序是一种分治的方法,其步骤为以下几步:确定分界点mid;递归左右矩阵将左右矩阵归一归并与快排的区别:顺序不同。快排是先合并后递归(也可以理解为同时),归并是先递归后合并。合并的操作数组1已经排序:[1,3,4,6,6,8],指针 i数组2已排序:[2,4,5,7,8,9],指针 j归并排序的时间复杂度为O(nlogn),与快速排序相同。归并排序的优势:排序稳定——两数相同,位置

2021-07-16 16:11:41 94 2

原创 Python语法笔记

函数joinjoin用于将列表输出为字符串str表示分隔的字符类型list=['a','b','c']str=''print(str.join(list))>>>'abc'

2021-07-06 18:10:26 39

原创 狄克斯特拉算法

这里写目录标题使用狄克斯特拉算法术语换钢琴负权边实现本章内容:介绍加权图介绍狄克斯特拉算法:计算加权图的最短路径介绍“环”使用狄克斯特拉算法狄克斯特拉算法包含4个步骤:找出最短时间内到达的节点更新该节点的邻点权重重复1,2直到对所有的节点都采取以上步骤计算最终路径(找到到每个点的最短耗时)术语加权图环无向图中,每条边就是一个环。狄克斯特拉算法只适用于有向无环图。(DAG)换钢琴第一步:找到最近节点,海报。找出图中最便宜的节点,并确保没有到该节点的更便宜的路径!

2021-07-02 17:30:25 62

原创 广度优先搜索学习笔记

目录图是什么广度优先搜索路径的存在性查找最短路径队列练习图的实现算法实现树的实现寻找双子峰到金门大桥路线的两个步骤:使用图建立问题模型使用广度优先搜索解决问题图是什么图由**节点(node)和边(edge)**组成。广度优先搜索广度优先搜索是一种用于图的查找算法,用于解决两类问题:从节点A出发,有路径到节点B吗?从节点A出发,到节点B的最短路径是什么?路径的存在性在Facebook,看看与芒果销售商是否有联系然后依次检查他们是否是芒果销售商如果我的一级好友没有芒果销售商

2021-06-11 16:11:26 148 2

原创 散列表学习笔记

这里写目录标题散列函数应用案例查找电话号码防止重复将散列表用作缓存小结冲突性能填装因子良好的散列函数——SHA函数小结散列函数散列函数必须满足的性质:一致性:一个x的总是相同的单射散列函数指出了价格的储存位置,这样是因为:散列函数总是将同样的输入映射到相同的索引散列函数将不同的输入映射到不同的索引散列函数知道数组大小,只返回有效索引Python中散列表的实现——字典,使用dict创建散列表book=dict()book['apple']=0.67book['milk']=1

2021-06-07 10:39:55 60 1

原创 递归学习笔记

目录基线条件和递归条件栈调用栈递归调用栈小结基线条件和递归条件每个递归函数都有两部分:递归条件:函数调用自己基线条件:函数不再调用自己,避免无限循环例:倒数函数def countdown(i): print (i) if i<=0: return else: countdown(i-1) countdown(5) >>>543210栈调用栈计算机在内部使用被称为调用栈的栈,下面是一个简单的函

2021-06-07 10:33:27 59 1

原创 快速排序学习笔记

目录分而治之例1:假如你是农场主,有一小块土地例2:给定一个数字数组[2,4,6],需要将这些数字相加并返回结果练习快速排序大O表示法比较合并排序与快速排序平均情况与最糟情况本章我们将使用分而治之(D&C),一种著名的递归式问题解决方法。分而治之使用D&C解决问题的过程包括两个步骤:找到尽量简单的基线条件不断将问题分解(缩小规模),直到符合基线条件。例1:假如你是农场主,有一小块土地基线条件:一个边的长度是另一条边的整数倍寻找递归条件:首先,找出这块地可容纳的最大方块

2021-06-07 10:22:20 109 2

原创 选择排序学习笔记

目录内存的工作原理数组和链表链表数组比较数组与链表在中间插入删除选择排序过程示例代码:为数组排序本章目标:学习数据结构——数组和链表学习选择排序内存的工作原理需要将数据存储到内存时,你请求计算机提供存储空间,计算机给你一个存储地址。需要存储多项数据时,有两种基本方式——数组和链表。数组和链表我们先将待办事项存储在数组中。使用数组意味着所有待办事项在内存中都是相连的(紧靠在一起的) 。然而,数组在储存空间不够时,只能请求计算机重新分配一块新的储存所有资料的空间。添加新元素很麻烦! 并且额外

2021-06-07 10:06:14 62 5

原创 朴素贝叶斯的学习摘要

目录前言一、朴素贝叶斯的假设二、NB的计算步骤三、NB的优缺点四、NB用到的代码前言机器学习的第二课:朴素贝叶斯。使用贝叶斯公式,计算先验概率。适用于样本量少的情况。一、朴素贝叶斯的假设每个变量之间独立每个特征同样重要二、NB的计算步骤计算p(Yi)=NYiNp(Y_i)=\frac{N_{Y_i}}{N}p(Yi​)=NNYi​​​计算p(x∣Yi)=∏jp(x(j)∣Yi)=∏Nx(j)NYip(x|Y_i)=\prod_j p(x^ {(j)}|Y_i)=\prod \frac

2021-01-14 12:29:25 131

原创 Python2.0中一些函数在3.0中的改动(持续更新)

reload函数在Python2.0中,可以直接的使用reload函数,但是在Python3.0中需要引入模块imp:from imp import reloaditems函数在Python2.0中原有的iteritem函数已经全部使用items。该函数用来将字典列表化>>>import operator>>>dict = {'baidu': 'www.baidu.com', 'qq': 'www.qq.com', 'taobao': 'www.taobao

2021-01-08 15:18:52 132

空空如也

空空如也

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

TA关注的人

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