自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 操作系统学习(一) 绪论

1 基本概念 1.1 组成(冯·诺伊曼模型) 主机部分 运算器 存储器 控制器 外部设备 输入设备 输出设备 1.2 最基本特征 并发 共享 1.3 功能 处理器管理 进程控制 进程同步 进程通信 进程调度 存储器管理 内存分配 内存保护 内存扩充 设备管理 设备分配 设备传输控制 设备独立性 文件管理 文件存储空间的管理 目录管理 文件操作管理 文件保护 ...

2018-10-06 16:42:05 228

原创 数据结构(六)线段树

1 线段树 1.1 什么是线段树 线段树是一种二叉搜索树,它的每个节点保存一条线段(即数组的一段子数组) 1.2 作用 用于高效解决连续区间的动态查询问题 1.3 特点 时间复杂度为O(logN) 未优化的空间复杂度为2N 1.4 节点 线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间。例如父亲的区间是[ a , b ],那么 c = ( a + b ) /...

2018-08-27 20:51:33 217

原创 排序算法(一) 快速排序 quicksort

1 原理 1.1 步骤 在数组中任取一个元素作为枢纽元(pivot),将数组中除了枢纽元以外的元素划分成两个集合:一个集合 S1 中的元素大于枢纽元,另一个集合 S2 中的元素小于枢纽元。对两个集合分别进行 quicksort(递归),最后返回较小数集合+枢纽元+较大数集合的数组。 1.2 运行时间 平均运行时间为 O(N log N) 最长运行时间为 O(N^2) 1.3 枢...

2018-08-16 17:03:19 205

原创 数据结构(五) AVL树

1 概念 1.1 平衡 任何节点深度均不得过深 1.2 AVL树 每个节点的左子树和右子树高度最多差 1 的二叉查找树(空树高度定义为 -1) 带有平衡条件的二叉查找树 2 旋转 插入操作可能破坏平衡,需要通过旋转(rotation)进行修正 设需要重新平衡的节点为 t,t 的两棵子树高度差应该为 2(平衡时高度差 <= 1) 2.1 单旋转 对 t 的左儿子的...

2018-08-14 10:51:06 387

原创 数据结构(四) 二叉查找树

1 性质 每个节点的儿子不超过 2 个 对于树中每个节点 X,它的左子树中所有项的值都小于 X 中的项,右子树中所有项的值都大于 X 中的项 平均深度为 O(logN),最大深度为 N - 1 2 实现...

2018-08-12 15:37:11 163

原创 算法初步(一)寻找最小正整数

1 问题 琪琪喜欢旅游。有一天,她发现了一盏神灯,不幸的是,灯里的精灵不是那么善良。琪琪必须回答一个问题,然后精灵会实现她的一个梦想。问题是:给你一个整数,你需要删除 m 位数。剩下的的数字将形成一个新的整数,你要让这个整数最小。 不允许改变数字的顺序。现在你能帮助琪琪实现她的梦想吗? 2 抽象描述 给定两个正整数 x 和 m,要求从 x 中删除任意 m 位(不改变数字顺序),使得产生的正...

2018-08-10 18:40:47 3757

原创 数据结构(三)队列 Queue

1 队列模型 1.1 定义 队列(queue)是插入在一端进行而删除在另一端进行的表 先进先出(FIFO)表 1.2 基本操作 enqueue(入队):在队尾(rear)插入元素 dequeue(出队):删除队头(front)的元素 1.3 特性 以常数时间运行 2 队列的实现...

2018-08-09 19:01:20 218

原创 数据结构(二)栈 Stack

1. 栈模型 1.1 定义 栈(stack)是限制插入和删除只能在一个位置上进行的表(list),该位置是表的末端,称为栈的顶(top)。 1.2 基本操作 push(进栈) :插入元素 注 pop(出栈):删除元素...

2018-08-07 16:47:03 214

原创 数据结构(一)ArrayList & LinkedList

1. ArrayList VS LinkedList 1.1 ArrayList List 的可增长数组实现 优点:对 get 和 set 的调用花费常数时间 缺点:插入和删除开销昂贵 1.2 LinkedList List的双链表实现 优点:插入和删除开销小(若变动项位置已知,花费常数时间) 缺点:对 get 的调用开销昂贵 2. ArrayList 的简单实现 Arra...

2018-08-05 17:21:41 160

原创 计算机网络学习笔记(一) 计算机网络和因特网

1. 因特网 1.1 具体构成描述 1.1.1 端系统 连接到因特网的计算设备,又称为主机 1.1.2. 通信链路(communication link) 由不同的物理媒体组成,包括同轴电缆、铜线、光纤和无线电频谱 传输速率:bit/s(bps) 1.1.3. 分组交换机(packet switch) 路由器(router):用于网络核心中 链路层交换机(link-laye...

2018-08-02 16:53:32 419

原创 图数据库 Neo4j

1 图数据库 与传统数据库不同,图数据库在底层用图的方式存储用户定义的节点和关系。因此,在查询两个节点的联系时,可以在图上从其中一个节点开始,通过表示节点与节点之间关系的线段,到达另一节点,根据这一过程中经过的节点与关系,得到两个节点之间的联系。因此,图数据库可以高效地处理复杂网络关系。 2 Neo4j 的特点 2.1 特点 在创建节点的同时建立关系 时间复杂度在常数级别 基于J...

2018-08-02 15:49:33 586

原创 智能合约&以太坊

1. 智能合约 智能合约是运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、存储和发送价值。 2. 以太坊 2.1 什么是以太坊 以太坊(Ethereum)是一个分布式计算机,有许多的节点,其中的每一个节点都会执行智能合约,然后把结果存在区块链上。由于整个网络是分布式的,且应用就是一个个的状态组成,存储了状态就有了服务;所以它没有一个中心化的结点,任何第三方不能干预,能永不停...

2018-08-02 15:20:26 389 3

原创 区块链学习

区块链学习 1 定义 区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。 2 主要技术 2.1 数字签名 使用数字签名验证交易对象身份。 2.2 时间戳 比特币网络采取从 5 个以上节点获取时间,然后取中间值的方式作为时间戳。 2.3 Merkle Tree 用于校验数据完整性的二叉树,叶子节点存储交易信息的哈希值,非叶子节点计算其子节点的哈...

2018-08-02 15:14:02 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除