还记得这个经典公式吗? 程序=数据结构+算法 可见数据结构和算法对于程序的重要性。基于此博主写了数据结构与算法系列随笔。下面先给出数据结构与算法的思维导图。一.数据结构的基本概念数据结构定义:数据结构是一种存储和组织数据的方式,以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运... ...
分类:
编程语言 时间:
2017-12-14 19:20:19
阅读次数:
157
一、概念概述 给定一个单词,判断该单词是否满足我们给定的单词描述规则,需要用到编译原理中词法分析的相关知识,其中涉及到的两个很重要的概念就是正规式(Regular Expression)和有穷自动机(Finite Automata)。正规式是描述单词规则的工具,首先要明确的一点是所有单词组成的是一个 ...
分类:
编程语言 时间:
2017-11-28 17:19:05
阅读次数:
272
各类排序算法的时间复杂度 排序算法概述: 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选 ...
分类:
编程语言 时间:
2017-11-28 11:43:16
阅读次数:
161
一、分类 对称加密算法 对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用 常见的对称加密算法: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES): ...
分类:
编程语言 时间:
2017-11-04 22:21:42
阅读次数:
212
概述 该算法采用测量不同特征值之间的距离方法进行分类。 优点:精度高,对异常值不敏感,无数据输入假定。 缺点:计算复杂度高,每次测试样本中的一个数据都要和训练样本所有数据进行距离计算,所以耗费的时间长,效率不高。空间复杂都高,需要存储大量数据,占用大量存储空间 使用数据范围:数值型,标称型(标称型数 ...
分类:
编程语言 时间:
2017-10-31 14:11:09
阅读次数:
188
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说的八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基 ...
分类:
编程语言 时间:
2017-10-29 17:32:24
阅读次数:
216
这篇博客主要介绍SSD算法,该算法是最近一年比较优秀的object detection算法,主要特点在于采用了特征融合。 论文:SSD single shot multibox detector论文链接:https://arxiv.org/abs/1512.02325 算法概述: 本文提出的SSD算... ...
分类:
编程语言 时间:
2017-09-22 19:06:05
阅读次数:
318
概述 大多数算法都定义在algorithm头文件中。 Note:算法永远不会执行容器操作 泛型算法本身不会执行容器的操作,而是通过迭代器来访问、修改等操作 10.1 题目要求读取数据存入vector,并实现用户可以查找的值出现在vector中的次数,所以可以考虑用户查找文件中某个数出现的次数,所以可 ...
分类:
编程语言 时间:
2017-08-24 22:42:30
阅读次数:
220
快速排序是一个知名度极高的排序算法,其对于大数据的优秀排序性能和相同复杂度算法中相对简单的实现使它注定得到比其他算法更多的宠爱。 算法概述/思路 快速排序一般基于递归实现。其思路是这样的: 1.选定一个合适的值(理想情况中值最好,但实现中一般使用数组第一个值),称为“枢轴”(pivot)。 2.基于 ...
分类:
编程语言 时间:
2017-08-23 11:54:41
阅读次数:
158
机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达, y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。使用降 ...
分类:
编程语言 时间:
2017-08-22 01:41:24
阅读次数:
161