分类: 数据结构与算法
thumbnail

希尔排序算法图解:要点及过程

希尔排序 希尔排序是希尔(Donald Shell)提出的一种排序方法,也属于插入排序,但是简单插入排序的高效版本,也称为缩小增量排序。基本思想是将待排序元素进……
thumbnail

算法导论:如何计算图的最短路径?

最短路径的定义是什么? 最短路径即拥有最小权重的路径p; 路径定义: p=<,,...,>, 其中当时,有 (,) E; 路径的权重:w(p)= ; 加上权重的数学表示方式 ……
thumbnail

BitMap 算法介绍及java代码解读

假如给你 20 亿个非负数的 int 型整数,然后再给你一个非负数的 int 型整数 t ,让你判断 t 是否存在于这 20 亿数中,你会怎么做呢? 有人可能会用一个 int ……
thumbnail

栈的数据结构及相关面试题

栈作为一种基本的数据结构,在很多地方有运用,比如函数递归,前后缀表达式转换等。本文会用C数组来实现栈结构(使用链表实现可以参见链表那一节,使用头插法……
thumbnail

链表数据结构定义、操作及相关面试题

链表作为一种基础的数据结构,在很多地方会用到。如在Linux内核代码,redis源码,python源码中都有使用。除了单向链表,还有双向链表,本文主要关注单向链表(……
thumbnail

二叉堆数组对象定义、排序等算法面试题

二叉堆是一种数组对象,可以被视为一棵完全二叉树,树中每个结点和数组中存放该结点值的那个元素对应。树的每一层都是填满的,最后一层除外。二叉堆可以用于……
thumbnail

字符串相关面试题 及数据结构算法实现

字符串作为数据结构中的基础内容,也是面试中经常会考察的基本功之一,比如实现 strcpy,strcmp等基本函数等,回文字符串,字符串搜索,正则表达式等。本文……
thumbnail

C指针、数组和结构体算法面试题

C语言实现一些常见的数据结构和算法时,C语言的基础不能少,特别是指针和结构体等知识。 1 关于ELF文件 linux中的C编译得到的目标文件和可执行文件都是ELF格……
thumbnail

二叉搜索树数据结构基础:增删查及递归和非递归遍历

1 定义二叉搜索树 我们先定义一个二叉树的结点,如下: typedef struct BTNode { int value; struct BTNode *left; struct BTNode *right; ……
thumbnail

哈希算法解读及哈希表原理

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明……
thumbnail

python 数据挖掘算法简要入门及实现

一、数据挖掘过程 1.数据选择 在分析业务需求后,需要选择应用于需求业务相关的数据。明确业务需求并选择好业务针对性的数据是数据挖掘的先决条件。 2.数据……
thumbnail

图像处理的滤镜算法大全及js代码实现 总有你要的那一款

灰度滤镜 将颜色的RGB设置为相同的值即可使得图片为灰色,一般处理方法有: 1、取三种颜色的平均值 2、取三种颜色的最大值(最小值) 3、加权平均值:0.3R +……
thumbnail

二叉堆数组对象算法图解

堆是二叉堆。二叉堆是一种数组对象,可以被视为一棵完全二叉树,树中每个结点和数组中存放该结点值的那个元素对应。树的每一层都是填满的,最后一层除外。二……
thumbnail

谷歌网页排名PageRank算法原理与numpy代码实现

1、PageRank 1.1.简介 PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公……
thumbnail

数据挖掘算法——PageRank及所建立的模型

PageRank是Sergey Brin与Larry Page于1998年在WWW7会议上提出来的,用来解决链接分析中网页排名的问题。在衡量一个网页的排名,直觉告诉我们: 当一个网页被……
thumbnail

机器学习 — AdaBoost算法(手稿+numpy代码)

一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过迭代进行。其中函数的算法怎么来的,你不用知道!当然你也可以尝……
thumbnail

Trie树特点、插入查询删除操作等算法图解

Trie树 Trie树,是一种搜索树,也称字典树或单词查找树,此外也称前缀树,因为某节点的后代存在共同的前缀。它的key都为字符串,能做到高效查询和插入,时间……
thumbnail

机器学习进阶教程之Logistic回归算法

机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类。Logistic回归算法同样是需要通过样本空间学习的监督学习算法,并且适用于数值型和标称型数……
thumbnail

Feistel密码结构、原理及java代码实现

密码学研究中,Feistel密码结构是用于分组密码中的一种对称结构。理解了Feistel密码结构,对于理解DES算法的原理有很大的帮助。 Feistel建议使用乘积密码的……
thumbnail

DES分组加密算法原理与Java部分代码实现

DES是一个分组加密算法,它以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。DES是一个包含16个阶段的“替换--置换”的分组加……
thumbnail

AI学习笔记:机器学习(Machine Learning)如何理解

如果说概率论是机器学习的基石,那么机器学习算法和理论就是支撑整个AI系统的支柱。现在比较火的深度学习神经网路等等其实也就是机器学习的一个具体方法和分……
thumbnail

机器学习是什么?相关算法有何不同?

人工智能最近几年可谓是异常的火爆,国家人工智能的人才缺口相当大,因此很多高校该专业的应届毕业生的薪资也高的离谱,下面就是2018届互联网校招的高薪清单:……
thumbnail

垃圾回收算法有哪些?

垃圾回收算法 常见的垃圾回收算法 1.标记-清除算法 2.复制算法 3.标记-整理算法 4.分代垃圾收集算法 标记-清除算法 标记-清除就是JVM运行过程中对java对象所在……
thumbnail

PID算法的C语言代码实现

PID算法是个很经典的东西。而做自平衡小车,飞行器PID是一个必须翻过的坎。因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂。并举出PID的……