自定义博客皮肤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 101

原创 二分方法笔记

二分数的范围问题定义问题分析数据格式代码模版数的三次根 数的范围 问题定义 在一个升序排列的整数数组中,找到某一个数的索引最小值与最大值。 例:[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 91

原创 归并排序笔记

目录归并排序的步骤合并的操作归并排序的时间复杂度归并排序的模板还需要补充的知识点: 归并排序的步骤 归并排序是一种分治的方法,其步骤为以下几步: 确定分界点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 100 2

原创 Python语法笔记

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

2021-07-06 18:10:26 45

原创 狄克斯特拉算法

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

2021-07-02 17:30:25 73

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

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

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

原创 散列表学习笔记

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

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

原创 递归学习笔记

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

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

原创 快速排序学习笔记

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

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

原创 选择排序学习笔记

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

2021-06-07 10:06:14 70 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 139

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

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

2021-01-08 15:18:52 139

空空如也

空空如也

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

TA关注的人

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