算法学习
Coder_py
这个作者很懒,什么都没留下…
展开
-
朴素贝叶斯的理解
朴素贝叶斯的理解 一、背景 朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布,然后基于模型,对给定的输入x,利用贝叶斯定理求出后验概率的最大的输出y。 二、贝叶斯定理 2.1、贝叶斯定理公式 P(A∣B)=P(A)P(B/A)P(B) P(A|B) = \frac {P(A)P(B/A)}{P(B)}P(A∣B)=P(...原创 2019-12-14 19:40:20 · 502 阅读 · 0 评论 -
我的机器学习之路-KNN算法
我的机器学习之路-KNN算法 一、 K近邻算法 k-近邻(k-Nearest Neighbour,简称KNN)是一种基本分类与回归方法,属于是有监督学习中的分类算法。 二、 算法介绍 2.1 思路 k近邻算法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k近邻法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决...原创 2019-12-04 19:38:37 · 415 阅读 · 0 评论 -
递归求解从数组中取出n个元素的所有组合
递归求解从数组中取出n个元素的所有组合 问题: 如数组为{1, 2, 3, 4, 5, 6},那么从它中取出3个元素的组合有哪些,取出4个元素的组合呢? 比如取3个元素的组合,我们的思维是: 取1、2,然后再分别取3,4,5,6; 取1、3,然后再分别取4,5,6; ...... 取2、3,然后再分别取4,5,5; ...... 基本思路:原创 2017-09-25 22:46:47 · 3850 阅读 · 0 评论 -
Java与算法(7)
Java与算法(7) 1.对单链表进行选择排序 public class SelectionSortded { public static class Node { int data; Node next; public Node(int data) { this.data = data; } } public void printLink(Node h原创 2017-06-15 16:54:00 · 274 阅读 · 0 评论 -
Java与算法(6)
Java与算法(6) 题目: 将单链表按某值划分为左边小,中间相等,右边大的形式。 如: 9-0-4-5-1,按3来划分 结果就是1-0-4-9-5 对部分内部节点顺序不做要求 public class DivideLink { public static class Node { int data; Node next; public Node原创 2017-06-14 16:22:07 · 265 阅读 · 0 评论 -
Java与算法(5)
Java与算法(5) 题目: 反转单链表和双链表 public class ReverseLink { public static class Node { int data; Node next; public Node(int data) { // TODO Auto-generated constructor stub this.data = data原创 2017-06-13 17:40:07 · 311 阅读 · 0 评论 -
Java与算法(4)
Java与算法(4) 题目: 给定两个有序链表的头指针head1和head2,打印两个链表的公共部分 public class CommonPart { public static class Node { int data; Node next; public Node(int data) { this.data = data; } } publ原创 2017-06-12 16:23:10 · 302 阅读 · 0 评论 -
Java与算法(13)
Java与算法(13) 1.高效求解完全二叉树的节点个数 public class GetTreeNodeNumber { public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = da原创 2017-06-22 16:43:42 · 271 阅读 · 0 评论 -
Java与算法(12)
Java与算法(12) 1.二叉树节点间最大距离问题 给定头节点,求最大距离 public class MaxDIstance { public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.val原创 2017-06-21 15:13:32 · 289 阅读 · 0 评论 -
Java与算法(3)
Java与算法(3) 题目: 定义二叉树节点如下: public class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data; } } 一个数组的MaxTree定义如下 1 数组没有重复元素原创 2017-06-08 22:33:37 · 268 阅读 · 0 评论 -
Java与算法(11)
Java与算法(11) 1.通过给定一个有序数组生成一棵平衡二叉搜索树 public class BuildAVL { public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data原创 2017-06-20 16:12:56 · 374 阅读 · 0 评论 -
Java与算法(2)
Java与算法(2) 题目: 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1,将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能使用递归函数来实现,不能使用其它数据结构 public class ReverseByStack { Stack stack; public ReverseByStack(Stack stac原创 2017-06-07 19:57:16 · 543 阅读 · 0 评论 -
Java与算法(10)
Java与算法(10) 1.判断二叉树是否为平衡二叉树 public class IsBanlanceTree { public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data;原创 2017-06-19 17:41:47 · 306 阅读 · 0 评论 -
Java与算法(9)
Java与算法(9) 1.给定二叉树头节点,每个节点的值都不同,找到含有节点最多的搜索二叉子树。 public class FindBST { public static class Node { int data; Node left; Node right; public Node(int data) { // TODO Auto-generated const原创 2017-06-18 13:52:17 · 349 阅读 · 0 评论 -
Java与算法(1)
Java与算法(1) 题目: 设计一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 要求: 1 pop,push,getMin操作的时间复杂度都是O(1) 2 设计的栈类型可以使用现成的栈结构 public class Stack_getMIn { Stack stack_data ; Stack stack_min ; public原创 2017-06-06 20:22:45 · 282 阅读 · 0 评论 -
Java与算法(8)
Java与算法(8) 1.按照左右半区的方式重新组合单链表 链表长度为N,N为偶数,前N/2个节点为左半区,后N/2个节点为右半区 N为奇数,前N/2个节点为左半区,后N/2+1为右半区 public class MergeLR { public static class Node { int data; Node next; public Node(int原创 2017-06-17 11:48:09 · 246 阅读 · 0 评论