自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (16)
  • 收藏
  • 关注

转载 只允许遍历一遍字符串,找出字符串中第一个只出现一次的字符

find the first unique character in  a string and you can just traverse this string only one time. if there is no such character, just return '#' and '#' will not appear in the string, else return the

2016-07-29 22:06:26 1549

原创 反转二叉树--递归和非递归

【如题】对一棵二叉树进行反转,即各个节点的左右子树进行反转。【方法一】非递归层序遍历:每遍历一个结点,对其左右结点进行交换。交换根结点的左右子树;交换第二层结点的左右子树。。。。。。。TreeNode* inverse(TreeNode* root){ if(root==NULL) return NULL; queue que; que.push(r

2016-07-29 20:39:15 6233

转载 判断两个字符串是否由相同字符组成

【题目描述】如题:写一个算法来判断两个字符串是否为换位字符串。(换位字符串是指组成字符串的字符相同,但位置不同)【方法一】假设为ASCII码字符串,那么可以分配两个256大小的int数组,每个数组用于统计一个字符串各个字符出现的次数,最后,比较这两个int数组,看是否每个元素都相同。时间复杂度为O(n)。int IsSame(char* str1, char

2016-07-28 09:43:14 5413 1

转载 二叉排序树中的第k小元素

【题目描述】如题:查找二叉排序树中的第k小元素【若是结点的话,就直接输出TreeNode就行】。即leetcode的230题【方法一】1、计算左子树元素个数left。2、 left+1 = K,则根节点即为第K个元素      left >=k, 则第K个元素在左子树中,     left +1 K-left-1元素。计算树中的节点个数

2016-07-28 08:37:45 6317 1

转载 单链表是否有环,求环起点,环长等

1.判断单链表是否有环  使用两个slow, fast指针从头开始扫描链表。指针slow 每次走1步,指针fast每次走2步。如果存在环,则指针slow、fast会相遇;如果不存在环,指针fast遇到NULL退出。  就是所谓的追击相遇问题:    2.求有环单链表的环长   在环上相遇后,记录第一次相遇点为Pos,之后指针slow继续每次走1步,fast每

2016-07-26 08:25:11 1593

转载 查找链表的中间节点

转自:http://blog.csdn.net/wkupaochuan/article/details/8663335题目的解法当然不可能是一次遍历得到链表长度,然后再遍历一半,那是最最没办法的办法。在链表中很多题目的解法都跟大小指针有关。比如这道题目,设立两个指针,一个单步走,一个两步走,当大步指针到达链表尾部的时候,小步指针也正好位于链表中间位置。算法实现如下:

2016-07-26 07:53:02 882

转载 海量数据中找出前k大数(topk问题)

前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。        先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。

2016-07-23 10:59:36 23790 2

转载 TCP/IP三次握手,四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:

2016-07-23 10:29:45 334

转载 几种进程间的通信方式

# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。#信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问

2016-07-22 23:25:18 309

转载 数组中只出现一次的数

本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢。欢迎关注微博:http://weibo.com/MoreWindows    首先看看题目要求:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。 这个题目非常有意思,在

2016-07-21 22:50:27 352

转载 SecureCRT上传、下载文件(使用sz与rz命令)

利用SecureCRT上传、下载文件(使用sz与rz命令)       借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器。     其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混):     sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to ci

2016-07-21 16:14:55 536

转载 查找数组中的逆序对

题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。输入:每个测试案例包括两行:第一行包含一个整数n,表示数组中的元素个数。其中1 第二行包含n个整数,每个数组均为int类型。输出:对应每个测试案例,输出一个整数,表示数组中的逆序对的总数。样例输入:47 5 6 4

2016-07-19 23:08:55 6364 3

转载 归并排序

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plain copy

2016-07-19 23:07:31 390

转载 数组循环移位

设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。     不合题意的解法如下:     我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次。abcd1234--->4abcd123--->34abcd12--->234abcd1--->1234abcd。代码如下所示:[cpp] view pla

2016-07-18 22:39:48 574

转载 排序算法总结

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,

2016-07-17 15:25:20 565

原创 一个无序数组中两个数之和等于给定的值sum

【问题描述】给定一个数组,求两个数之和=给定值sum的所有组合个数。【变形】两个数之和=sum的任意一组数【方法一】穷举法从数组中任意找两个数,看其和是否=sum。时间复杂度O(N^2)【方法二】先排序,然后定义两个指针,一个i=0指向数组头,一个j=len-1指向数组的尾,看其和是否==sum;若==,则查找成功返回;若>sum,则尾指针j--;若时间复杂

2016-07-16 11:47:11 16001 1

转载 连续子数组的最大和

【问题描述】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间负责度为O(n)【解析】看到O(n)时间复杂度,我们就应该能够想到我们只能对整个数组进行一次扫描,在扫描过程中求出最大连续子序列和以及子序列的起点和终点位置。假如输入数组为{1,-2,3,10,-4,7,2,-5},我们尝试从头到尾累加其中的正数,

2016-07-16 10:42:21 359

转载 寻找两个有序数组中的第K个数或者中位数

假设有长度分为为M和N的两个升序数组A和B,在A和B两个数组中查找第K大的数,即将A和B按升序合并后的第K个数。解法一:使用两个指针指向A和B的开头,很容易在O(M+N)的时间内完成,此算法略过。解法二:使用二分的方法。算法思想在代码注释中[cpp] view plain copy print?#include

2016-07-14 17:28:28 1818

转载 求一个数组中第k大的数

求一个数组中第k大的数【方法一】冒泡:因为只要冒泡k趟即可,第一趟冒泡第一大,第二次冒泡第二大,第k次冒泡第k大,时间复杂度为O(kn),n为数组长度。但是我们都知道快速排序是对冒泡的改进,降低冒泡的递归深度,使时间复杂度降低到O(nlgn),为什么不用快排呢?那么快排的时间复杂度又是多少呢?【方法二】快排--不用完全快排完成:因为快排每次将数组划分为两组加一个枢纽

2016-07-14 16:50:33 1866

原创 复杂链表的复制

【问题描述】有一个这样的复杂链表:每个节点有一个数据域val,一个指向下一个节点的next指针;和一个指向链表中任意一个节点或者为NULL的random指针;现要求复制一个完全一样的链表出来。【思路】方法一:蛮力法。①首先,复制链表的节点,暂时不处理随机指针;②针对每个节点,用暴力法搜索原链表找出,随机指针的指向节点,然后新链表的随机指针同样指向该节点。时间复杂度:O(N2

2016-07-14 15:11:24 422

原创 topk--堆排序--小顶堆

【问题描述】假设需要我们在一堆海量数据中找出排名前k的数据;最好的方法是用最小堆排序,直接用前k个数据建立一个小顶堆,然后遍历剩余的数,①如果此数②如果此数>堆顶的数,则将此数和堆顶的数交换,然后从堆顶向下调整堆,使其重新满足小顶堆。【说明】堆的存储一般用数组来表示堆,第i个节点的父节点下标为i/2-1;它的左右节点下标分别为:2*i+1和2*1+2【代码】

2016-07-14 07:58:54 5544

转载 python机器学习sklearn数据集iris介绍

############################说明:# 撰写本文的原因是,笔者在研究博文“http://python.jobbole.com/83563/”中发现# 原内容有少量笔误,并且对入门学友缺少一些信息。于是笔者做了增补,主要有:# 1.查询并简述了涉及的大部分算法;# 2.添加了连接或资源供进一步查询;# 3.增加了

2016-07-11 14:54:41 11177

转载 python机器学习scikit-learn中的数据集简介

在windows下安装sklearn,直接下载winpython安装就行了。自行选择32或64位。 http://sourceforge.net/projects/winpython/后面本文都把sklearn简称sk。sk已经自带了一些数据集,先看iris和digits:from sklearn import datasetsiris = datasets.load_iris(

2016-07-10 22:34:51 5839

转载 【机器学习实验】scikit-learn的主要模块和基本使用

引言对于一些开始搞机器学习算法有害怕下手的小朋友,该如何快速入门,这让人挺挣扎的。在从事数据科学的人中,最常用的工具就是R和Python了,每个工具都有其利弊,但是Python在各方面都相对胜出一些,这是因为scikit-learn库实现了很多机器学习算法。加载数据(Data Loading)我们假设输入时一个特征矩阵或者csv文件。首先,数据应该被载入内存中。scikit

2016-07-10 17:07:30 1882

转载 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

一、标准化(Z-Score),或者去除均值和方差缩放公式为:(X-mean)/std  计算时对每个属性/每列分别进行。将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。实现时,有两种不同的方式:使用sklearn.preprocessing.scale()函数,可以直接将给定数据进行标

2016-07-10 17:05:14 1849

原创 python3.x 和 python2.x关于 urllib的用法

在python2.x版本中可以直接使用import urllib来进行操作,但是python3.x版本中使用的是import urllib.request来进行操作,下面是简单的例子:python2.ximport urlliburl = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345'text

2016-07-10 16:34:13 2319

转载 urllib和urllib2区别 python2.x

作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版。今天看到老外写的一篇《Python: difference between urllib and urllib2》才明白其中的区别。 You might be intrigued by the existence of two separate URL modules in Pyt

2016-07-10 16:04:13 707

转载 二分查找算法

二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为:    1.第一步查找中间元素,即5,由于5    2.寻找{6, 7, 8,

2016-07-07 23:15:01 391

转载 C语言中实现数组的动态增长

原理: 在C语言中数组下标访问可以看成指针的偏移访问1、对表进行检查,看看它是否真的已满2、如果表确实已满,使用realloc()函数扩展表的长度,并进行检查,确保realloc()操作成功进行。3、在表中增加所需要的项目code:int current_element=0;int total_element=128;char *dynamic=mall

2016-07-07 22:44:42 3930

转载 归并排序

目录要点    归并排序的基本思想算法分析    归并排序算法的性能    时间复杂度    空间复杂度    算法稳定性    归并排序和堆排序、快速排序的比较完整参考代码    Java版本参考资料相关阅读回到顶部要点归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,

2016-07-07 09:38:29 473

转载 合并两个有序数组为一个有序数组

二、问题:两个有序数组,合并成一个有序数组,假设第一个数组空间足够容纳两个数组。分析:考虑到a数组很大,可以直接在a数组上进行合并,但是要讲究效率。如果单纯从前往后合并,那么效率会非常低,因为a数组后面的数字需要不停的移动。换一种思路,我们采用从后往前合并,首先计算出总长度,设置一个指针从a数组最后往前移动。算法代码:{CSDN:CODE:1748851

2016-07-06 21:49:44 7070

转载 有100W个关键字,长度小于等于50字节。用高效的算法找出top10的热词,并对内存的占用不超过1MB。

①先把100W个关键字hash映射到小文件,根据题意,100W*50B = 50*10^6B = 50M,而内存只有1M,故干脆搞一个hash函数 % 50,分解成50个小文件;②针对对每个小文件依次运用hashmap(key,value)完成每个key的value次数统计,后用堆找出每个小文件中value次数最大的top 10;③最后依次对每两小文件的top 10归并,得到最终的to

2016-07-05 17:29:02 1371

转载 【Top-k问题】如何从海量数据中找出前k大数

1. 问题描述在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载率最高的前10首歌等等。2. 当前解决方案针对top k类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按

2016-07-05 17:24:42 4450

转载 awk 实例练习(二)

先来总结一下awk内置变量:ARGC          命令行参数个数ARGV          命令行参数排列ENVIRON       支持队列中系统环境变量的使用FILENAME      awk浏览文件名FNR           浏览文件的记录数FS            设置输入域分隔符,等价于命令行-F选项NF            浏览记录的域个数

2016-07-01 22:47:15 652

转载 awk 实例练习(一)

前一篇学习了awk的基本知识,现在来做一些练习加深一下印象。假设我们有这样一个待处理的文件"grade.txt":M.Tansley     05/99     48311     Green     8     40     44J.Lulu     06/99     48317     green     9     24     26P.Bunny     02

2016-07-01 21:17:24 338

转载 Linux:awk命令

简单使用:awk :对于文件中一行行的独处来执行操作 。awk -F :'{print $1,$4}'   :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 。AWK命令介绍awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 1

2016-07-01 17:25:55 475

转载 hadoop常用操作命令汇总

* 文件操作 * 查看目录文件 * $ hadoop dfs -ls /user/cl * * 创建文件目录 * $ hadoop dfs -mkdir /user/cl/temp * * 删除文件 * $ hadoop dfs -rm /user/cl/temp/a.txt * * 删除目录与目录下所有文件 * $ hadoop dfs -rmr /u

2016-07-01 09:40:34 747

常用中文停用词

常用的中文停用词,停止词,stopword

2017-05-08

20news-bydate.tar.gz 文本分类 数据集 20news

20news-bydate.tar.gz 文本分类 数据集 20news

2016-05-19

集体智慧编程(中文版)

本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。 本书是Web开发者、架构师、应用工程师等的绝佳选择。

2016-02-25

推荐系统实践

推荐系统实践,推荐算法讲解 很好的一本书

2016-02-24

codeblocks使用教程 linux版

linux版本的codeblocks使用教程,简单明了,希望对学习者有所帮助

2015-09-23

rfc2616中文版

rfc2616中文版,还不错,有需要的可以看一下

2013-07-29

2012年5月上半年软件设计师考试试题及其答案

2012年5月上半年软件设计师考试试题及其答案,希望对软考的朋友们有所帮助

2013-05-14

2011下半年软件设计师试题及其答案

2011年下半年的软件设计师试题及其答案,自己看了下还不错,希望对打算软考的有帮助

2012-07-27

2012软件设计师试题及答案

2012年5月份“软件设计师”软考真题及其答案,希望对大家有所帮组!!

2012-07-27

Maven下建立web工程详细步骤

在Eclipse中如何运用Maven建立自己的web项目,在网上找了篇文档感觉不错,同时对步骤进行了些许细化,比较清晰,希望对初学者有所帮助。

2012-07-11

Spring Security 3.x.chm 中文参考手册

Spring Security 3.x中文参考手册.chm,是好不容易在网上找到的,版面格式可能稍有点乱,不过还是不错的,希望对做开发的朋友有帮助;同时,如果大家找到更好的版本,希望可以拿出来与大家一起分享。

2012-07-09

Spring2.5+Struts1.3.8+Hibernate3.0整合

Spring2.5+Struts1.3.8+Hibernate3.0整合详细配置 希望对初学者有所帮助

2012-05-31

struts1.2源码

struts1.2源码 struts1.2下载 struts1.2的jar包 struts1.2

2012-05-31

ssh1实现简单的增删查改i+ssh2实现crud

用ssh1和ssh2整合开发,实现了简单的增删查改功能,希望对初学者有所帮助。

2012-05-25

空空如也

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

TA关注的人

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