数据结构与算法IBM研究人员提出“神经突变”进化算法 机器学习择速度提升50000倍 IBM的研究人员提出“神经突变”进化算法,可以为机器学习任务自动选择最合适的算法,选择速度提升了50000倍,错误率仅上升0.6%. 机器学习系统并非是“生而平等”的。没有一种算法能应对所有的机器学习... 2018-09-123,423 viewsComments机器学习 阅读全文
数据结构与算法区块链共识算法:整体介绍及分叉的通俗讲解 简单过一下区块链 我们一般意识形态中的 链 是铁链,由铁铸成,一环扣一环。形象地,区块链的也可以这么理解,只不过它不是由铁铸成,而是由拥有一定数据结构的块连接而成,这是一个最简单的雏形 见下图 通俗讲... 2018-09-114,002 viewsComments区块链 阅读全文
数据结构与算法区块链共识算法:PoS 及其例子go语言代码实现 PoS 共识算法 PoS 全称为 Proof of Stake 股权证明。字面意思就是,股份制。就是说,谁的股份越多,谁的话事权越大,这和我们生活中的股份制公司中的股东的意思的差不多的。 但是,在区块... 2018-09-114,308 viewsCommentsGoLang 区块链 阅读全文
数据结构与算法二叉搜索树特点、插入、查询与删除操作 二叉搜索树 二叉搜索树(Binary Search Tree,简写BST),又称为二叉排序树,属于树的一种,通过二叉树将数据组织起来,树的每个节点都包含了健值 key、数据值 data、左子节点指针、... 2018-09-112,794 viewsComments 阅读全文
数据结构与算法B+树的特点及插入、查找、遍历图解 B+树 B+树是B树的一种变体,也属于平衡多路查找树,大体结构与B树相同,包含根节点、内部节点和叶子节点。多用于数据库和操作系统的文件系统中,由于B+树内部节点不保存数据,所以能在内存中存放更多索引,... 2018-09-117,833 viewsComments 阅读全文
数据结构与算法二叉查找树算法阐述及Go语言代码实例 Kaylyn 使用 Go 代码作为例子,直接了当的阐述了二叉查找树算法。 介绍 Kaylyn 在最近的一年里尝试通过实现各种算法来找乐子。可能这件事情对于你来说很奇怪,但算法对她而言尤其诡异。她在大学... 2018-09-113,199 viewsCommentsGoLang 阅读全文
数据结构与算法B树的搜索过程VS插入删除操作 B树是一种自平衡多路搜索树,能够保持数据有序。它能够使搜索,插入和删除在O(log n)的时间复杂度内完成。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示... 2018-09-1124,894 viewsComments 阅读全文
数据结构与算法主流梯度下降优化算法介绍:达到 state-of-art? 梯度下降优化算法概述 平时我们说的训练神经网络就是最小化损失函数的过程,损失函数的值衡量了模型在给定数据集下的表现(拟合)能力。 图 1 损失函数 J 如图 1 所示,B 点为函数最低点,设 A 点为... 2018-09-113,414 viewsComments 阅读全文
数据结构与算法分而治之原理图解、java实现快速排序案例 分而治之(divide and conquer, D&C),一种著名的 **递归式** 解决问题的方法.快速排序中便使用到了该方法; D&C的工作原理: - 找出简单的基线条件; - ... 2018-09-103,393 viewsCommentsJava 阅读全文
数据结构与算法二分查找法算法基础、要点案例与图解 一、大O表示法: 指示算法的速度有多快,用于指出随数量的增大,算法的所需步骤增加的速度,常见的大O运行时间(时间复杂度): O(1)表示常数阶时间复杂度 O(log n),也叫对数时间复杂度,这样的算... 2018-09-104,283 viewsComments 阅读全文
数据结构与算法广度优先搜索算法案例及java代码实现 广度优先搜索算法(Breadth First Search),又称为"宽度优先搜索"或"横向优先搜索",简称BFS; BFS是用于图的查找算法(要求能用图表示出问题的关联性)。 BFS可用于解决2类问... 2018-09-101,961 viewsCommentsJava 阅读全文
数据结构与算法狄克斯特拉算法案例、局限性及java代码实现 狄克斯特拉算法(Dijkstra )用于计算出不存在非负权重的情况下,起点到各个节点的最短距离 可用于解决2类问题: 从A出发是否存在到达B的路径; 从A出发到达B的最短路径(时间最少、或者路径最少等... 2018-09-102,676 viewsCommentsJava 阅读全文
数据结构与算法贪婪算法案例、np完全问题及java代码实现 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),... 2018-09-106,320 viewsCommentsJava 阅读全文
数据结构与算法贝尔曼-福特算法案例局限及java代码实现 贝尔曼-福特算法(Bellman–Ford algorithm )用于计算出起点到各个节点的最短距离,支持存在负权重的情况 它的原理是对图进行最多V-1次松弛操作,得到所有可能的最短路径。其优于迪科斯... 2018-09-102,749 viewsCommentsJava 阅读全文
数据结构与算法快速排序算法讲解及swift代码实现 快速排序算法被称之为20世纪十大算法之一,也是各大公司面试比较喜欢考察的算法。 快速排序算法讲解 快速排序的基本思想是:通过一趟排序将带排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录... 2018-09-103,152 viewsCommentsswift 排序算法 阅读全文
数据结构与算法归并排序算法讲解及swift代码实现 归并排序 算法讲解 归并排序使用了算法思想里的分治思想(divide conquer)。顾名思义,就是将一个大问题,分成类似的小问题来逐个攻破。在归并排序的算法实现上,首先逐步将要排序的数组等分成最小... 2018-09-102,321 viewsCommentsswift 排序算法 阅读全文
数据结构与算法插入排序算法讲解及swift代码实现 插入排序算法讲解 插入排序的基本思想是:从数组中拿出一个元素(通常就是第一个元素)以后,再从数组中按顺序拿出其他元素。如果拿出来的这个元素比这个元素小,就放在这个元素左侧;反之,则放在右侧。整体上看来... 2018-09-102,668 viewsCommentsswift 排序算法 阅读全文
数据结构与算法选择排序算法讲解及swift代码实现 选择排序算法讲解 选择排序也是两层循环: 外层循环的边界是[0,array.count-1),index为i。 内层循环的边界是[i+1,array.count),index为j。可以看到内层的范围也... 2018-09-102,452 viewsCommentsswift 排序算法 阅读全文
数据结构与算法冒泡排序算法讲解及swift代码现实 冒泡排序算法讲解 与上面讲的交换排序类似的是,冒泡排序也是用两层的循环来实现的;但与其不同的是: 循环的边界条件:冒泡排序的外层是[0,array.count-1);内层是[0,array.count... 2018-09-103,265 viewsCommentsswift 排序算法 阅读全文
数据结构与算法交换排序算法讲解及swift代码实现 看一种最简单的排序算法(也是性能最低的,也是最好理解的),在这里先称之为“交换排序”。 注意,这个名称是笔者自己起的,在互联网和相关技术书籍上面没有对该算法起名。 算法讲解 用两个循环来嵌套遍历: 外... 2018-09-102,058 viewsCommentsswift 排序算法 阅读全文
数据结构与算法递归概念与算法实现原理|swift代码演练 递归的实现原理 递归的调用实际上是通过调用栈(callback stack)来实现的,笔者用一张图从factorial(3)开始调用到最后得出6这个顺序之间发生的事情画了出来: 由上图可以看出,整个递... 2018-09-102,086 viewsCommentsswift 阅读全文
数据结构与算法算法基础概念、时间与空间复杂度:swift代码实例 算法的概念 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 摘自《大话数据结构》 简单说来,算法就是“一个问题的解法”。对于相同一个问题,可能会有多... 2018-09-102,634 viewsCommentsswift 阅读全文
数据结构与算法排序算法之希尔排序:java、Kotlin、python代码实现 希尔排序 核心:基于插入排序,使数组中任意间隔为 h 的元素都是有序的,即将全部元素分为 h 个区域使用插入排序。其实现可类似于插入排序但使用不同增量。更高效的原因是它权衡了子数组的规模和有序性 希尔... 2018-09-103,080 viewsCommentsJava Kotlin Python 阅读全文
数据结构与算法排序算法之插入排序:java、Kotlin、python代码实现 插入排序(Insertion Sort) 通过构建有序序列,对于未排序序列,从后向前扫描(对于单向链表则只能从前往后遍历),找到相应位置并插入。实现上通常使用 in-place 排序(需用到 O(1)... 2018-09-102,609 viewsCommentsJava Kotlin Python 阅读全文