3 东大大数据组Zzzcg

尚未进行身份认证

我要认证

东北大学计算机学院大数据组于戈老师团队硕士研究生。

等级
TA的排名 3w+

比特币C++实现

比特币的原理看我的另一篇博客,承蒙厚爱,阅读量居然16W+!感谢感谢!下面是我最近写的一个近乎于完整的模拟比特币的代码,实际上还不够完整,不过已经能实现打包交易进入区块,然后挖矿了。这个程序是只有一个节点在挖矿,所以暂时也不涉及分布式系统的东西,还算比较简单容易理解。这个程序就是整个网络中一个节点的视角。分享出来希望对大家有所帮助。部署过程就是把代码统统贴过去,要注意的就是代码中有两个文件...

2020-03-06 10:47:01

查找算法总结

顺序查找:最简单的遍历的方法,适用于各种线性表。折半查找:比顺序查找效率更高,节省一半的时间,适用于有序的线性表,使用条件是有序,其改进的算法包括插值查找和斐波那契查找法。索引顺序查找:介于折半查找和顺序查找之间的一种算法,适合动态变化且结点数量较多的表。二叉排序树:用于树中结点的查找,特点是左儿子的值一定小于父亲的值,右儿子的值大于父亲的值,左右子树也分别是二叉排序树。这样的数据结构...

2020-01-02 15:19:18

图的遍历DFS和BFS代码实现

图的深度优先遍历是树的先序遍历的延伸,先序遍历是DFS的特殊情况。从图中任选一个顶点v,访问后开始随意选一个邻接点,从新的邻接点开始进行DFS,以此类推,这是一个递归的过程,直到遍历完图中所有结点。实际上,递归算法的本质就是一个栈,递归算法消耗大量的内存存储临时变量和中间状态,但是代码更简单。(至于用不用递归,就看实际需求吧)图的非递归深度优先遍历,引入一个数组和一个栈,数组visit[]...

2019-12-25 20:56:23

图的几种表示方法

图数据结构的表示方法大致分为四种,邻接矩阵、邻接表、十字链表、多重邻接表。邻接矩阵是最容易理解的表示方法,优点是简单易懂,缺点是可能会占用很多存储空间,且没有任何意义,空间复杂度有向图是n^2,无向图是n(n-1)/2,因为无向图矩阵是对称的,只需要存储一半且不包含对角线即可。邻接矩阵的存储优化可以通过矩阵优化来实现(具体可以看矩阵的压缩方法)。邻接表就是更加灵活,节省存储空间空间复杂度有...

2019-12-25 13:33:58

树的表示方法以及先、中、后序遍历以及求叶子结点个数和树的深度代码C代码

树的概念及性质暂时略树的表示方法图形表示法:直观清晰易于理解。广义表表示法:不常用。左孩子右兄弟表示法:可以将多叉树转化为二叉树的一种表示方法,而二叉树更适合计算机表示。(也就是说一般遇到多叉树,转化成二叉树)二叉树及性质略二叉树的存储结构顺序存储用一个数组来存储二叉树,结合二叉树的性质,可以保存树的结点之间的关系。最适合完全二叉树和满二叉树,如果是一般二叉...

2019-12-17 10:16:39

顺序队列和链式队列的C语言实现

老规矩,简单的算法就不做其他解释了,直接上代码。首先是顺序存储SeqQueue.h头文件#ifndef _SEQQUEUE_H#define _SEQQUEUE_H#define MAXSIZE 50typedef struct Queue * SeqQueue;struct Queue{ int front; //队伍头 int rear; //队伍尾 int da...

2019-11-20 20:37:43

栈的链式结构以及中缀表达式转后缀表达式(逆波兰式)C语言实现

栈的数据结构就不多说了,后进先出,只有一个出口。最典型的应用就是中缀表达式转后缀表达式,因为计算机不能识别人类所认知的中缀表达式,逆波兰式多用于编译器实现、自然语言处理这些常用的领域。下面介绍中缀转后缀的具体过程。比如1+3*(2+5)转化成后缀表达式是:1325+*+,转化算法为:1、对于数字,直接输出2、对于符号: 左括号:进栈,不管栈中是否有元素 运算符:若此时栈为...

2019-11-13 18:16:57

单向链表C语言实现

list.h#pragma once#ifndef _LIST_H#define _LIST_Hstruct Node{ int data; struct Node * next;};struct Header{ int length; struct Node * next;};typedef struct Node List;typedef struct H...

2019-11-05 18:27:28

顺序链表C语言实现

顺序链表没什么说的啦,直接上代码,参考了传智播客出版的数据结构。创建工程的时候不小心弄成c++了,不过没关系,都一样。Operation中有一处语法上的疑惑,就是插入的那个函数中,node为什么要强制转换成整型,既然等式两边都是指针,为什么不是转化成int* ,有心人帮忙解答一下,谢谢。SeqList.h头文件#ifndef _SEQLIST_H_#define _SEQLIST_...

2019-11-04 18:15:14

比特币原理详解

一、什么是比特币比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。二、问题引入假设现有4个人...

2019-10-29 11:12:13

数据挖掘概论

最近学习数据挖掘,记录一下数据挖掘概述,便于指导以后的学习方向。数据挖掘的过程1.数据预处理(至关重要,数据的质量决定挖掘的质量)数据预处理包括数据整合、数据清洗、数据转化和数据约简。一、数据整合:收集要分析的数据进行模式整合组成一个新的数据仓库。(具体什么方法还有待学习,可能是爬虫?)数据整合的问题:数据来源五花八门,如何收集不同数据源的数据?收集到的数据又未必一致,而且还可...

2018-11-22 16:06:50

C语言实现集合运算(交并差补)

C语言入门,写的不好多多指教!//输入两个整数集合A、B,求出交集、并集以及B在A中的余集,输入时按照大小顺序输入。#include<stdio.h>#defineMAX1000//最大输入个数intbubbleSort(int*A,intlen)//冒泡排序{inti,j,t;for(i=0;i<len-1;i++){...

2018-11-14 10:38:56

黑色星期五C语言实现

问题描述:已知1998年1月1日是星期4,输入一个1998年之后的年份,输出本年所有的黑色星期5日期。(黑色星期五指的是既是13日,又是星期五)代码:#include<stdio.h>//整体思路://只需要判断每个月13号是否是星期五就可以了。那怎么看这天是不是星期5呢?//可以计算这一天距离已知的98年1月1日有多少天,那天是星期四,天数+3再模7,结果是几就是星期几。是...

2018-10-29 22:20:50
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。