- 博客(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关注的人