- 博客(13)
- 收藏
- 关注
原创 操作系统学习(一) 绪论
1 基本概念1.1 组成(冯·诺伊曼模型)主机部分运算器存储器控制器外部设备输入设备输出设备1.2 最基本特征并发共享1.3 功能处理器管理进程控制进程同步进程通信进程调度存储器管理内存分配内存保护内存扩充设备管理设备分配设备传输控制设备独立性文件管理文件存储空间的管理目录管理文件操作管理文件保护...
2018-10-06 16:42:05
205
原创 数据结构(六)线段树
1 线段树1.1 什么是线段树线段树是一种二叉搜索树,它的每个节点保存一条线段(即数组的一段子数组)1.2 作用用于高效解决连续区间的动态查询问题1.3 特点时间复杂度为O(logN)未优化的空间复杂度为2N1.4 节点线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间。例如父亲的区间是[ a , b ],那么 c = ( a + b ) /...
2018-08-27 20:51:33
200
原创 排序算法(一) 快速排序 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
188
原创 数据结构(五) AVL树
1 概念1.1 平衡任何节点深度均不得过深 1.2 AVL树每个节点的左子树和右子树高度最多差 1 的二叉查找树(空树高度定义为 -1) 带有平衡条件的二叉查找树2 旋转插入操作可能破坏平衡,需要通过旋转(rotation)进行修正 设需要重新平衡的节点为 t,t 的两棵子树高度差应该为 2(平衡时高度差 <= 1)2.1 单旋转对 t 的左儿子的...
2018-08-14 10:51:06
372
原创 数据结构(四) 二叉查找树
1 性质每个节点的儿子不超过 2 个对于树中每个节点 X,它的左子树中所有项的值都小于 X 中的项,右子树中所有项的值都大于 X 中的项平均深度为 O(logN),最大深度为 N - 12 实现...
2018-08-12 15:37:11
148
原创 算法初步(一)寻找最小正整数
1 问题琪琪喜欢旅游。有一天,她发现了一盏神灯,不幸的是,灯里的精灵不是那么善良。琪琪必须回答一个问题,然后精灵会实现她的一个梦想。问题是:给你一个整数,你需要删除 m 位数。剩下的的数字将形成一个新的整数,你要让这个整数最小。 不允许改变数字的顺序。现在你能帮助琪琪实现她的梦想吗?2 抽象描述给定两个正整数 x 和 m,要求从 x 中删除任意 m 位(不改变数字顺序),使得产生的正...
2018-08-10 18:40:47
3714
原创 数据结构(三)队列 Queue
1 队列模型1.1 定义队列(queue)是插入在一端进行而删除在另一端进行的表 先进先出(FIFO)表1.2 基本操作enqueue(入队):在队尾(rear)插入元素 dequeue(出队):删除队头(front)的元素1.3 特性以常数时间运行2 队列的实现...
2018-08-09 19:01:20
199
原创 数据结构(二)栈 Stack
1. 栈模型1.1 定义栈(stack)是限制插入和删除只能在一个位置上进行的表(list),该位置是表的末端,称为栈的顶(top)。1.2 基本操作push(进栈) :插入元素 注 pop(出栈):删除元素...
2018-08-07 16:47:03
199
原创 数据结构(一)ArrayList & LinkedList
1. ArrayList VS LinkedList1.1 ArrayListList 的可增长数组实现优点:对 get 和 set 的调用花费常数时间缺点:插入和删除开销昂贵1.2 LinkedListList的双链表实现优点:插入和删除开销小(若变动项位置已知,花费常数时间)缺点:对 get 的调用开销昂贵2. ArrayList 的简单实现Arra...
2018-08-05 17:21:41
144
原创 计算机网络学习笔记(一) 计算机网络和因特网
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
396
原创 图数据库 Neo4j
1 图数据库与传统数据库不同,图数据库在底层用图的方式存储用户定义的节点和关系。因此,在查询两个节点的联系时,可以在图上从其中一个节点开始,通过表示节点与节点之间关系的线段,到达另一节点,根据这一过程中经过的节点与关系,得到两个节点之间的联系。因此,图数据库可以高效地处理复杂网络关系。 2 Neo4j 的特点2.1 特点在创建节点的同时建立关系时间复杂度在常数级别基于J...
2018-08-02 15:49:33
545
原创 智能合约&以太坊
1. 智能合约智能合约是运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、存储和发送价值。2. 以太坊2.1 什么是以太坊以太坊(Ethereum)是一个分布式计算机,有许多的节点,其中的每一个节点都会执行智能合约,然后把结果存在区块链上。由于整个网络是分布式的,且应用就是一个个的状态组成,存储了状态就有了服务;所以它没有一个中心化的结点,任何第三方不能干预,能永不停...
2018-08-02 15:20:26
374
3
原创 区块链学习
区块链学习1 定义区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。2 主要技术2.1 数字签名使用数字签名验证交易对象身份。2.2 时间戳比特币网络采取从 5 个以上节点获取时间,然后取中间值的方式作为时间戳。2.3 Merkle Tree用于校验数据完整性的二叉树,叶子节点存储交易信息的哈希值,非叶子节点计算其子节点的哈...
2018-08-02 15:14:02
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人