摘要: 一直对二分法比较讨厌,今天做到了leetcoede第四题被难到了,做了好久才AC,这里写个博客来记录一下。 首先二分法的关键是找到上界和下界。同时也要注意边界条件。先来看看普通的暴力方法 这种方法的时间复杂度为O(m+n), 第二种方法我们可以把这题看成寻找第k大的值,这样我们可以递归的去做,每次查 阅读全文
posted @ 2018-11-26 20:06 mambakb 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 线性回归目的是找到一条直线(或者超平面)尽可能地接近所有的训练数据点,而对数几率回归的目的是找到一条直线(或者超平面)尽可能地分开两种不同类别的数据点。 对数几率回归感觉更像是一个分类问题。https://blog.csdn.net/amds123/article/details/70243497这 阅读全文
posted @ 2018-11-17 09:47 mambakb 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 在之前讲解了比特币中的共识算法pow(proot of work),我们先来简单的回顾一下。 新的交易将会广播给所有节点。 每个节点将都会讲新的交易收集到一个区块中。 每个节点都在为其区块收集困难的工作量证明。 当节点发现工作量证明时,它会将该区块的情况广播给所有节点。 只有在节点中的所有交易都有效 阅读全文
posted @ 2018-11-10 21:57 mambakb 阅读(1248) 评论(0) 推荐(0) 编辑
摘要: Solidity 是一个面向合约的高级语言,其语法类似于JavaScript 。是运行在以太坊虚拟机中的代码。这里我们用的是remix编译环境。是一个在线的编译环境。地址为http://remix.ethereum.org Solidity的合约类似于面向对象语言中的类。下面我们可以先创建一个合约。 阅读全文
posted @ 2018-10-31 16:07 mambakb 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。这里我会讲解一下关键字storage和memory的区别。 storage的结构是在合约部署创建时,根据你的合约中状态变量的声明,就固定下来了,并且不能在将来的合约方法调用中改变这个结构。但是,storage中的内容 阅读全文
posted @ 2018-10-21 21:42 mambakb 阅读(6070) 评论(1) 推荐(0) 编辑
摘要: 首先要下载geth,下载地址:https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-1.7.0-6c6c7b2a.exe 下载好geth之后,新建一个文件夹,接着就是需要一个创世配置文件,这个文件是一个json文件,提供了 阅读全文
posted @ 2018-10-10 22:19 mambakb 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 在之前的文章中已经说过了比特币是一种去中心化的分布式账本,因此各节点之间是相互不信任的。那么比特币网络中的所有参与者如何达成对任意一个所有权的共识呢?这篇文章就会介绍如何解决这个问题。 比特币的共识由所有节点的4个独立过程相互作用而产生: 1.每个节点(挖矿节点)依据标准对每个交易进行独立验证 2. 阅读全文
posted @ 2018-10-02 22:11 mambakb 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 写了几篇区块链的学习笔记,今天来写写比特币中的区块链。比特币中区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。每个区块从后向前有序地链接在这个链条里,每个区块都指向前一个区块。 区块结构 区块是一种数据结构,存放了多组交易,并且块与块之间相互连接,每个块都指向前一个区块。为了提高性能,一 阅读全文
posted @ 2018-09-21 20:39 mambakb 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 比特币采用了P2P(peer-to-peer)网络架构。P2P是指位于同一网络中的每台计算机都彼此对等,不存在任何“特殊”节点。P2P网络中不存在中心化的服务,计算机网络中的课程已经讲过了P2P,不过为了更好了解的P2P,先看下中心化的网络结构。 从图中可以看出中心化的结构节点直接的通讯通过一个中心 阅读全文
posted @ 2018-09-13 18:36 mambakb 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 上次大致讲了比特币的交易模式。接着讲讲比特币的交易。比特币的交易验证引擎依赖于两类脚本来验证比特币交易:一个锁定脚本和一个解锁脚本。 锁定脚本锁定了一个输出值,同时它明确了今后花费这笔输出的条件。锁定脚本往往含有一个公钥(即比特币地址)。解锁脚本是解开输出上设定的花费条件的脚本,同时它将允许输出被消 阅读全文
posted @ 2018-09-09 12:12 mambakb 阅读(403) 评论(0) 推荐(0) 编辑