会员
周边
新闻
博问
闪存
众包
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
北漂的尘埃
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
2020年12月17日
最优化理论与算法------阻尼牛顿法(附Matlab实现)
摘要: 1 function[x,val,k]=dampnm(fun,gfun,Hess,x0) 2 %功能:用阻尼牛顿法求解无约束优化问题:minf(x); 3 %输入:x0是初始点,fun,gfun,Hess分别是目标函数和梯度Hess阵函数; 4 %输出:x,va1分别是近似最优解和近似最优值,k是迭
阅读全文
posted @ 2020-12-17 10:35 北漂的尘埃
阅读(4615)
评论(5)
推荐(0)
2020年12月10日
区块链V4版本交易理论
摘要: 传统转账: 传统银行的每个账户都会有一个数据库表来存储用户的信息,包括姓名,卡号,余额等基本信息,每产生一笔交易后,最终都会更新这个余额字段,这个数据表就是这个账户的存储结构。 转账成功与否只看这个字段的金额是否足够即可,不用把整个钱的来源检验一遍。 比特币转账: 比特币的数据库中只有交易,没有这个
阅读全文
posted @ 2020-12-10 22:56 北漂的尘埃
阅读(209)
评论(0)
推荐(0)
2020年12月8日
3. 四数之和(数组、Hashset)(18题)
摘要: 思路及算法: 该题与第15题的“三数之和”相似,四数之和为一个目标值,就是三数之和为目标值减去第四个数,然后按照15题的基础上稍加修改就成功了。因为不能重复,所以,首先进行了一遍排序;其次,在枚举的时候判断了本次的第四个数的值是否与上一次的相同;再次,在枚举的时候判断了本次的第三个数的值是否与上一次
阅读全文
posted @ 2020-12-08 10:35 北漂的尘埃
阅读(169)
评论(0)
推荐(0)
2020年12月7日
区块链V3版本实现之六
摘要: 命令行demo代码: 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 func main() { 9 //返回的是数组 10 cmds := os.Args 11 12 //通过字符比较,去选择执行相应的程序 13 for i, cmd := r
阅读全文
posted @ 2020-12-07 11:05 北漂的尘埃
阅读(94)
评论(0)
推荐(0)
区块链V3版本实现之五
摘要: 迭代器分析: 作用:遍历容器,将数据逐个返回,防止一次性加载到内存,所以一点一点读取。 类比于for循环里面的range 区块链迭代器图示如下,最初指向最后一个区块,返回区块,指针前移,直至第一个区块。 部分代码(blockchain.go文件中定义和创建迭代器): 1 //定义一个区块链的迭代器,
阅读全文
posted @ 2020-12-07 11:01 北漂的尘埃
阅读(118)
评论(0)
推荐(0)
2020年12月4日
区块链V3版本实现之四
摘要: 部分代码(blockchain.go文件中改写addblock函数): 1 //V3版本 2 func (bc *BlockChain) AddBlock(data string) { 3 bc.db.Update(func(tx *bolt.Tx) error { 4 //所有的操作都在这里 5
阅读全文
posted @ 2020-12-04 23:10 北漂的尘埃
阅读(130)
评论(0)
推荐(0)
区块链V3版本实现之三
摘要: 部分代码(block.go文件中添加序列化与反序列化): 1 //序列化,将区块转换为字节流 2 func (block *Block) Serialize() []byte { 3 4 var buffer bytes.Buffer 5 6 //定义编码器 7 encoder := gob.New
阅读全文
posted @ 2020-12-04 23:09 北漂的尘埃
阅读(115)
评论(0)
推荐(0)
区块链V3版本实现之二
摘要: 部分代码(gob.go文件中创建一个gob的demo实现序列化与反序列化的功能): 1 package main 2 3 import ( 4 "encoding/gob" 5 "bytes" 6 "log" 7 "fmt" 8 ) 9 10 //1. gob是go语言内置的编码包 11 //2.
阅读全文
posted @ 2020-12-04 23:08 北漂的尘埃
阅读(71)
评论(0)
推荐(0)
区块链V3版本实现之一
摘要: 部分代码(改写blockchain.go文件,修改获取区块的方式): 1 package main 2 3 import ( 4 "beijing_go_term2/bolt" 5 "fmt" 6 "log" 7 ) 8 9 //V1,V2版本 10 ////创建区块链,使用Block数组模拟 11
阅读全文
posted @ 2020-12-04 23:07 北漂的尘埃
阅读(133)
评论(0)
推荐(0)
2020年12月3日
区块链V3版本实现思路
摘要: 当前版本问题: 区块在内存中,每次执行完程序就释放,无法重用 创建区块不灵活,在main中写死,无法随意添加区块 V3版本思路: Bolt数据库介绍:轻量级、开源、go语言实现、key->value进行读取(map)[ ]byteè[ ]byte BlockChain结构重写 NewBlockCha
阅读全文
posted @ 2020-12-03 15:00 北漂的尘埃
阅读(204)
评论(0)
推荐(0)
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
公告