自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS中的深拷贝与浅拷贝

知乎:js中的深拷贝和浅拷贝?掘金: js 深拷贝 vs 浅拷贝本文思维导图:前言首先深拷贝与浅拷贝只针对 Object, Array 这样的复杂对象的。深拷贝和浅拷贝的主要区别就是其在内存中的存储类型不同。栈(stack)为自动分配的内存空间,它由系统自动释放;而堆(heap)则是动态分配的内存,大小不定也不会自动释放。浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对...

2019-02-14 21:07:17 545

原创 JS实现仿百度搜索框(实时返回搜索建议项)

实现原理向输入框动态输入时关键词,将当前关键词作为问号参数后面的值,因为要跨域使用百度的接口,所以通过 JSONP 跨域创建 Ajax 请求。回调函数处理返回值。尝试研究了一下百度的接口,发现原生的 XHR 接口参数有点复杂(百度应该是考虑了很多情况)。找了一个 2345 导航,在输入框随便输入一个字母 s,打开 Network,发现它也是向百度的一个地址发送了请求,其中问号后面的‘&amp...

2018-11-02 16:29:36 14833 5

原创 JavaScript实现数组去重的七种方法

JS 实现数组去重的七种方法方法一 直接遍历首先准备一个备用空数组,遍历原始数组,然后将新数组中没有的元素推进去function unique(array) { var result = []; for (var i = 0, len = array.length; i < len; i++) { if (result.indexOf(array[i]) === -1)...

2018-10-30 20:43:24 360

原创 Ajax 的执行流程以及原生 JS 封装一个 Ajax

Ajax 的执行流程以及原生 JS 封装一个 Ajax1.引言Ajax(Asynchronous JavaScript and XML)即异步的 JavaScript 与 XML,它不是一种语言,它是一组需要一起协同工作的技术。另外虽然名字中有 XML,但是 Ajax 通信与数据格式无关,实际上我们通常用 JSON 格式的数据来代替。传统的 Web 应用允许用户端填写表单(form),当提交...

2018-10-29 21:06:24 638

原创 直接插入排序原理及实现(JS)

直接插入排序实现原理:具体定义是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用 in-place 排序(即只需用到 O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。具体怎么实现呢,大白话就是:我们假设第一项已经排好了,然后将待插入的项(第二项)和它进行比较,决定第二...

2018-10-21 22:16:13 1762

原创 选择排序原理与实现(JS)

选择排序实现原理选择排序是一种原址比较排序算法。大致思路是找到数据结构中的最小值并将其放置在第一位,接着找到第二小的值并将其放在第二位,以此类推。实现代码function selectionSort(arr) { if (arr.length < 2) { return arr; } for (var i = 0; i < arr.length - 1; i...

2018-10-21 22:10:01 846

原创 3.数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。注意: 题目要求我们找到任意一个重复的数字就可以!我一开始没有注意审题,绕了圈子。思路1.暴力搜索...

2018-08-07 20:54:28 108

原创 26.Remove Duplicates from Sorted Array(从排序数组中删除重复选项)

题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...

2018-08-07 20:49:44 189

原创 1.TwoSum(两数之和)

题目描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路1.暴力枚举从头到尾枚举相加,如果值相等,记录下标,最...

2018-08-07 20:47:37 226

原创 盒模型简介

1. 盒模型的简介在Html中div,span,a等等都是盒子。通常可以将他们分为块级盒子(block)和内联盒子(inline)。几乎每一个标签都会以一个盒子的形式展现,往往一个盒子中还会嵌套着多个盒子。盒模型被分为两种:第一种是W3C的标准模型;第二种是IE的怪异盒模型。为了搞清楚这两种盒模型之间的差异,我们首先看一张结构图:对于一个盒子来说它由四个部分组成: mar...

2018-08-07 20:40:26 1501

原创 偏差(Bias)-方差(Variance)权衡(tradeoff)

Boosting主要关注降低 偏差 Bagging主要关注降低 方差

2018-03-25 18:45:02 5416

原创 《机器学习实战》7.利用AdaBoost算法提高分类性能

结合源码分析第七章中实现的Demo运行环境:Anaconda——Jupyter NotebookPython版本为:3.6.2(原书代码实现为2.x 所以在一些代码上略有改动)参考资料: Apachecn 专注于优秀项目维护的开源组织《统计学习方法》 李航著 《机器学习》 周志华著集成学习(ensemble learning)是通过构建多个学习器来完成学习任务。 ...

2018-03-13 09:28:39 552

原创 静态链表的实现

静态链表用数组来代替指针,来描述单链表 将数组元素分成两个数据域,data和cur。data用来存放数据元素,cur存放该元素的后继在数组中的下标(游标)。<游标实现法>1.基本结构/*线性表的静态链表存储结构*/#define MAXSIZE 1000typedef struct{ElemType data;int cur; /*游标(Cursor),...

2018-03-07 11:38:29 3508

原创 单链表的基本操作(读取、插入、删除)及优缺点总结

1.单链表的读取获取链表第i个数据的算法思路: 1. 声明一个指针p指向链表的第一个结点,初始化j从1开始; 2. 当j< i 时,遍历链表,让p的指针向后移动,不断指向下一结点,j累加1; 3. 若到链表末尾p为空,说明第i个元素不存在; 4. 否则查找成功,返回结点p的数据。/*初始条件:顺序线性表L已存在,1≤i≤ListLength(L)*//*操作结果: 用e返回...

2018-03-06 19:53:17 47390 3

原创 线性表的顺序存储结构(插入与删除)

1.顺序存储定义线性表中的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。2.地址计算方法线性表的第i个元素是要存储在数组下标为i-1的位置。 假设占用的是c个存储单元,那么线性表中的第i+1个数据元素的存储位置和第i个数据元素存储位置满足下列关系式(LOC表示获得存储位置的函数)LOC(ai+1) = LOC(ai) + c即LOC(ai) =...

2018-03-05 10:42:18 15707 1

原创 《机器学习实战》5.Logistic回归源码实现

结合源码分析第五章中实现的Demo运行环境:Anaconda——Jupyter NotebookPython版本为:3.6.2(原书代码实现为2.x 所以在一些代码上略有改动)参考资料:Apachecn 专注于优秀项目维护的开源组织Hands-On Machine Learning with Scikit-Learn and TensorFlow阅读本文你将获得如下知识:

2018-01-07 20:38:16 8239 5

原创 《机器学习实战》3.树模型(决策树)总结

前言本文主要总结了《机器学习实战》第三章———决策树中的若干问题,以及一些函数的用法(对比)。第一部分 心得1. 关于决策树的生成决策树的生成算法有:ID3(本章使用)、CART、C4.5。对于ID3而言,筛选特征的原则为——最大信息增益原则。在介绍最大信息增益之间,我们首先要了解一个概念——熵(Entropy) :在信息论与概率统计中,熵是表示随机变量不确定性的度量。信息

2018-01-03 16:36:48 563

原创 《机器学习实战》3.决策树算法分析与源码实现

结合源码分析第三章中实现的Demo 运行环境:Anaconda——Jupyter Notebook Python版本为:3.6.2(原书代码实现为2.x 所以在一些代码上略有改动) 阅读本博文你将获取: 1.决策树的基本思想 2.信息增益和熵的概念——本文中使用信息增益作为划分数据集的标准 3.全部的代码实现,且包含了大部分注释,便于初学者者理解 4.在最后的总结部分对决策树的优缺点做

2017-12-11 21:29:26 1034

原创 《机器学习实战》2.K-近邻算法分析与源码实现(文末附官方勘误表)

结合源码分析第二章中实现的Demo 本人安装的是Anaconda,程序在Jupyter Notebook上运行的。 第一次实战,注解比较多。另外我将一些函数做了总结与对比,见我的这篇文章前言k近邻是一种基本分类与回归方法。k近邻法的输入为实例的特征向量,对应于特征空间的点,输出为实例的类别,可以取多类。k近邻法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其K个最近邻的训练

2017-12-10 17:37:39 1080 1

原创 《机器学习实战》——2.k-近邻算法(KNN )函数总结

* 在《机器学习实战》第二章中,使用了KNN算法改进约会网站配对效果。本文为在实现过程中使用到的一些函数 基本用法的总结。* 1. str.strip()方法语法:str.strip([chars]) 功能:返回移除字符串头尾指定字符后生成的新字符串 参数: chars 需要移除字符串头尾的指定字符(默认是空格) 官方文档描述: Return a copy of the string w

2017-12-10 13:55:18 384

原创 《统计学习方法》学习笔记(一)——统计学习方法概论

将记录学习此书的历程。以章节为单位。最后还会开辟专题。统计学习方法三要素:模型(model)、策略(strategy)、算法(algorithm)。Supervised learning:它的任务是学习一个模型,使模型能够对任意给定的输入与其相应的输出做一个好的输出。回归问题:输入变量与输出变量均为连续变量的预测问题; 分类问题:输出变量为有限个离散变量的预测问题称为分类问题。一个关于监督学习数据

2017-09-30 22:28:10 471

原创 冒泡排序原理及优化实现(JS)

本文主要分析了两大入门排序算法——选择排序和冒泡排序通过两个例子结合实际代码,使之更容易被理解。

2017-08-19 22:23:07 748

空空如也

空空如也

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

TA关注的人

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