自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 红黑树

本文章中的图片取自 算法 第四版二叉查找树在特定的条件下的性能会非常差, 比如 插入n个键的大小是按大小顺序排列好的, 则树的高度则变为n为了解决这个问题, 发明了2-3树, 而红黑树就是对2-3树的实现。2-3树:2-3树中分为 2-节点和3-节点。2-节点就是标准的二叉查找树中的节点, 2-节点由一个键值对、两条链接组成。3-节点中, 由两个2-3节点组成, 3-节点由两个键值对、三条链接组成。在构建2-3树时, 为了保持树的完美平衡性, 要分多种情况。一、 向2-节点中插入新键在插

2020-07-08 16:12:34 181

原创 十六进制与十进制的相互转化 (C++)

#include<iostream>#include<string>#include<cctype>using namespace std;char s[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};int q_pow(int n, int x){ //快速幂 int ans = 1; while(n

2020-07-04 18:29:04 517

原创 二叉搜索树基本操作

二叉搜索树将链表插入的灵活性和数组的二分查找的高效性结合起来的符号表。这棵树中的节点的左子树的值都小于该节点, 右子树都大于该节点。二叉搜索树和快速排序很像, 树中当前节点等价于快速排序中的基准数, 左子树都小于该节点, 右子树都大于该节点。插入操作:先判断在二叉搜索树中是否已经存在即将要插入的键, 若存在, 直接把值更新。若不存在, 在当前节点中新建节点并插入。void put(KEY k, VAL v){root = put(root, k, v);}node<KEY, VAL&

2020-06-05 17:24:49 169

原创 符号表 C++

符号表是一张抽象的表格, 将信息存储到里面, 可以按指定的键来搜索获取这些信息,且键不能重复。 例如:数据库。编译器可以用符号表来根据变量名来找到对应的值和类型。无序链表的符号表:用链表实现的符号表符号表的API为void put(KEY k, VAL v); //插入值VAL get(KEY k); //得到对应键的值void delete(KEY k); //删除键为k的键和值bool contains(KEY k); //表中是否包含键kbool is_empty(KEY k); /

2020-06-04 19:20:28 2762

原创 优先队列 C++实现

优先队列:按键的大小排列的一种数据结构, 用堆实现, 两个重要的操作为:删除最大元素、 插入元素。堆堆是一个完全二叉树, 堆中的每一个父节点都比两个子节点大, 一般用数组存放。若当前节点为k,则它的孩子节点为2k、2k+1, 父节点为 k/2(向下取整)。堆的两个核心操作为下沉和上浮, pq为数组,代码如下void sink(int k){ while(2*k <= N){ //当k有孩子节点时循环 int j = 2*k;

2020-06-03 16:42:48 502

原创 排序算法

选择排序找到数组中最小的元素, 与第一个元素交换, 之后在剩下的元素中找到最小的元素, 与第二个元素交换, 以此类推。防止眼花点#include<iostream>using namespace std;void swap(int &a, int &b){ int t = a; a = b; b = t;}int main(){ int a[] = {3,1,2,5,4}; int len

2020-06-01 16:14:18 153

原创 C++ 队列的实现

队列是一种先进先出的数据结构,其实现如下数组实现#include<iostream>#include<cstring>using namespace std;const int MAX = 5;template <class T>class queue_array{ int head, rear, m_size; T data[100]; public: queue_array(){ head = rear =

2020-06-01 14:42:02 167

原创 数据结构 栈的实现(C++)

栈是一种后进先出的数据结构比如 元素入栈的顺序为1,2,3。 则出栈的顺序为3,2,1下面是栈的一些基本操作数组实现#include<iostream>#include<cstring>using namespace std;int MAX = 5;template <class T>class stack_array{ int top, m_size; T data[100]; public: stack_array()

2020-05-31 15:56:08 160

原创 操作系统 I/O

I/O控制方式I/O控制方式分为四种:程序直接控制方式、中断驱动方式、 DMA方式、 通道控制方式。程序直接控制方式:读操作1.CPU向I/O控制器发出读指令, 并且状态寄存器设为未就绪状态。2.CPU 轮询检查状态寄存器的状态, 判断其是否就绪, 若未就绪, 则循环继续检查直到就绪。3.输入设备准备好数据后将数据传送给控制器,并将状态寄存器改为就绪。4.CPU将数据寄存器中的值读到CPU寄存器中, 再把CPU寄存器中的值放入内存。数据的流向:读操作:I/O设备 -> CPU寄存器

2020-05-20 15:17:43 348

原创 磁盘调度

磁盘的物理结构磁盘可用 (柱面号, 盘面号, 扇区号) 来定位到任意一个磁盘块。柱面号: 由磁道组成, 一个磁盘由多个盘片组成, 不同盘片的磁头是固定在一起的, 只能一起移动。 由上到下磁头所指向的磁道组成一个柱面。盘面号: 一个盘片分为两个面,盘面号指明是这个盘片的哪个面。扇区号:盘面被分为多个扇形, 每个扇形区域都被标号。磁盘读写所需得时间分为寻道时间, 延迟时间, 传输时间。寻道时间:寻道时间分为两部分, 启动磁臂和移动磁头所需要的时间。延迟时间:将目标扇区转到磁头下面所需的时间。传

2020-05-19 14:46:47 217

原创 文件系统知识点总结

文件的逻辑结构大体上分为有结构文件和无结构文件。无结构文件: 如windows下的.txt文件就是无结构的, 文件内部的数据就是一系列的二进制流或者字符流组成, 又称为流式文件。有结构文件: 数据按记录的形式有组织的排列。 类似于数据库的存储方式。 有结构文件又分为顺序文件、 索引文件、 索引顺序文件三种。顺序文件:文件中的记录一个接一个的按逻辑上顺序排列, 记录可以是定长的, 也可以是不定长的。 物理上可以由顺序存储或者链式存储来实现。PS:链式存储:不能实现随机访问, 只能从第一个记录依次

2020-05-14 17:00:25 981

原创 HduO2087

```cpp#include<iostream>#include<string>using namespace std;int main(){ string S, s; int cnt; while(cin >> S && S !="#" && cin >> s){ cnt = 0; for(int i = 0; i < S.length(); ++i) .

2020-05-13 16:51:42 119

原创 TCP知识总结

TCP实现可靠数据传输有以下几点:1:TCP建立连接需要三次握手, 断开连接时需要四次挥手2:用连续ARQ协议(GBN, 选择确认)3:流量控制4:拥塞控制TCP 三次握手第一次握手: 客户端向服务器端发送SYN报文段, 并随机生成一个序号seq=client一起发给服务器端, 发送之后客户端变为SYN_SENT状态。第二次握手:服务器收到了包含TCP SYN报文段的IP数据...

2020-04-27 11:03:33 241

原创 计算机网络自顶向下 第三章答案(待)

复习题1:该运输层协议中包含不大于1196字节的数据, 和4字节的端口号, 将这个报文交给网络层。在端口号中包含源端口号。不是。2:家庭成员代表可以使用运输层协议, 通过多路复用和多路分解来收发给家庭成员的信封。不用打开, 因为信封上有目的地址。3:yx4:有些实时应用程序可以容忍一些数据u丢失, 但对数据到达时间的要求非常高, TCP有一个拥塞控制机制, TCP将重新发送...

2020-04-20 11:15:55 711

原创 计算机网络第六版第二章答案(待)

复习题1: web http文件传输 FTP邮件传输 SMTP远程登陆 telnetP2P Bittorrent2:网络体系结构应用层传输层网络层链路层物理层应用程序体系结构客户-服务器P2P3:对于web, 浏览器是客户, web服务器是服务器对于P2P, 下载文件的对等方是客户, 上传文件的对等方是...

2020-03-29 17:39:14 1001

原创 现代操作系统第三章答案(待)

1:最多只能有16个进程在运行, 要特殊硬件来保证该操作迅速。2:巧合, 因为该例子的起始物理地址跟进程长度相同。3:4GB = 2 的32次方B, 32bit = 4B,需要4ns, 并且需要读和写,所以 2 * 2 的32次方 * 4ns。4:首次适配法:(第一次遇到合适的就选)a:20MB。b:10MB。c: 18MB。最佳适配法:(选择能满足要求的最小的空闲区)a:...

2020-03-29 14:01:48 1068

原创 现代操作系统 第四版 第二章答案(待更)

1:进程在阻塞之后不能直接运行,要先转为就绪态再由3转为运行。就绪不能直接阻塞,因为就绪的进程并为运行,不会阻塞。2:应该有一个寄存器存储当前进程表项的指针,当I/O结束时,CPU把当前的机器状态存入当前的进程表项中,然后转到中断向量读取另一个过程表项的指针,启动这个进程。3:高级语言不能直接访问CPU硬件,但必须进行这种访问,而且使用汇编编写减少了对线程/程序的影响。4:防止操作...

2020-03-20 17:16:07 1645

空空如也

空空如也

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

TA关注的人

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