Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

剑指offer之和为定值的两个数

剑指offer之和为定值的两个数

剑指offer之和为定值的两个数2015-10-02题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输入:每个测试案例包括两行:第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1 <= n <= 10^6,k为int第二行包含n个整数,每个数组均为int类型。输出:对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出&ldqu...
求按从小到大的顺序的第5个丑数

求按从小到大的顺序的第5个丑数

求按从小到大的顺序的第5个丑数2015-10-04题目: 我们把只包含因子2, 3 和 5的数称作丑数. 求按从小到大的顺序的第5个丑数.可以设置一个数组包含所需要的丑数, 依次比较乘以2, 乘以3, 乘以5的最小的数, 最后返回结果.如第5个丑数是5, 如1, 2, 3, 4(2*2), 5均是丑数.代码:/** main.cpp**Created on: 2014.6.12*Author: Spike*//*eclipse cdt, gcc 4.8.1...
基本数据结构之队列的链式表示

基本数据结构之队列的链式表示

基本数据结构之队列的链式表示2015-10-04该队列为链式队列,初建队列时,队头和队尾均指向头结点,头结点中不存放数据,只存放指针,头结点的下一个节点才开始存放数据,这这样做的目的是为了在入队和出队时方便对队列的操作,而不用考虑特殊情况。C语言源代码#include<stdio.h>#include<stdlib.h>typedef struct Node{int data;struct Node *pNext;}NODE,*PN...
剑指offer之字符串转整数

剑指offer之字符串转整数

剑指offer之字符串转整数2015-10-04题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。输入:输入可能包含多个测试样例。对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n<=10000000)。输出:对应每个测试案例,若输入为一个合法的字符串(即代表一个整数),则输出这个整数。若输入为一个非法的字符串,则输出“My God”。样例输入:5-5+8样例输出:5-5...
机器学习算法的python实现之KNN-k近邻算法的实现

机器学习算法的python实现之KNN-k近邻算法的实现

机器学习算法的python实现之KNN-k近邻算法的实现2015-10-061.背景今后博主会每周定时更新机器学习算法及其python的简单实现。今天学习的算法是KNN近邻算法。KNN算法是一个监督学习分类器类别的算法。什么是监督学习,什么又是无监督学习呢。监督学习就是我们知道目标向量的情况下所使用的算法,无监督学习就是当我们不知道具体的目标变量的情况下所使用的。而监督学习又根据目标变量的类别(离散或连续)分为分类器算法和回归算法。k-Nearest Ne...
机器学习算法的python实现之决策树-Decision tree(1)信息熵划分数据集

机器学习算法的python实现之决策树-Decision tree(1)信息熵划分数据集

机器学习算法的python实现之决策树-Decision tree(1)信息熵划分数据集2015-10-061.背景决策书算法是一种逼近离散数值的分类算法,思路比较简单,而且准确率较高。国际权威的学术组织,数据挖掘国际会议ICDM (the IEEE International Conference on Data Mining)在2006年12月评选出了数据挖掘领域的十大经典算法中,C4.5算法排名第一。C4.5算法是机器学习算法中的一种分类决策树算法,...
堆排序(heap sort)的C++实现

堆排序(heap sort)的C++实现

堆排序(heap sort)的C++实现2015-10-08堆排序包含两个步骤:第一步: 是建立大顶堆(从大到小排序)或小顶堆(从小到大排序), 从下往上建立; 如建堆时, s是从大到小;第二步: 是依次交换堆顶和堆底, 并把交换后的堆底输出, 只排列剩余的堆, 从上往下建立; 如构造时, s始终是1;堆排序(Heap Sort)的时间复杂度是O(nlogn), 最坏情况下也是如此.而快速排序(Quick Sort), 若初始记录序列有序, 快速排序将退化...
机器学习算法的python实现之决策树-Decision tree(2) 决策树的实现

机器学习算法的python实现之决策树-Decision tree(2) 决策树的实现

机器学习算法的python实现之决策树-Decision tree(2) 决策树的实现2015-10-081.背景接着上一节说,没看到请先看一下上一节关于数据集的划分数据集划分。现在我们得到了每个特征值得信息熵增益,我们按照信息熵增益的从大到校的顺序,安排排列为二叉树的节点。数据集和二叉树的图见下。(二叉树的图是用python的matplotlib库画出来的)数据集:决策树:...
机器学习算法的python实现之扫黄神器-朴素贝叶斯分类器的实现

机器学习算法的python实现之扫黄神器-朴素贝叶斯分类器的实现

机器学习算法的python实现之扫黄神器-朴素贝叶斯分类器的实现2015-10-081.背景以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去。嗯,现在终于用到了。朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到。核心思想就是找出特征值对结果影响概率最大的项。公式如下:什么是朴素贝叶斯,就是特征值相互独立互不影响的情况。贝叶斯可以有很多变形,这里先搞一个简单的,以后遇到复杂...
机器学习算法的python实现之逻辑回归的实现(LogicalRegression)

机器学习算法的python实现之逻辑回归的实现(LogicalRegression)

机器学习算法的python实现之逻辑回归的实现(LogicalRegression)2015-10-101.背景知识在刚刚结束的天猫大数据s1比赛中,逻辑回归是大家都普遍使用且效果不错的一种算法。(1)回归先来说说什么是回归,比如说我们有两类数据,各有50十个点组成,当我门把这些点画出来,会有一条线区分这两组数据,我们拟合出这个曲线(因为很有可能是非线性),就是回归。我们通过大量的数据找出这条线,并拟合出这条线的表达式,再有数据,我们就以这条线为区分来实现...
机器学习算法的python实现之svm支持向量机(1) 理论知识

机器学习算法的python实现之svm支持向量机(1) 理论知识

机器学习算法的python实现之svm支持向量机(1) 理论知识2015-10-101.背景强烈推荐阅读(http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html)支持向量机SVM(support vector machines)。SVM是一种二值分类器,是近些年比较流行的一种分类算法。本文,首先要介绍一些基本的知识概念,在下一章将对SVM进行简单地代码实现。2.基本概念(1)线性可分...
机器学习算法的python实现之svm支持向量机(2) 简化版SMO算法

机器学习算法的python实现之svm支持向量机(2) 简化版SMO算法

机器学习算法的python实现之svm支持向量机(2) 简化版SMO算法2015-10-101.背景知识通过上一节我们通过引入拉格朗日乗子得到支持向量机变形公式。详细变法可以参考这位大神的博客——地址参照拉格朗日公式F(x1,x2,...λ)=f(x1,x2,...)-λg(x1,x2...)。我们把上面的式子变型为:约束条件就变成了:下面就根据最小优化算法SMO(Sequential Minimal O...
数据结构之归并排序(merging sort) 详解

数据结构之归并排序(merging sort) 详解

数据结构之归并排序(merging sort) 详解2015-10-10归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort),但是归并排序是稳定排序, 而快速排序和堆排序则不是.代码:/** main.cpp**Created on: 2014....
<< 121 122 123 124 125 126 127 128 129 130 >>