算法
ah4526
这个作者很懒,什么都没留下…
展开
-
机器学习经典算法
监督学习监督学习中的数据集是有标签的,就是说对于给出的样本我们是知道答案的。如果机器学习的目标是通过建模样本的特征x和标签y之间的关系:f(x,theta)或f(y|x,theta),并且训练集中的每个样本中都有标签,成为监督学习。根据标签类型的不同,又可以分为**分类问题和回归问题。**前者是预测某样东西所属的类别,比如给定一个人的身高、年龄、体重等信息,然后判断性别、是否健康等;后者则是预测...原创 2020-03-03 22:36:05 · 683 阅读 · 0 评论 -
普林斯顿·算法·PART I:HASH TABLES
1.哈希查询算法由两部分组成哈希函数将要查询的键(key)转换成数组的角标。面对的问题:多个不同的键(key)经过hash之后转换成相同数组角标有两种方案解决冲突:各自的链(separate chaining)、直线的探测(linear probing)2.单独的链两个或多个键经过哈希函数得到相同的角标值。将这些碰撞的项链接到单独的链表中,这种方法称之为单独的链(separate cha...转载 2020-03-02 17:15:38 · 190 阅读 · 0 评论 -
普林斯顿·算法·PART I:Balanced search tree
平衡搜索树2-3 search trees于是先来了解下 2-3 查找树,它可以保证树的平衡性,维护树高在 lgN 级别。这里的 2,3 指的是孩子的数目search查找和二叉查找树一样,虽然现在有的点有两个键,但是也没有什么关系。insert插入操作比较关键,解释了为什么可以保证树的平衡性,下面是各种情况的示意:插入 2-node 时,直接插入把这个节点变成 3-node 即...转载 2020-03-02 12:21:57 · 293 阅读 · 0 评论 -
普林斯顿·算法·PART I:Binary search
1.二叉搜索2.二叉搜索树2.1 插入2.计算层数3. 子树计数4.删除最小值5. 希巴德删除原创 2020-03-01 18:24:08 · 146 阅读 · 0 评论 -
普林斯顿·算法·PART I:PRIORITY QUEUES
1.Priority queue以某种方式排序,总是处理最优的。2.Binary heapsroot 为最大值2.1 回溯—>插入元素回溯:插入元素:2.2下沉——>删除元素下沉:删除元素:整体代码与性能:3.HeapSort堆排序4.Event-driven simulation目标:根据弹性膨胀原理,模拟N个移动的例子运动状态变化。模...原创 2020-03-01 13:16:02 · 344 阅读 · 0 评论 -
普林斯顿·算法·PART I: 排序算法总结
1.排序算法代码实现1.选择排序2.插入排序3.希尔排序4.混洗排序5.快速排序2.排序算法稳定性原创 2020-02-29 16:04:53 · 151 阅读 · 0 评论 -
普林斯顿·算法·PART I:MergeSort
Mergesort1.Mergesort基本思想:将数组一分为二(Divide array into two halves)对每部分进行递归式地排序(Recursively sort each half)合并两个部分(Merge two halves)归并排序体现的是一种分治思想实现public class Merge{ private static void mer...转载 2020-02-29 15:05:21 · 297 阅读 · 0 评论 -
普林斯顿·算法·PART I:Stacks and Queues
1.stacks1.利用数组表示栈2.利用链表表示栈2.resizing arrays3.queues3.1利用链表表示队列4.generics泛型4.1 使用链表实现的栈泛化4.2使用数组实现的栈泛化3.iteratorsInterview Questions: Stacks and Queues利用两个栈来实现队列,具体方法为:入队等同于栈A进栈;出...转载 2020-02-28 19:59:09 · 290 阅读 · 0 评论 -
普林斯顿·算法·PART I:第一章Union-Find
动态联通性问题描述:有N个元素,开始时我们让每一个元素肚子构成一个集合。然后按一定的顺序将属于同一组中的元素合并,构成新的集合。其间要反复查询某个元素在哪个集合中。如下所示:(1)Quick-Find声明一个长度为N的数组id,数组中元素的值代表它所属组的编号。将数组中的元素初始化为每个元素的索引值,这样就表示开始时每个元素各自构成一个独立的集合。每次union(i,j)的时候就将所有组编...转载 2020-02-27 22:23:11 · 360 阅读 · 0 评论 -
数据结构与算法(python)笔记整理
1.引入概念1.1 第一次尝试import timestart_time=time.time()for a in range(0,1001): for b in range(0,1001): for c in range(0,1001): if a**2+b**2==c**2 and a+b+c==1000: print(...原创 2020-02-24 23:47:17 · 390 阅读 · 0 评论