![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 91
zhangtian6691844
这个作者很懒,什么都没留下…
展开
-
和为n的连续自然数序列
题目:输入一个正数n,输出所有和为n的连续正数序列,例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6、7-8。void FindContinuousSequence(int n) { assert(n >= 3); int small = 1;原创 2016-04-07 23:41:10 · 643 阅读 · 0 评论 -
B+树索引概述
1. B+树索引概述在上一篇文章中,我们讨论了关于index的几个中重要的课题:A) index是保存在磁盘上的一种数据结构,用于提高查询或是扫描record的速度。B) 排序索引树通过保存page的指针加速record的查找。(ISAM)C) 维护排序索引树的代价很高,因此,ISAM通过创建overflow page来解决这个问题,但是过多的overflow page会使查询性能原创 2016-04-07 23:49:54 · 819 阅读 · 0 评论 -
平衡的多路查找树
1 .B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据: (n,A0,K1,A1,K2,…,Kn,An)原创 2016-04-08 00:01:37 · 2542 阅读 · 0 评论 -
一个排好序的数组,找出两数之和为m的所有组合
public static void main(String[] args) throws UnsupportedEncodingException { int[] ints = { 1, 5, 10, 11 , 13, 18, 22 ,55 }; int find = 23; int start = 0;原创 2016-04-07 23:19:49 · 2064 阅读 · 0 评论 -
寻找二叉树两个节点的最低公共祖先
方法下面是一个简单的复杂度为 O(n) 的算法,解决LCA问题1) 找到从根到n1的路径,并存储在一个向量或数组中。2)找到从根到n2的路径,并存储在一个向量或数组中。3) 遍历这两条路径,直到遇到一个不同的节点,则前面的那个即为最低公共祖先.下面的C++的程序实现view source01// O原创 2016-04-08 10:21:09 · 839 阅读 · 0 评论 -
链表的 反转Java 代码
链表的 反转Java 代码public class ReverseSingleList { /** * 递归,在反转当前节点之前先反转后续节点 * * @param head * @return */ public static Node reverse(Node head)原创 2016-04-08 11:07:39 · 942 阅读 · 0 评论 -
1到1亿之间所有1亿个自然数各个数位上数字的和
考虑 00000000到99999999共一亿个数,每个数共8位,共8亿位.其中数字0到9出现的次数相等,都是 8亿/10 = 8千万次.因此各个位上的的数字和 = (0+1+2+……+9)×8000 0000因此1到 1 0000 0000,就在上述基础上再加“一亿”这个数本身的数字和总和 = (0+1+2+……+9)×8000 0000 + 1 = 36 0000 0001原创 2016-04-11 12:32:44 · 2714 阅读 · 0 评论 -
HashMap TreeMap 的区别
首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序原创 2016-04-11 12:36:42 · 564 阅读 · 0 评论 -
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的原创 2016-04-11 12:51:26 · 11146 阅读 · 2 评论 -
【java】JVM结构和类的加载原理
Java语言中,类只有被加载到JVM中才能运行,当运行指定的java程序时,JVM会将编译生成的 .class文件按照一定的规则加载到内存中,并组织成为一个完整的应用程序。类的加载过程是由类加载器完成的(即由ClassLoader和它的子类完成),而类加载器本身也是一个类,其实质是将类文件由硬盘加载到内存中。 类的加载方式有两种:(1)显式加载 通过调用class.f原创 2016-04-14 17:29:35 · 432 阅读 · 0 评论 -
排序算法总结
原创 2016-04-17 16:44:16 · 310 阅读 · 0 评论 -
设计模式一 策略模式
今天不想写代码,给大家带来一篇设计模式的文章,帮助大家可以把系统组织成容易了解、容易维护、具有弹性的架构。先来看看策略模式的定义:策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。好了,对于定义,肯定不是一眼就能看明白的,不然这篇文章就收尾了,对于定于大家简单扫一眼,知道个大概,然后继续读下面的文章,转载 2016-06-27 14:10:59 · 334 阅读 · 0 评论 -
设计模式---观察者模式
先来看看观察者模式的定义:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。好了,对于定义的理解总是需要实例来解析的,如今的微信服务号相当火啊,下面就以微信服务号为背景,给大家介绍观察者模式。看一张图:其中每个使用者都有上图中的3条线,为了使图片清晰省略了。如上图所示,服务号就是我们的主题,使用者就是观察者。现在我们明确下功能转载 2016-06-27 14:22:20 · 337 阅读 · 0 评论 -
c 4.5 k-means 算法 机器学习
1、C4.5机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。决策树学习也是数据挖掘中一原创 2016-06-13 10:11:59 · 2027 阅读 · 0 评论 -
8种机器学习算法
3、SVM支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称svm)。它是一种監督式學習的方法,它广泛的应用于统计分类以及回归分析中。支持向量机属于一般化线性分类器.他们也可以认为是提克洛夫规范化(Tikhonov Regularization)方法的一个特例.这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区.因此支持向量机也被称为最大原创 2016-06-13 10:57:15 · 4263 阅读 · 0 评论 -
Android控件RecyclerView和ListView的异同
一篇介绍Android新控件RecyclerView的博客( Android L新控件RecyclerView简介 )中,一个读者留言说RecyclerView跟ListView之间好像没有什么不同,我觉得这是一个好问题,应该明确地区分一下两者的睯,所以我就研究了一下它俩之间的区别,然后也对两者的使用有了更加深入的了解。Android是一个不断进化的平台,Android 5.0的v7版本支原创 2016-06-13 11:13:01 · 583 阅读 · 0 评论 -
设计模式---工厂模式
今天继续设计模式之旅,给大家带来工厂模式,简单列一下这个模式的家族:1、静态工厂模式2、简单工厂模式3、工厂方法模式4、抽象工厂模式是不是觉得,我勒个去,这工厂还能列出这么多分类,哈哈,下面开始各个击破。1、静态工厂模式这个最常见了,项目中的辅助类,TextUtil.isEmpty等,类+静态方法。下面开始详细介绍:略。2、简单工厂模式下面开始谈谈卖肉夹馍,最近转载 2016-06-29 09:19:56 · 281 阅读 · 0 评论 -
设计模式---单例模式
继续设计模式,这个模式用得应该很频繁啊,而且也比较简单,如果现在你还不能纸笔随手写个单例出来,你就得加油了哈~直接介绍几种线程安全的且我觉得还比较不错的方式:1、是不是号称恶汉,就是类加载就初始化了[java] view plain copyprint?package com.zhy.pattern.singlton; public c转载 2016-06-29 09:38:18 · 376 阅读 · 0 评论 -
机器学习和数据发掘
我最近看国外的学校,把机器学习和数据发掘分开了,数据发掘主要是跟数据库打交道,学什么数据仓库,用Oracle软件。而机器学习好像是跟统计更加贴近。我是个新人,学统计的,挺想在这个方向多学习学习,希望高手前辈们指教指教,看了一些别人的说明,也不太统一~~统计系和计算机系在数据挖掘上做的工作有很大不同,我的感觉是,统计系把统计方法的一个子集成为数据挖掘(你看大部分数据挖掘的书所讲的不过原创 2016-06-13 14:34:55 · 616 阅读 · 0 评论 -
ListView之BaseAdapter的使用及ViewHolder模式
话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方法可原创 2016-06-13 16:15:18 · 528 阅读 · 0 评论 -
设计模式 ----命令模式 之 管理智能家电
继续设计模式哈,今天带来命令模式,二话不说,先看定义:定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。这尼玛定义,看得人蛋疼,看不明白要淡定,我稍微简化一下:将请求封装成对象,将动作请求者和动作执行者解耦。好了,直接用例子来说明。需求:最近智能家电很火热啊,未来尼玛估计冰箱都会用支付宝自动买东西了,,,,假设现在有电视、电脑、电转载 2016-06-29 11:33:35 · 692 阅读 · 0 评论 -
setAdapter的时候,总是报错 空指针异常
listview 绑定适配器setAdapter的时候,总是报错 空指针异常。onCreate 那里,在获取ListView 之前,你得加载这个界面的布局!!解答:你看你的MainActivity里,初始化的时候不是有SetContentView(R.layou原创 2016-06-14 09:57:52 · 2912 阅读 · 0 评论 -
kNN算法分析
一、kNN算法分析 K最近邻(k-Nearest Neighbor,KNN)分类算法可以说是最简单的机器学习算法了。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 比如上面这个图,我们有两类数据,分别是蓝色方块和红色三角形,他们分原创 2016-06-14 10:49:48 · 1155 阅读 · 0 评论 -
RatingBar简单介绍+自定义样式
一、RatingBar简单介绍RatingBar是基于SeekBar(拖动条)和ProgressBar(状态条)的扩展,用星形来显示等级评定,在使用默认RatingBar时,用户可以通过触摸/拖动/按键(比如遥控器)来设置评分, RatingBar自带有两种模式 ,一个小风格 ratingBarStyleSmall,大风格为ratingBarStyleIndicator,大的只适合做指示,不适原创 2016-06-14 11:20:07 · 716 阅读 · 0 评论 -
RatingBar的自定义效果
RatingBar的自定义效果有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar。从上面的效果可以看出,自定义这样的组件,需要两张图片: 。一张用来未选择的效果,一张用来显示的效果。那还要中间那种一半是未选择一半时选择的呢?其实当你写好这样的组件后,系统就会自动帮你自动解析生成那种效果。来看一下代码:原创 2016-06-14 11:22:45 · 426 阅读 · 0 评论 -
贝叶斯分类器-----数据挖掘
贝叶斯分类器 贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。目前研究较多的贝叶斯分类器主要有四种,分别是:Naive Bayes、TAN、BAN和GBN。 贝叶斯网络是一个带有概率注释的有向无环图,图中的每一个结点均表示一个随机变量,图中两结点 间若存在着一条弧,则表示这两结点相对应的原创 2016-06-14 13:40:02 · 826 阅读 · 0 评论 -
GirdView设计
xml version="1.0" encoding="utf-8"?>GridView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > GridVi原创 2016-06-14 14:34:14 · 487 阅读 · 0 评论 -
通过 Adapter 将数据填充到ListView, GridView, Gallery等
Adapter是用来帮助填充数据的中间桥梁,比如通过它将数据填充到ListView, GridView, Gallery等,而Android的adapter又有很多种(ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter原创 2016-06-14 15:01:18 · 4898 阅读 · 2 评论 -
ios 开发 观察 完整的Android应用开发概述
我稍后所比较的每个项目并不是完全匹配的,并且这篇文章并不是一个完整的Android应用开发概述,但是它包涵了我从开发这个简单应用所学到的点点滴滴。开发环境开发环境我选择了Android Studio,我打赌当正式版发布以后,它将成为Android应用的标准开发环境。虽然有很多关于Android Studio 不稳定的言论,但是我只遇到了一次程序崩溃,个人认为Android Studio原创 2016-06-14 15:13:34 · 586 阅读 · 0 评论 -
适配器getView 方法报了空指针
适配器getView 方法报了空指针@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewHolder holder=null;if (convertView==null) {convert原创 2016-06-14 17:41:41 · 1793 阅读 · 0 评论 -
机器学习问题方法总结
机器学习问题方法总结大类名称关键词有监督分类决策树信息增益分类回归树Gini指数,Χ2统计量,剪枝朴素贝叶斯非参数估计,贝叶斯估计线性判别分析Fishre判别,特征向量求解K最邻近原创 2016-06-14 17:44:20 · 629 阅读 · 0 评论 -
机器学习常用算法
1.决策树算法决策树是一种树形分类结构,一棵决策树由内部结点和叶子结点构成,内部结点代表一个属性(或者一组属性),该结点的孩子代表这个属性的不同取值;叶子结点表示一个类标。决策树保证每一个实例都能被一条从根结点到叶子结点的路径覆盖,叶子结点就是这条实例对应的类别,遍历这条路径的过程就是对这条实例分类的过程。关于决策树的详细介绍,可以参考这篇文章。损失函数假设决策树T的叶结点个数为|T|原创 2016-06-14 17:47:36 · 411 阅读 · 0 评论 -
nagios邮件告警设置方法成功版本
nagios邮件告警设置方法成功版本方法/步骤1yum remove sendmail建议先卸载掉系统自带的sendmail,改用postfix来作为邮件告警发出的客户端步骤阅读2并用rpm -qa | grep sendmail来确认sendmail已经卸载步骤阅读3ser原创 2016-06-30 13:09:09 · 2203 阅读 · 0 评论 -
Android 框架练成 教你打造高效的图片加载框架
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:【张鸿洋的博客】1、概述优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等。但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络、本地的图片框架。有人可能会转载 2016-06-30 13:24:42 · 637 阅读 · 0 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名?123456789101112131415package Refl原创 2016-06-30 14:38:56 · 344 阅读 · 0 评论 -
scrollview + listview 只显示一行的解决办法
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示。于是乎有了如下布局: [html] view plaincopyLinearLayout xmlns:android="http://schemas.android.原创 2016-06-15 09:17:02 · 527 阅读 · 0 评论 -
ListView与ScrollView冲突的4种解决方案
1.使用网上用的动态改变listview高度的方法,该方法只适用于item布局是LinearLayout布局的情况,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。所以使用限制较大。 Java代码 public class Utility { public st原创 2016-06-15 09:19:51 · 425 阅读 · 0 评论 -
int型的MeasureSpec来表示一个组件的大小
在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSp原创 2016-06-15 09:50:01 · 987 阅读 · 0 评论 -
为GridView添加边框效果
为GridView添加边框效果1.自定义GridView的item样式:grid_item.xml文件[html] view plain copyprint?xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.androi原创 2016-06-15 10:30:17 · 8536 阅读 · 1 评论 -
设计模式---适配器模式
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/25833393坚持,坚持~继续设计模式,尼玛停了段时间就不想写了,一定要坚持~今天带来适配器模式老样子,定义:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。发现两张图片可以转载 2016-07-01 09:16:02 · 360 阅读 · 0 评论