算法
LuckyZhouStar
这个作者很懒,什么都没留下…
展开
-
直接插入排序
什么是直接插入原创 2014-10-17 13:10:31 · 1352 阅读 · 15 评论 -
随机变量及其分布
一、随机变量研究随机变量主要取决于两点。一是随机变量可能取哪些值;二是它以多大的概率取这些值。概率分布函数通过定义可以看出,概率分布函数描述的就是某个范围内概率的累计,分布函数是概率密度函数从负无穷到正无穷上的积分;离散型随机变量随机变量至少有两种不同的类型:一种是随机变来那个的所有可能取得的值是有限多个或可列无限多个,这种随机变量成为离散型随机变量;另一种随机变量的取值不止是可列,而是可连续到某个原创 2017-10-09 14:39:20 · 1546 阅读 · 0 评论 -
泊松分布和指数分布
一、泊松分布日常生活中,大量事件是有固定频率的。 * 一本书一页上的印刷错误数目 * 一手机某一时间段内收到信息的次数 * 某放射物体在一定时间内放射出粒子数目 * 一定的时间区间内进入某书亭的人数 * 某医院平均每小时出生3个婴儿 * 某公司平均每10分钟接到1个电话 * 某超市平均每天销售4包xx牌奶粉 * 某网站平均每分钟有2次访问 它们的特点就是,我们可以预估这些事件的总原创 2017-10-09 14:03:46 · 10774 阅读 · 1 评论 -
二分查找法
二分查找法又称折半查找法,适用于不经常变动而查找频繁的有序列表。首先假设表中元素是按照升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功,否则利用中间位置记录将表分成前后两个子表,如果中间位置记录的关键字大于查找的关键字,则进一步查找前一个子表,否则进一步查找后一个子表。重复以上过程,直到找到满足条件的记录。代码展示public static int binarySearc原创 2017-09-21 14:35:17 · 312 阅读 · 1 评论 -
选择排序
选择排序基本原理:每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。代码展示 /** * 选择排序 * 1.找到数组中最小的元素的索引,与0位置交互 * 2.接着找其余部分的索引的数字,与1位置交换 * * @param a */public static void select(int[] a) { for (int i = 0;原创 2017-09-21 14:26:46 · 379 阅读 · 1 评论 -
插入排序算法
插入排序算法本插入排序算法是每一步把数据都插入到一个已经排好序的数列中,本篇只介绍直接插入算法。 例如有一组分散的数字:2 8 5 1 7 6,那么整个的排序过程如下22 82 5 8*1 2 5 81 2 5 7 81 2 5 6 7 8代码展示 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl + L插入代码原创 2017-09-21 14:04:48 · 360 阅读 · 1 评论 -
数据结构——双向链表
双向链表定义双链表就是在单链表结点上增添了一个指针域,指向当前结点的前驱。这样就可以方便的由其后继来找到其前驱,而实现输出终端结点到开始结点的数据序列。 同样,双链表也分为带头结点的双链表和不带头结点的双链表,情况类似于单链表。带头结点的双链表 head->next 为null的时候链表为空。不带头结点的双链表head为null的时候链表为空。 代码展示 public static void m原创 2017-09-26 15:51:05 · 662 阅读 · 1 评论 -
概率论—高中基础知识
概率论包括随机事件及其概率、随机变量及其概率分布、多维随机变量及其概率分布、随机变量的数字特征及大数定律和中心极限定理。共五章,重点第一、二章,数理统计包括样本与统计量,参数估计和假设检验、回归分析。重点是参数估计。一、加法原则 引例一,从北京到上海的方法有两类:第一类坐火车,若北京到上海有早、中、晚三班火车分别记作火 ₁、火₂、火₃,则坐火车的方法有3种;第二类坐飞机,若北京到上转载 2017-09-26 15:28:18 · 6043 阅读 · 3 评论 -
概率论—全概公式&逆概公式(贝叶斯公式)
全概公式定义:B是一个事件,则有 证明:技巧性的问题:例1袋中有5个球,其中有3个红球,2个白球,从中每次取出一个球(不放回)用A表示第一次取到红球,B表示第二次取到红球,求 (1)P(A); (2)P(B) 解 (1)用古典概型n=5,r=3 P(A) = 3/5 (2)直接求P(B)很困难,因为B发生的转载 2017-09-26 15:26:48 · 18811 阅读 · 0 评论 -
概率论—随机事件与随机事件的概率
随机事件引例一,掷两次硬币,其可能结果有:{上上;上下;下上;下下} 则出现两次面向相同的事件A与两次面向不同的事件B都是可能出现,也可能不出现的。 引例二,掷一次骰子,其可能结果的点数有:{1,2,3,4,5,6} 则出现偶数点的事件A,点数≤4的事件B都是可能出现,也可能不出现的事件。从引例一与引例二可见,有些事件在一次试验中,有可能出现,也可能不出现,即它没有确定转载 2017-09-26 15:21:23 · 27152 阅读 · 0 评论 -
快速排序
什么是快速排序 快速排序可以说是对冒泡排序的一种改进,通过选择某个基准点经过一次排序,然后把数据通过基准点分为两个部分。一部分小于基准点;一部分大于基准点; 实现过程 设要排序的数据存放在数组A[0]...A[N-1]中,然后从数组总任意选择一个数据作为基准点,将所有比基准点小的数据放到它的前面,比它小的放到它的后面,这样经过一次交换就分成了两个独立的部分。接着在运用分治的思想原创 2014-11-05 21:39:33 · 1236 阅读 · 12 评论 -
直接选择排序
直接选择排序 A.第1趟从中找到最小的,与R0交换 B.第2趟从剩余中找到最小的,与R1交换........................................................ 代码如下 //直接选择排序 void Selectsort(int []a,int n) { //定义变量原创 2014-10-17 20:51:35 · 1370 阅读 · 12 评论 -
递归
什么是递归? 它有这样的特征,求解规模为N的问题时,设法将它分解成规模较小的问题,然后根据这些小问题方便的构造出大问题的解。当然程序必须有一个出口,当规模为1的时候,能直接的到解。 小结:就是把问题层层分解,直到程序的出口处。 注意事项 1.递归应有终止的时候,也就是每一个递归必须有一个出口,否则会无限递归出去。 2.递归就是调用自身的方法。例如f(n)=n*f(n-1)原创 2014-10-13 15:02:27 · 1829 阅读 · 12 评论 -
冒泡排序
冒泡排序过程? 1.首先比较相邻的两个元素,如果前面数据大于后面数据的话,就将这两个数进行交换,依次推,直到完成第N-1个记录与第N个记录交换为止(第一趟起泡)。 2.然后再进行第二趟气泡。由第一趟气泡,可知末尾是最大数,所以第二趟之比较前N-1个数 3.第三趟…… 比较N-2个数 ................................................原创 2014-10-16 13:37:59 · 1404 阅读 · 12 评论 -
Java四种引用包括强引用,软引用,弱引用,虚引用。
Java四种引用包括强引用,软引用,弱引用,虚引用。Java四种引用包括强引用,软引用,弱引用,虚引用。 强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj转载 2017-10-16 12:36:21 · 300 阅读 · 0 评论