- 博客(18)
- 收藏
- 关注
原创 【C++】C++和Java的区别
1.类型安全C++不是类型安全的,Java是类型安全的 类型安全,很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。程序的类型安全的定义是从不显式或隐式的把一种类型转换成另一种类型。 C++相对于C更安全,体现在: (1)操作符new返回的指针类型严格与对象匹配,而不是void*; (2)C中很多以void*为参数的函数可以改写为C++模板
2016-09-24 20:24:18
296
原创 【C++】boost库中的unordered_map和unordered_set
unordered_map和unordered_set是C11中新增的类型,特性与STL 中的map和set特性一样,但是底层不是用红黑树实现的,而是用哈希表来实现的,因此不再实现对容器中元素排序的功能。下面这段话引用自: http://blog.csdn.net/truexf/article/details/17303263 哈希表存储元素的查找效率不太稳定,取决于所使用的哈希算法。不同的元
2016-09-24 17:35:39
1090
转载 【C++】智能指针
RAIIResource Application Immediately Initialize,资源申请即初始化,这也是智能指针的基本原理,智能指针是RAII原理的其中一个应用。智能指针智能指针确保在任何情况下,动态分配的内存都能得到正确释放。这包括程序因为异常而中断,原本用于释放内存的代码被跳过的场景。用一个动态分配的对象的地址来初始化智能指针,在析构的时候释放内存,就确保了这一点。因为析构函数总
2016-09-24 16:53:14
316
转载 【数据结构】二叉排序树,AVL树,B,B+树总结
二叉排序树简介: 二叉排序树是对普通二叉树的基础上对根、左、右结点做了关键字大小上的限制。优点 在查找时可根据左右子节点与根节点的大小关系进行,减少顺序查找的时间复杂度。缺点: 由于一个排序序列转化成一颗二叉排序树,有多种形式。因此,在某些情况下,二叉排序树的查找时间复杂度不可估量,在最坏的情况下,退化成顺序查找的情况。AVL树简介: AVL树是在二叉排序树的基础上增加了平衡因子的概念,对每
2016-09-24 11:40:48
1402
原创 【算法】P,NP,NPC问题总结
P问题P是一个判定问题类,这些问题可以用一个确定性算法在多项式时间内判定或解出。如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。NP问题可以在多项式时间内验证一个解是否正确的问题称为NP问题。显然,所有的P类问题都是属于NP问题的(但NP问题是否等于P问题,目前情
2016-09-23 09:54:23
1184
转载 Java-垃圾回收机制
声明:该篇文章为转载原博客地址:http://www.cnblogs.com/laoyangHJ/articles/java_gc.html垃圾收集的目的在于清楚不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先判断该对象是否是时候可以收集,两种常用的方法是引用计数和对象引用遍历。引用计数收集器: 是垃圾收集器的早期策略,在这种方法中,堆中每个对象都有一个引用计数。当
2016-09-20 16:52:49
178
原创 【leetcode】dungeon Game
前言: 这一题是我最近几天做leetcode以来,用时最久的一题,说一下我的思想误区吧。【误区算法】 最开始的时候,拿到题目的感觉就是应该用动态规划,但是我错误的从出发点开始考虑,这样求得了每个点最多的生命值。后来发现与题目要求不符。于是重新开始考虑,但是思维还是固化在从头开始考虑。重新考虑题目要求,发现问题可以等同于求所有路径中能力值极低点的最大值,然后将这个值取绝对值加一就是题目想要的答案。
2016-09-08 11:40:00
341
原创 【leetcode】Insert Interval
前言:这一题的难度为hard,题目描述比较简单,思想也不复杂,陷阱就在于很多情况都要考虑,细节问题要多注意。除了题目中给出的两种情况,下面是我出错的测试用例第一类测试用例: 原数组:[[3,5],[12,15]] 插入:[6,6] 期望结果:[[3,5],[6,6],[12,15]]第二类测试用例: 原数组:[[0,5],[9,12]],插入:[7, 16] 期望结果:[[0,5],[7,
2016-09-05 11:17:00
179
原创 【编程题】快速排序
前言快速排序是面试题最常到考到的排序算法,以前在课本中学到过,后来看《算法导论》的时候也学到过。印象中,两者大体思想一样,在一些小细节上还有一些不同,这篇文章会总结一下。不过很久不写了,直接拿起来写,写了很久。。。。还被嘲笑了。。。。。1.思想快速排序主要是利用分治的思想,将问题分为较小的问题,然后分别求解。首先,选取数组中的一个数作为flag,利用这个数将数组进行分割,小于flag的数放在flag
2016-08-17 17:33:10
784
原创 cloudant文档简介
Cloudant文档学习前言最近在项目中,有应用到分布式数据库cloudant,同时负责数据库模块的内容,因此,打算熟读这个软件的文档。简介Cloudant是IBM的一款分布式数据库软件,Database-as-a-service(DBaaS)。以Apache CouchDB为基础开发的,多租户(Multi-tenant),独立(dedicated),安装(installed)的服务。Cloudan
2016-08-15 16:22:19
1750
原创 【编程题】股票涨价的问题
问题:股票变化的规律为第一天不变,然后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…,第一天股票价格为1,每次变化均为1,问第n天时,股票价格为多少思路:通过天数来判断,第n天时经过了完整的涨跌周期(一段连续的涨和一次跌,被化为一个涨跌周期)步骤:设置变量k和变量j k : 经历了多少次完整的涨跌周期,初始化为0 j: 除了第k
2016-08-14 17:56:46
1774
转载 OceanBase简介
揭秘阿里服务互联网金融的关系数据库——OceanBase原文链接:http://www.csdn.net/article/2015-04-02/2824402编者按:时至今日,“Big data”(大数据)时代的来临已经毋庸置疑,尤其是在电信、金融等行业,几乎已经到了“数据就是业务本身”的地步。这种趋势已经让很多相信数据之力量的企业做出改变。为了应对大数据的冲击,淘宝将以前的Oracl
2016-08-13 15:42:35
432
原创 CounchDB + Postman 的简单使用用例
1.couchDBCouchDB是非结构化数据库的一种,以结构化数据库做类比的话,CouchDB中的一个database就类似于关系型数据库中的一个表,CouchDB中的一个document就类似于关系型数据库中的一行。与结构化数据库最大的不同是,CouchDB中的每一个document的字段个数和字段类型都可以不一样,新建一个document系统就会生成一个_id,用户可以选
2016-07-17 14:11:52
2233
原创 使用Git连接GitLab
下载好Git客户端到本地之后,要进行哪些命令才能将远程GitLab上的代码克隆到本地或者将本地代码上传到远程是最关心的问题:因此,要在网上查找相关的帮助文档,但是其实最详细的操作步骤是在GitLab的帮助文档中,完全可以自行查阅,现在就教大家如何找到相应的帮助文档。找到右上角的这一行图标,点击问号的那个图标,这其实就是帮助页面。打开之后就会有很多文档帮助查阅,而且已
2016-07-16 14:46:35
917
原创 使用GitLab时SSH配置
预配置环境:Git客户端(本机),GitLab中已经有一个账号,并且已经有一个项目 1. 开始 ---》Git----》Git Bash输入如下命令:ssh-keygen -t rsa -C "注册GitLab时的邮箱"会出现如下内容:Generating public/private rsa key pair.Enter file in which to save
2016-07-14 15:38:36
376
转载 eclipse项目红色叹号解决方法 eclipse导入jar包
一般情下,eclipse项目前面出现红色叹号、eclipse项目前面出现红色感叹号、eclipse项目前面出现红色惊叹号、eclipse工程前面出现红色叹号都是由于eclipse项目、eclipse工程中,缺少了一些jar包等文件引起的。解决方法:选中项目,然后右键,选择build bath -----》 Configure Build Path选择 ADD jars-
2016-07-12 13:52:39
5084
原创 Java+eclipse+MySQL的配置
1.安装Java的JDK安装完之后,jre和jdk所在的目录如图所示,然后再进行环境变量的配置等。【注意事项,eclipse有很多版本,分为基础版,专门用于开发某类项目的版本(例如eclipse for JavaEE)和集成版本。安装的时候要注意安装的版本是哪个,基础版本要用于开发某类项目要安装某个插件,然后将eclipse和电脑重启之后才能生效)2.下载好tomcat,然
2016-07-11 17:25:21
308
原创 eclipse下git的配置和使用
1. 首先下载一个git的客户端打开git bash(开始-------》所有程序 -----》git bash)然后进行用户名及其邮箱的配置$ git config --global user.name "yu Liu"$ git config --global user.email "szliuyu@cn.ibm.com2.在本地新建一个工作空间,例如在C盘
2016-07-11 15:56:53
553
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人