白苎新袍入嫩凉。春蚕食叶响回廊。禹门已准桃花浪,月殿先收桂子香。
鹏北海,凤朝阳。又携书剑路茫茫。明年此日青云去,却笑人间举子忙。
流水线cpu设计
计算机组成原理 实验(llxx 老师)
虽然说verilog
语言使用有诸多困难,但计算机组成原理课程的学习还是很有意思的,亲手(应该是)写一个 cpu 的感觉还是很有收获的,介绍介绍我的这个学期的实验
迷你操作系统设计
操作系统 实验(cxl 老师)
上了一个学期的操作系统,总算也是拼拼凑凑整了个玩具操作系统,写一篇文章来记录一下,本文就按照实验的顺序,介绍一下一个学期的成果吧
我的世界红石钢琴
模拟手写字迹
写操作系统作业的时候突发奇想,为什么要重复这种体力劳动呢,所以就有了这个东西,而当前网络上可以搜索到的模拟手写的程序都不适配 markdown 的语法,这对一个合格的 cs 学生来说是不可以忍受的,所以加上了适配 markdown 语法的功能。
一、手写模拟部分
- 使用
PIL
库,调用准备好的字库,进行书写 - 由于是模拟人的输入,所以在输出时给每个字赋上随机的偏移,更贴近实际情况
1
2
3
4
5
6# 设置字体格式大小等参数
PIL.ImageFont.truetype(font=None, size=10, index=0, encoding='', layout_engine=None)
# 创建可用于绘制给定图像的对象
PIL.ImageDraw.Draw(im, mode=None)
# 在给定位置绘制字符串
PIL.ImageDraw.ImageDraw.text(xy, text, fill=None, font=None, anchor=None, spacing=4, align="left", direction=None, features=None, language=None, stroke_width=0, stroke_fill=None)
git使用记录
wsl2使用windows代理
使用 wsl2 克隆的过程中经常因为奇慢无比的速度而抓狂,查阅了相关资料之后,找出对自己有效的 wsl2 走 windows 代理的方法
fish shell使用心得
阴差阳错的,就用上了 fish,然后就不想换别的了,但是 fish 不兼容很多的 bash 脚本,与网上主流教程有一些区别,在这里记录我使用 fish 踩的坑
一、fish shell 简介
- 全名: the friendly interactive shell
- ubuntu 下安装(其它同理)
1 | sudo apt install fish |
Dijkstra实现导航软件
数据结构 大作业二
一、实验要求
要求在所给的数据集上建立图结构(邻接矩阵或者邻接表),并在建立的图结构上自行实现Dijkstra算 法求解任 意两点之间的最短路径。
- 输入输出要求:
Input : src(源点) Dst(目标点)
Output :
(1) 最短路径的长度: distance
(2) Src到Dsr的一条最短路径,例如:Src->p1->p2->p3->…->Dst(逆序输出也对)
二、实验目的,
熟悉并掌握图的建立算法和Dijkstra求图上最短路径算法,了解Dijkstra算法的改进方法,掌握时间复杂度的分析方法并且去分析对比验证不同时间复杂度的Dijkstra算法的时间开销,了解稀疏的图结构的压缩存储方法。
Huffman压缩
数据结构 大作业一
一、问题描述
在合适的情况下,利⽤ Huffman 编码对⽂件进⾏压缩可以减少其占⽤空间,同时在需要使⽤到⽂件的 时候也可以根据压缩⽂件中所提供的信息来将其还原为原⽂件。本次实验中,我们将实现⼀个基于 Huffman 编码的⽂件压缩/解压缩⼯具。
二、基本要求
基于 Huffman 编码实现⼀个压缩器和解压缩器(其中 Huffman 编码以字节作为统计和编码的基本符号 单元),使其可以对任意的⽂件进⾏压缩和解压缩操作。针对编译⽣成的程序,要求压缩和解压缩部分 可以分别独⽴运⾏。具体要求为:
- 每次运⾏程序时,⽤⼾可以指定只压缩/只解压缩指定路径的⽂件。实现的时候不限制与⽤⼾的交 互⽅式,可供参考的⽅式包括但不限于
- 根据命令⾏参数指定功能(压缩/解压缩)和输⼊/输出⽂件路径
- GUI 界⾯
- 运⾏程序后由⽤⼾交互输⼊指定功能和路径