自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上下求索

路漫漫其修远兮,吾将上下而求索

  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 《结网》读书笔记

1、互联网产品经理负责对现有互联网产品进行管理及营销的人员,也负责开发新产品。 2.0从概念开始 概念——形式——风格——结构——工艺——外观 概念:指想要创造什么样的用户价值,满足用户哪方面需求 形式:指产品形态 风格:产品整体风格,非视觉风格 结构:指人机交互设计 工艺:指技术研发和项目管理 外观:GUI设计2.1概念2.0

2016-02-20 16:20:46 361

原创 《简约至上:交互式设计四策略》读书笔记

1、用户喜欢简单、值得信赖、适应性强的产品 2、用户明白所有不必要的功能都是需要付钱的 3、简单不是能够黏在用户界面上的装饰,简单的特色在于你使用的方法、所要表现的产品,以及用户执行的任务 4、先理解用户,再思考合适的设计 5、软件使用环境是观察用户的最佳地点 6、用户分为专家型、随意型、主流用户三类型,主流用户占据绝对主体地位,专家型想要的功能往往会吓倒主流型用户。想吸引大众,必关注主流

2016-02-20 15:11:38 915

转载 A*搜索算法

启发式搜索算法: 要理解 A*搜寻算法,还得从启发式搜索算法开始谈起。 所谓启发式搜索,就在于当前搜索结点往下选择下一步结点时,可以通过一个启发函数 来进行选择,选择代价最少的结点作为下一步搜索结点而跳转其上(遇到有一个以上代价最 少的结点,不妨选距离当前搜索点最近一次展开的搜索点进行下一步搜索)。 DFS 和 BFS 在展开子结点时均属于盲目型搜索,也就是说,它不会选择哪个结点在下 一

2016-01-30 21:54:27 594

转载 命令模式

定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图: 命令模式的结构顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。 ConcreteCommand类:Com

2016-01-29 23:05:51 320

转载 访问者模式

定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图:访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下:class A { public void method1(){ System.out.println("我是A");

2016-01-29 22:52:28 345

转载 观察者模式

定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署的功能,就像eclipse开发时,只要修改了文件,

2016-01-29 22:14:39 275

转载 中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图: 中介者模式的结构中介者模式又称为调停者模式,从类图中看,共分为3部分:抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。 中介者实现类:从抽象中介者继承而来,实现抽象中介

2016-01-29 21:55:59 321

转载 模板方法模式

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式 类图: 事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能好实现,排序就有点麻烦了。但

2016-01-28 21:39:58 273

转载 多线程及其同步

多线程程序能够充分利用多核CPU,提升程序性能。在编写多线程程序时,我们首先需要考虑的问题是如何协调好各个线程之间的工作,让他们有条不紊的共同高效完成工作,即:线程同步。Linux中,可以通过互斥锁、条件变量、信号量、读写锁等来解决线程的资源同步问题。此外,在多线程编程实现线程同步过程中,尤其需要注意避免发生死锁现象。关于死锁,详细说明如下:计算机系统中,如果系统的资源分配策略不当,更常见的可能是程

2016-01-28 21:27:46 268

原创 《剑指offer》读书笔记(1)

简历中描述项目的STAR模型: situation:简短的项目背景,比如项目的规模,开发的软件的功能、目标用户等。task:自己完成的任务。写详细,要让面试官对你的工作一目了然。用词上注意区分参与和负责。负责某个项目是指,理解项目的总体框架设计、核心算法、团队合作等问题。action:为了完成任务自己做了哪些工作,是怎么做的。详细介绍。做系统设计的可以介绍系统架构的特点,做软件开发的可以写基于什么

2016-01-27 10:11:23 351

转载 Socket编程

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/I

2016-01-26 08:45:44 286

转载 机器学习中的数学(2)-线性回归,偏差、方差权衡

线性回归定义:在上一个主题中,也是一个与回归相关的,不过上一节更侧重于梯度这个概念,这一节更侧重于回归本身与偏差和方差的概念。回归最简单的定义是,给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小。上图所示,给出一个点集(x,y), 需要用一个函数去拟合这个点集,蓝色的点是点集中的点,而红色的曲线是函数的曲线,第一张图是一个最简单的模型,对应的函数为y = f(x) = a

2016-01-24 20:29:20 862

转载 机器学习中的数学(1)-回归和梯度下降

回归与梯度下降:回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等,这个将在后面去讲。用一个很简单的例子来说明回归,这个例子来自很多的地方,也在很多的open source的软件中看到,比如说weka。大概就是,做一个房屋价

2016-01-24 19:56:49 424

转载 机器学习算法基础知识

可利用的算法非常之多。困难之处在于既有不同种类的方法,也有对这些方法的扩展。这导致很快就难以区分到底什么才是正统的算法。在这里,两种方式来思考和区分在这个领域中你将会遇到的算法。第一种划分算法的方式是根据学习的方式,第二种则是基于形式和功能的相似性(就像把相似的动物归为一类一样)。两种方式都是有用的。一、学习方式基于其与经验、环境,或者任何我们称之为输入数据的相互作用,一个算法可以用不同的方式对一个

2016-01-24 19:09:42 516

转载 R学习笔记(4):使用外部数据

鉴于内存的非持久性和容量限制,一个有效的数据处理工具必须能够使用外部数据:能够从外部获取大量的数据,也能够将处理结果保存。R中提供了一系列的函数进行外部数据处理,从外部数据的类型可以分为文件、数据库、网络等;其中文件操作还可以区分为导入/导出操作和流式操作。1 数据框 前面 仅仅提到:列表(list)和数据框(data frame)分别是向量和矩阵的泛化——列表允许包含不同类型的元素,甚至可以把对

2016-01-24 16:33:19 787

转载 R语言学习笔记(3):绘图

R提供了非常丰富的绘图功能,可以通过命令:demo (graphics) 或者demo(persp)来体验R绘图功能的强大。图形工具是 R 环境的一个重要组成部分。 R提供了多种绘图相关的命令,分成三类:高级绘图命令:在图形设备上产生一个新的图区,它可能包括坐标轴,标签,标题等等。低级绘图命令:在一个已经存在的图上加上更多的图形元素,如额外的点,线和标签。交互式图形命令:允许交互式地用鼠标在一个已经

2016-01-23 22:47:04 743

转载 R语言学习笔记(2):数据类型和数据结构

R中的数据结构主要面向《线性代数》中的一些概念,如向量、矩阵等。值得注意的是,R中其实没有简单数据(数值型、逻辑型、字符型等),对于简单类型会自动看做长度为1的向量。比如:> b=5 > length(b) [1] 1 > typeof(b) [1] "double" > mode(b) [1] "numeric" R中最重要的数据结构是向量(vector)和矩阵(matrix)。向量由一系列

2016-01-22 22:56:45 410

转载 R语言学习笔记(1):R是什么

R初窥从CRAN(The Comprehensive R Archive Network)cran.r-project.org—mirrors.html中选择一个镜像,然后下载合适的安装包(R支持Linux、Mac OS X和Windows)。安装并运行R后,可以看到R的控制台(我的操作系统是Mac OS): 在R的控制台输入如下命令: install.packages(‘quantmod

2016-01-22 21:27:36 5693

转载 十个最值得阅读学习的C开源项目

开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到60

2016-01-22 20:31:30 706

转载 C++中的指针

C++程序设计重要基础就是类和对象,对象指针是很重要的一部分,包括指向对象的指针、指向对象成员的指针、this指针、指向对象的常指针、指向常对象的指针等。 1、指向对象的指针定义:对象空间的起始地址就是对象的指针。说明:在建立对象时,编译系统就为每个对象分配一定的存储空间以存放其成员,不过注意,在一般情况下不同对象的数据存储单元中存放的数据成员是不相同,而不同对象的函数代码却是相同的,也就是说,它

2016-01-22 20:24:50 292

转载 C++封装、继承、多态

面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用! 1、什么是封装? 封装可以隐藏实现细节,使得代码模块化;封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一

2016-01-20 11:53:49 353

转载 C++中内存分配详解

一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量

2016-01-20 10:53:55 245

转载 C++/C面试题集

什么是预编译,何时需要预编译: 答: (1) 总是使用不经常改动的大型代码体 (2) 程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头char * const p char const * p const char *p 上述三个有什么区别? 答: char * const p; //常量指针,p的值不

2016-01-19 22:55:03 334

原创 IBM Bluemix

IBM Bluemix

2016-01-13 22:58:38 476

原创 华为机试题目

在网上找了一些华为机试的题目,每日坚持写代码。1、字符、字符串与数值间的转换分析: int i = (ch-48); 这个语句完成了单个字符 ch 转化为数字并存入整型变量 i 的功能。因为字符 0 在 ASCII 码中对应了 48,后面的数值也是以 1 递增,所以用它对应的ASCII码减去48就是这单个字符的整数形式.如此,我们也可以反过来,实现将整型转换成字符:char ch = (i+4

2016-01-12 21:32:06 400

原创 TLD开源项目

准备整理网上搜集的TLD开源项目资料,然后加入自己的一些算法改进开发这个开源项目了。敬请期待。

2016-01-12 21:10:31 396

原创 编程中遇到的Bugs

1、问题:计算机中丢失opencv_core243d.dll ,应该怎么办? 解决:没有配置好开发环境。看看系统环境变量的path目录下有没有加上OpenCV-2.4.3\build\x86\vc10\bin;还要在VS的VC++目录里添加好include和lib:包含文件: OpenCV_2.4.3\build\include OpenCV_2.4.3\build\include

2016-01-12 20:53:39 297

转载 面试笔试技巧

关于面试笔试,就六个字:技巧+实力+运气。本文只涉及四个字:技巧+实力。当然,本文的技巧,不同于一般意义的“技巧”。面试笔试是需要技巧的 面试是需要技巧的,这一点没有人否认。笔试、面试时有相当比例的题目的是跟程序员相关,但又没那么紧密相关的东西。比如考察逻辑思维能力、抽象思维能力的题目,大公司尤其注重这一点,感觉有点测试智商的味道。好吧,我承认,我的智商有时候不够用。不可否认有极个别的聪明人存在,

2016-01-12 15:42:58 497

转载 苹果向求职者抛出的8大难题

苹果公司在招聘员工时,会向求职者问一些“可汗学院”(Khan Academy)提出的考验智商的谜题。你 可能没听说过“可汗学院”,但“可汗学院”的谜题被苹果采用一定是有其道理的。可汗学院由孟加拉裔美国人萨尔曼•可汗(Salman Kahan)创立,是一家由谷歌和比尔&梅琳达•盖茨基金会背后支持的教育性非营利组织,主旨在于利用网络影片进行免费授课,目前已经有关于数 学、历史、金融、物理、化学、生物、天

2016-01-12 15:31:48 812

转载 互联网方法论——周鸿祎

1 没有人能打败趋势任何企业都可以找最强的竞争对手打,但有一个对手你是打不过的,那就是趋势。趋势一旦爆发,就不会是线性发展。它会积蓄力量于无形,然后突然爆发出雪崩效应。任何不愿意改变的力量都会在雪崩面前被毁灭,被市场边缘化。2 商业模式不是赚钱模式很多人说到商业模式,就在讲如何赚钱。本质不是如此,先要考虑产品模式,用户模式,推广模式,最后才是收入模式。有了前三者以后,赚钱从来不是问题。3 免费是一种

2016-01-12 15:26:01 478

转载 产品经理必读的九步法

多年以后,当我面对那些产品经理,我会想起自己当年从事的是一份高薪的工作。那是2000年,我大学毕业后在北京一家IT网站做搜索引擎PM,当时我一个月的薪水能在亚运村买一平方米房子,十年之后,朋友招聘PM,开出的月薪和我十年前一样,差别是这时年青的PM用一年的薪水才能在亚运村买到一平方米的房子。对此,我很迷惑,于是咨询HR的同事,HR的同事告诉我,十年前产品经理是稀缺工种,现在不是了。 十年间,北京的

2016-01-12 15:18:26 440

转载 360周鸿祎:互联网成功十大案例

TOP10 百度早期如何打动用户?案例描述:当年百度的市场份额能获得这么多,真的是搜索技术比谷歌做得好?不是,是因为百度有MP3搜索。民工兄弟们交流的时候肯定不会说:我在用一个搜索引擎,使用了高级的搜索技术。他们会说:有一个网站,上面可以免费听歌,可以免费下歌,你也可以试试。正是这样一个简单的点,打动了越来越多的小白用户,才有了今天的百度。TOP9 QQ如何在免费基础上赚钱?案例描述:互联网的增值服

2016-01-12 15:05:59 3090

转载 如何写简历?

一、没有必要撒谎写简历最差的策略就是撒谎了。这种欺骗本身就自相矛盾。你到底希望和聪明人共事呢,还是笨人呢?大多数人希望和聪明人共事,但是聪明人你骗得了么,或者说被你骗了的算是你认为的聪明人么?你要和想找好工作,基本假设就是大家都是明白人不好骗的。看简历的人也上过学,也写过简历,更清楚其中的注水手段,以为自己能吹牛过关,大部分都是自取其辱。即便你过了简历筛选一关,也没那么容易,面试时候肯定会问你那些你

2016-01-12 15:03:12 469

转载 Java设计模式中类的关系

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1、依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为

2016-01-12 14:55:17 359

转载 PageRank算法以及Map-Reduce实现

一、什么是pagerankPageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO。PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。它的思想是模拟一个悠闲的上网者,上网者首先随机选择一个网页打开,然后在这个网页上呆了几分钟后,跳转到该网

2016-01-12 14:10:14 400

转载 常用算法总结

最常用的算法1.图搜索算法(BFS,DFS),深度优先搜索尤其重要,因为它能给出很多图的结构信息。2.排序算法(比较排序和桶排序思想)3.通用的动态规划算法4.匹配算法和网络流算法5.正则表达式和字符串匹配算法最常用的数据结构1.图,尤其是树结构特别重要。2.Maps结构3.Heap结构4.Stacks/Queues结构5.Trie树其他一些相对比较常用的数据算法还有:贪心算法、Prim’s / K

2016-01-11 22:46:17 254

原创 排序算法总结

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。各种排序的稳定性,时间复杂度、空间复杂度、稳定性总结如下图: 关于时间复杂度:(1)平方阶(O(n2))排序 各类简单排序:直接插入、直接选

2016-01-11 22:27:57 270

原创 桶排序

算法思想:将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是比较排序,则不受到 O(n log n) 下限的影响。简单来说,就是把数据分组,放在一个个的桶中,然后对每个桶里面的在进行排序。例如要对大小为[1..1000]

2016-01-11 22:13:30 317

原创 堆排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序的平均时间复杂度为Ο(nlogn) 。算法步骤:1)创建一个堆H[0..n-1]2)把堆首(最大值)和堆尾互换3)把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置4) 重复步骤2

2016-01-11 21:51:40 231

原创 快速排序

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

2016-01-11 21:06:40 218

danpianjiiajaja a

单排你就爱好DJAHDUHDSUHFSFYUSGFBSUF SF SUIHAUDHFSUI就恢复儿啊uidshdfh

2012-11-16

空空如也

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

TA关注的人

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