一、聚类(无监督)的目标 使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。 二、层次聚类 层次聚类算法实际上分为两类:自上而下或自下而上。自下而上的算法在一开始就将每个数据点视为一个单一的聚类,然后依次合并(或聚集)类,直到所有类合并成一个包含所有数据点的单一聚类。因此,自下而上的 ...
分类:
编程语言 时间:
2019-12-06 19:33:53
阅读次数:
174
关于排序算法的总结 1.1概述 生活中处处存在排序,考试成绩要排序,年龄大小要排序,图书馆的藏书也要排序。排序也是数据结构课程的一个重要组成部分。教材中的出现的排序有名次排序、选择排序冒泡排序等,下面我们一一进行介绍。 1.2排序算法 1.2.1名次排序 rank sort 所谓排序,也就是给排列的 ...
分类:
编程语言 时间:
2019-11-28 21:29:41
阅读次数:
79
一、什么是归并排序? 归并排序是基于分而治之的思想建立起来的。 所谓的分而治之,也就是将一个数据规模为N的数据集,分解为两个规模大小差不多的数据集(n/2),然而分别处理这两个更小的问题,就相当于解决了总的问题。 二、归并排序的思路。 1-首先将数据分为左右相等的两部分,不断细分,到最后只有单个元素 ...
分类:
编程语言 时间:
2019-11-17 01:03:35
阅读次数:
94
一、引言 对于各种排序算法也算是有了一定的了解,所以这里做一个总结。 二、冒泡排序法。 这是比较经典的排序算法,主要是通过内外两层的循环比较,使得乱序变为顺序。 下面是一个测试代码 1 #include <iostream> 2 #include <vector> 3 using namespace ...
分类:
编程语言 时间:
2019-11-15 22:38:20
阅读次数:
82
参考资料:梯度下降优化算法总结(必看!!!!!!!) 梯度下降法 (Gradient Descent Algorithm,GD) 是为目标函数J(θ),如代价函数(cost function), 求解全局最小值(Global Minimum)的一种迭代算法。 为什么使用梯度下降法 我们使用梯度下降法 ...
分类:
编程语言 时间:
2019-11-13 22:30:05
阅读次数:
144
一、二维数组数字查找 题目:二维数组中,每行从左到右递增,每列从上到下递增;完成一个函数:输入该数组和待查找数字,判断是否可查找到该数字; ...
分类:
编程语言 时间:
2019-10-30 13:41:38
阅读次数:
97
稳定 冒泡排序 冒泡排序是不断比较相邻两个元素,并不断交换,最后把大的放到数组后面。第一趟遍历会把最大的元素放到(n-1)位置,第二趟遍历会把第二大的元素放到(n-2)的位置,以此类推。 最好的情况是当数组有序,跑一次内存循环(时间复杂度为O(N))后,因为isSorted为true,外层循环直接退 ...
分类:
编程语言 时间:
2019-10-29 23:43:23
阅读次数:
95
Tarjan算法总结 关于学习 《算法竞赛进阶指南》 前言 Tarjan算法能在线性时间内求出无向图的 割点 和 桥 ,进一步可求出无向图的 双连通分量 。并且能在有向图中求出有向图的 强连通分量 、 必经点和必经边 。 只打算给自己复习用,233. Tarjan算法 几个定义: 时间戳:其实就是d ...
分类:
编程语言 时间:
2019-10-24 20:01:25
阅读次数:
87
[算法总结]康托展开Cantor Expansion 一、关于康托展开 1.什么是康托展开 求出给定一个由1~n个整数组成的任意排列在1~n的全排列中的位置。 解决这样问题的算法叫康托展开。 例如: $n=4$,序列a={$1,3,4,2$},那么a在1~4中的全排列位置为第4个。 2.康托展开实现 ...
分类:
编程语言 时间:
2019-10-24 15:27:19
阅读次数:
94
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。 特性 输入 输出 有穷性 确定性 可行性 好的算法应该是易于理解(抽象升级),正确高效。 描述方式 自然语言 流程图 程序设计语言 伪代码 N-S图 度量 时间复杂度 ...
分类:
编程语言 时间:
2019-10-23 22:35:48
阅读次数:
98