- 博客(254)
- 资源 (1)
- 收藏
- 关注
转载 并查集(Union-Find)算法介绍
来源: dm_vincent http://blog.youkuaiyun.com/dm_vincent/article/details/7655764本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中
2016-04-10 20:50:01
785
转载 谁是真泛型
来自: SegmentFault作者:garfileo链接:https://segmentfault.com/a/1190000004171424前两天写了篇表面上是批判 C++ 泛型但实际上只是自己的一点点反思的文章,目的只是说服自己以及那些像我一样被 C++ 折磨的欲仙欲死的人,以后不要再在 C++ 这门复杂不堪的语言的太多细枝末节之处燃烧生命,只从中取出自己需
2016-04-10 20:47:24
1007
转载 高效使用 STL
来自:大CC链接:http://www.cnblogs.com/me115/p/4596543.html仅仅是个选择的问题,都是STL,可能写出来的效率相差几倍;熟悉以下条款,高效的使用STL;当对象很大时,建立指针的容器而不是对象的容器1)STL基于拷贝的方式的来工作,任何需要放入STL中的元素,都会被复制;这也好理解,STL工作的容器是在
2016-04-10 20:46:24
741
转载 一位Google程序员的算法学习之路
来源: Lucida (@peng_gong)链接:http://zh.lucida.me/blog/on-learning-algorithms/关于严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的。
2016-04-10 20:43:05
1384
2
转载 理解Android进程创建流程
基于Android 6.0的源码剖析, 分析Android进程是如何一步步创建的,本文涉及到的源码:/frameworks/base/core/java/android/os/Process.java/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java/frameworks/base/core/java
2016-04-10 20:36:15
3234
转载 生成特定分布随机数的方法
生成随机数是程序设计里常见的需求。一般的编程语言都会自带一个随机数生成函数,用于生成服从均匀分布的随机数。不过有时需要生成服从其它分布的随机数,例如高斯分布或指数分布等。有些编程语言已经有比较完善的实现,例如Python的NumPy。这篇文章介绍如何通过均匀分布随机数生成函数生成符合特定概率分布的随机数,主要介绍Inverse Ttransform和Acceptance-Rejection两种基础
2016-04-10 20:33:23
1182
转载 for循环嵌套的效率
有人说,两个嵌套的for循环,把循环次数多的放在里面,效率会比较高。这是个老话题了。网上的讨论很多。我记得我第一次见到这个问题的时候还在上高中。今天就简单的总结一下吧。先上代码:void test1(){ long dt = DateTime.Now.Ticks; for (int i = 0; i { for (int j = 0; j {
2015-12-24 09:44:48
5132
转载 6天时间修改1行代码
英文:edweissman译者:iteye网址:http://www.iteye.com/news/25109导读:企业中,产品研发是一项综合性的工作,需要多个部门参与。但往往会出现各种各样的问题,如部门协作困难、全局监控难等,这困扰着大多数的企业。本文是一个真实的案例。(补充:各位还记得《亲爱的老板:程序员的10分钟就是3个小时》这篇文章么,本文还是艾德·韦斯
2015-11-19 16:07:05
563
转载 iOS 和 Android 设计理念的演变
英文:Rahul Chowdhury译者:BESD设计实验室 - Andy LeongiOS和Android是移动操作系统中最大的两个阵营。毫无疑问,这两个系统可以说是手机行业里的一个奇迹,并且也在逐渐变得完善。一部智能设备撇开众多的功能不说,一套不错的UI界面和良好的交互模式是一部智能机的基础。如果没有有用的用户界面,那么设备也不过是一块没有作用的
2015-11-19 16:04:49
681
转载 为什么扁平化会持续发展下去
作者:elaine90链接:http://www.ui.cn/detail/71846.html更加深入的分析一下扁平化的开始和发展、扁平化是什么?为什么会持续发展下去?个人观点,欢迎大家探讨。一、扁平化的开始和发展扁平化并不是从微软或苹果开始的,很多国外的网站早就开始了扁平化风格的设计,只不过当时不为人们所注意。微软的windows 8
2015-11-19 15:58:47
881
转载 有了这个列表,程序员不愁没练手的小项目了
英文:Martyr2译者:伯乐在线 - 伯乐在线读者链接:http://blog.jobbole.com/49762/我经常看有人发帖问关于项目点子的事,也看到了很多回帖,我自己也回了一些常见的项目。不过我觉得只列出三两个是远远不够的,因此就收集并这个项目列表,大家要找简单的编程项目学习练手的话,可以收藏并扩散本文。这些项目并不是论文级别的,只是想抛砖引玉让大家能从中受
2015-11-17 08:47:39
711
转载 一分钟认识 Git
英文: Nicole C. Engard译者: linuxstory 网址: http://www.linuxstory.org/short-introduction-github/机缘巧合之下,我开始使用 GitHub ,但事实上,刚刚入门的我不知道如何才能使 GitHub 发挥他的全部功能。不久之前,我偶然听了李福斯先生对 GitHub 的介绍,受益匪
2015-11-16 11:10:04
430
转载 模板类中重载<<和>>操作符
模板类中操作符重载问题(">"重载)在模板类中输入流“>>”和输出流“>"的重载。一、将输出流">"重载的实现写在类中#include "stdafx.h"#include using namespace std; templateclass T> class Test { public:
2015-10-18 21:09:24
699
转载 正确释放Vector的内存
作者: @_羊仔网址: http://blog.jobbole.com/37700/微博上,有人提出了一个对于Vector内存泄露的疑问。博主采用 Vector存储一些数据,但是发现在执行 clear() 之后内存并没有释放,于是怀疑产生了内存泄露。随后有人回复:“vector 的 clear 不影响 capacity , 你应该 swa
2015-10-14 11:36:41
457
转载 掌握VS2010调试 -- 入门指南
1 导言在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间。通常,debug是指发现缺陷并改正的过程。修正缺陷紧随debug之后,或者说二者是相关的。如果代码中存在缺陷,我们首先要识别造成缺陷的根本原因(root cause),这个过程就称作调试(debugging)。找到根本原因后
2015-10-05 00:59:52
544
转载 dependent name is not a type [关于模板类中的迭代器]
MSDN相关文档:https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=ZH-CN&k=k(C4346)&rd=true 如下一个模板类:template class CTest{public: typedef map TEMPLATE_MAP; typedef map::iterator T
2015-10-04 19:59:33
1120
转载 处理new分配内存失败情况
转自:http://www.51testing.com/html/70/n-827070.html在C++语言中,我们经常会使用new给一个对象分配内存空间,而当内存不够会出现内存不足的情况。C++提供了两中报告方式: 1、抛出bad_alloc异常来报告分配失败; 2、返回空指针,而不会抛出异常。 C++为什么会采用这两种方式呢?这主要是由于各大编译器公司设计C++编译器公
2015-09-03 18:45:48
1200
原创 汉字占用两字节在字符串中即被辨认为两个字符
一直是知道的,汉字占用两个字节,但写代码时很少需要汉字字符串的大小(一年来基本未用到),故对此一直没有什么实感,直到最近突然意识到占两个字节在char数组中如何表现呢?于是做了个小测试#include#includeusing namespace std;int main(void){ char a[10]; char b[10]; int i; cin >>
2015-09-02 17:44:17
1677
转载 3个开源的 Python Shell
原文:http://www.linuxlinks.com/article/20150523032756576/PythonShells.html作者: Frazer Kline译文:LCTT https://linux.cn/article-5656-1.html译者: wi-cuckooPython是一个高级、通用、结构化且强大的开源编程
2015-07-04 23:21:20
622
转载 开源究竟差哪了
原文:http://www.gnu.org/philosophy/open-source-misses-the-point.html.en作者: Richard Stallman译文:http://www.gnu.org/philosophy/open-source-misses-the-point.zh-cn.html译者: 邓楠要说一个软
2015-07-04 23:17:02
446
转载 白板编程浅谈——Why, What, How
这篇文章节选自我正在撰写的一本关于应届生面试求职的书籍,欢迎在评论或微博(@peng_gong)上留言反馈。面试很困难,技术面试更加困难——只用 45 ~ 60 分钟是很难考察出面试者的水平的。所以 刘未鹏 在他的 怎样花两年时间去面试一个人 一文中鼓励面试者创建 GitHub 账号,阅读技术书籍,建立技术影响力,从而提供给面试官真实,明确,可度量的经历。这种方法对面试者效果很好,
2015-07-04 23:12:06
680
转载 视觉直观感受 7 种常用的排序算法
1. 快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时
2015-07-04 23:06:20
341
转载 常用的STL查找算法
《effective STL》中有句忠告,尽量用算法替代手写循环;查找少不了循环遍历,在这里总结下常用的STL查找算法;查找有三种,即点线面:点就是查找目标为单个元素;线就是查找目标为区间;面就是查找目标为集合;针对每个类别的查找,默认的比较函数是相等,为了满足更丰富的需求,算法也都提供了自定义比较函数的版本;单个元素查找find() 比较条件为相等的查找f
2015-07-04 23:04:41
427
转载 以我在LinkedIn做面试官的经验,来给程序猿面试提些建议
笔者之前在LinkedIn做技术工作同时,也花了不少时间在招聘上,成为了当时LinkedIn前三的面试官,包括挖掘候选人、参与校园招聘、草拟面试题、电话面试、Onsite面试、填写反馈,和最后决定是否发放Offer,都有完整的流程和经历。在本文中,我按问答形式给大家借鉴。这里也推荐一下我的新书:程序员面试白皮书(An Ultimate Guide to Coding Interview
2015-07-04 23:00:01
1594
转载 Python 中的进程、线程、协程、同步、异步、回调
进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生?在刚刚结束的 PyCon2014 上海站,来自七牛云存储的 Python 高级工程师许智翔带来了关于 Python 的分享《Python中的进程、线程、协程、同步、异步、回调》。一、上下文切换技术简述在进一步之前,让我们先回顾一下各种上下文切换技术。不过首先说明
2015-07-04 22:56:36
432
转载 我们搞开发的为什么会感觉到累
原文出处: 施瓦小辛格 欢迎分享原创到伯乐头条引题昨天下班坐公车,听到一个和我年纪相仿的哥们儿打电话,隐约听到电话那边好像是他女朋友问他现在饿不饿,他说“我已经饿的不饿啦”。饿的不饿了,听起来很幽默,对我很有触动,我在思考,我此时站在公车中部,手扶着杆有点酸,你问我手有多酸,借用打电话的那个哥们的话,随着日复一日这样的酸痛感受的反复刺激,已经酸的不酸了,你问
2015-07-04 22:52:36
570
转载 程序员学习能力提升三要素
IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在毕业之后2年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于
2015-07-04 22:49:53
452
转载 从 0 开始搭建 Vim 编辑器
Abstract本文主要介绍如何从0开始,构造适合自己的vim。目的不是比较什么编辑器更好,也不是宣传vim多么神奇,只是想给需要的人提供一些帮助。文章以ubuntu14.04,Vim 7.4 为例子。主要介绍如何自己动手构造能高效编码的Vim,而不是使用已有的配置。这里说明,已有的配置固然很好,但是也是有针对性,初用Vim应该在探索中发现自己喜欢的配置。远古时代首
2015-07-04 22:42:10
426
转载 Vim - 适合自己的,才是最好的
原文链接:Vim - 适合自己的,才是最好的Vim 被称为编辑器之神,是我用过之后才体会到的,用之前实在不敢对它做出什么评价。在大学时代,Vim 的大名就已如雷贯耳,但由于它陡峭的学习曲线,一直望而却步。等真正开始学习之后,发现并没有想象中的复杂,也没有所谓的瓶颈,只要在实际写代码中强迫自己使用就可以了,无形中就会形成习惯。最初的不适,换来的是效率的飞升。这和我当初学习双拼的感觉一样。
2015-07-04 22:37:48
418
转载 几种锁算法的实现
MulticoreAbstract4种Lock的实现:TASLockTTASLockCLHLockMCSLockTASLock每一个Lock带有一个状态位,lock()与unlock()操作原子的改变状态位。false时可进入,true时spin。public class TASLock implements Lock{ AtomicBoole
2015-07-02 18:42:42
667
转载 递归问题解决二叉树问题
二叉树是一种常见的数据结构,其是一种每个结点最多有两个子树的有序树。二叉树常被用于实现二叉查找树和二叉堆。二叉树节点定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode* m_pLeft;BinaryTreeNode* m_pRight;};1. 求二叉树中的节点个数递归解法:(1)如果二叉树为空,节点个数
2015-07-02 17:46:55
595
转载 Linux平台的4个最佳开源代码编辑器
原文出处: Abhishek 译文出处:Linux中国 su-kaiyao 欢迎分享原创到伯乐头条正在寻找Linux平台最棒的代码编辑器?如果你询问那些很早就玩Linux的人,他们会回答是Vi, Vim, Emacs, Nano等。但是,我今天不讨论那些。我将谈论一些新时代尖端、漂亮、时髦而且十分强大, 功能丰富的最好的Linux平台开源代码编辑器,它们将会提升你的编程
2015-07-01 23:30:31
867
转载 Git版本控制与工作流
原文出处: 刘耀柱(@Sam_Lau_Dev) 欢迎分享原创到伯乐头条Git Version Control这篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手:专为设计师而写的GitHub快速入门教程git – 简明指南学习Git的在线互动教程基本概念Git是什
2015-07-01 23:26:23
366
转载 Python语言十分钟快速入门
【简介】Python(蟒蛇)是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。python logo【特点】1 Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。2 Python具有很强的面向对象特性,而且简化了面向对象的实现。它消
2015-07-01 23:23:38
711
转载 浅谈云计算的形态
原文:浅谈云计算的形态这几年云计算概念炒的很火热,不仅是很多的云计算相关的创业公司如雨后春笋般冒出来,大佬们也纷纷加入战场。IaaS、PaaS、SaaS、BaaS多种形态并存,一派繁荣景象。本文结合自己的理解对目前市面上的云计算形式,谈一谈看法。基础设施云又称为IaaS,故名思议,这类提供商主要提供的是系统底层的设备服务。最简单的理解,比如提供一个台Linux或者windows
2015-07-01 23:19:04
1036
转载 程序员的“纪律性”
国庆节长假前后,我和很多业内外的朋友们展开了关于“码农”的大讨论,作为这些讨论的延伸,一篇叫做《从“码农”说起》的文章从脑海中输出,最终展现在优快云官网上。在文章中,我主张年轻的技术人们不应该接受社会舆论强加的“码农”属性,自己做有创造力的事情,要相信付出和智慧一定有回报。此文一出,得到了很多朋友的批评指正,令我颇为欣喜,因为有互动才会有头脑风暴,进而产生更多的新想法。回顾当时那
2015-07-01 23:16:23
519
转载 您适合从事web前端开发吗?
随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发工程师。一些想从事、或感兴趣的人会问:我适合做前端工程师吗?什么样的人最合适?首先,我们看一下前端新人从哪里来?相对于其他IT技术职位来说,Web前端工程师算是半个程序员,很多从事此项工作的都是非计算机相关专业出身,这当然是因为互联网行业吸引人以及HTML和CSS入门起点低,目前大学里尚能全民考C
2015-07-01 23:13:54
563
转载 一位俄罗斯程序员移民美国的故事
我搬到美国已经 7 年了。我热爱这个国家。在我搬来这里以后,我生命中很多大事也是在这里发生的,我真的感激这个国家给我的机会。当我讲述关于我是怎样移民到美国的故事时,很多人觉得这非常有趣,因此我决定在这里分享一下。美国梦虽然我总是想成为一名企业家,那时候我开始学习美国移民法——结果显示没有这种情况,比如企业家签证(除了 EB-5,不过你需要约一百万)。我非常吃惊。当我还是小孩
2015-07-01 23:08:59
1558
转载 在什么情况下Java比C++快?
本文由 ImportNew - hackingwu 翻译自 quora。欢迎加入翻译小组。转载请见文末要求。回复者:Cameron Purdy,Oracle中间件高级工程师。这是根据我同时使用C++和Java工作超过20年所学到的,其实使用Java比C++还要早几年:1、根据我的经验,当你把优化过的C++代码转换成Java代码,代码的速度会慢大约三倍。2、根据我的经验,把Java代
2015-07-01 23:03:12
383
转载 你与优秀程序员之间的差别本质!
你周围肯定有很多同你一样的程序员,有认真考虑过你们之间的差别吗?换句话说就是,你认为那些优秀的程序员和普通的程序员之间的区别是什么?希望本文能让你有所思考~当我开始在阅读《技术的本质》的时候,我就开始在思考这样一个问题,我们在使用技术还是工具。※ 技术与工具在某百科上说:一项技术是关于某一领域有效的科学(理论和研究方法)的全部,以
2015-07-01 22:59:47
470
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人