自定义博客皮肤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)
  • 资源 (4)
  • 收藏
  • 关注

原创 关于单例

标准的单例方法需要重写 copyWithZone, allocWithZone, init, 确保以任何方式创建出来的对象只有一个。

2016-12-22 14:34:13 196

转载 8大排序算法图文讲解

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示意图插入排序是一种最简单直

2016-12-21 16:23:17 312

转载 朴素贝叶斯分类算法

数学之美番外篇:平凡而又神奇的贝叶斯方法概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计。我心想,一个方法能够专门写出一本书来,肯定很牛逼。后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法。—

2016-12-21 16:18:27 5139

转载 贝叶斯网络

数学之美系列十九:马尔可夫链的扩展 贝叶斯网络 (Bayesian Networks)贝叶斯网络在图像处理、文字处理、支持决策等方面有很多应用。在文字处理方面,语义相近的词之间的关系可以用一个贝叶斯网络来描述。我们利用贝叶斯网络,可以找出近义词和相关的词,在 Google 搜索和 Google 广告中都有直接的应用。我们在前面的系列中多次提到马尔可夫链 (Mar

2016-12-21 16:15:50 505

转载 动态规划

动态规划:从新手到专家March 26, 2013作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。前言本文翻译自T

2016-12-21 16:13:50 279

转载 从全球导航到输入法:谈谈动态规划

动态规划和我们的拼音输入法又有什么关系呢?其实我们可以将汉语输入看成一个通信问题,而输入法则是一个将拼音串到汉字串的转换器。每一个拼音可以对应多个汉字,一个拼音串就可以对应图论中的一张图。今年九月二十三日,Google、T-Mobile 和 HTC 宣布了第一款基于开源操作系统 Android 的 3G 手机,其中一个重要的功能是利用全球卫星定位系统实现全球导航。这个功能在其它手机中早

2016-12-21 16:12:47 1067

转载 线性查找相关算法

寻找最小的k个数题目描述输入n个整数,输出其中最小的k个。分析与解法解法一要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个序列从小到大排序,然后输出前面的最小的k个数。至于选取什么的排序方法,我想你可能会第一时间想到快速排序(我们知道,快速排序平均所费时间为  n*logn  ),然后再遍历序列中前k个元素输出即可。因此,总的时间复杂度:

2016-12-21 15:50:26 431

转载 寻找最小(最大)的k个数

题目描述:输入n个整数,输出其中最小的k个元素。例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4。思路1:最容易想到的方法:先对这个序列从小到大排序,然后输出前面的最小的k个数即可。如果选择快速排序法来进行排序,则时间复杂度:O(n*logn)思路2:在思路1的基础上更进一步想想,题目并没有要求要查找的k个数,甚至后n-k个数是有序的,既

2016-12-21 15:43:21 374

转载 二分查找算法

有序数组的查找题目描述给定一个有序的数组,查找某个数是否在数组中,请编程实现。分析与解法一看到数组本身已经有序,我想你可能反应出了要用二分查找,毕竟二分查找的适用条件就是有序的。那什么是二分查找呢?二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它。其算法流程如下:一开始,范

2016-12-21 15:41:00 351

转载 归并排序

归并排序用到了分治策略。用分治策略解决问题分为三步:分解、解决、合并。也即:将原问题划分成n个规模较小而结构与原问题相似的子问题; 递归地解决这些子问题,然后再合并其结果,得到原问题的解。此处n=2归并排序的伪代码(来自算法导论)123456789101112131415161718192021222324252627合并排序伪代码(使用哨兵):merge(A,

2016-12-21 15:36:12 319

转载 堆排序算法

1.堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i]2.堆排序的思想利用大顶堆(小顶堆)堆顶记录的是最大关键字(最

2016-12-21 15:33:03 275

转载 快速排序

首先简单描述下快速排序的基本思路快速排序是基于分治模式处理的,对一个典型子数组A[p...r]排序的分治过程为三个步骤:1.分解:A[p..r]被划分为俩个(可能空)的子数组A[p ..q-1]和A[q+1 ..r],使得A[p ..q-1] 2.解决:通过递归调用快速排序,对子数组A[p ..q-1]和A[q+1 ..r]排序。3.合并。快速排序伪代码(来自算

2016-12-21 15:27:04 288

转载 程序员必须知道的10大基础实用算法及其讲解

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策

2016-12-21 15:11:58 277

RXCustomFLowLayout 自定义 FlowLayout 之 Cover Flow 布局

collectionView 中 FlowLayout 的自定义,cover flow 布局,水平方向滚动。

2018-04-18

CollectionView 的简单使用

这是CollectionView 的简单实现,采用的系统 UICollectionViewFlowLayout,自定义 Cell,列表集合横向滚动或竖直滚动。

2018-04-13

RXChart 实现一条平滑曲线

根据传入的多个点,绘制一条线,可以选择是平滑的曲线还是折线,平滑曲线的实现是通过三次样条插值法进行的。曲线的绘制,有一个渐显的动画。

2018-01-29

iOS 开发 - 手绘的简单实现

Smooth Freehand Drawing on iOS(平滑手绘) 的代码集合整理,简单的实现,附有个人一点小小的理解。

2018-01-13

空空如也

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

TA关注的人

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