数据结构应试笔记
应试向的数据结构考试和实际写起代码来有很大区别。重复造轮子就不说了,更可怕的是,有时还需要应试者人脑模拟算法的执行过程。相对来说,对针对具体问题设计算法的考察较浅。
另外,有时王道书的代码风格奇特,我尽量改为了自己习惯的写法,这点需要特别注意。
本文中所有代码除非注明,均不保证能运行。
线性表线性表:
顺序存储
顺序表
链式存储
单链表(指针实现)
双链表(指针实现)
循环链表(指针实现)
静态链表(借助数组实现)
顺序表线性表的顺序存储类型描述为:
12345const int MaxSize = 50;struct SqList{ ElemType data[MaxSize]; int length;};
动态分配:
12345const int InitSize = 100;struct SeqList{ ElemType* data; int MaxSize, length;};
C++ 的初始动态分配语句为:
1L.data = new ElemType[InitSize];
注意:动态分配并不是链式存储,它同样属于 ...
操作系统笔记
写在前面:
虽然本笔记的大多数内容是王道的 PPT ,但也是有我的注释的!王道的课程真的很好,咸鱼学长讲课生动又仔细。每年的课件和视频都是有变化的,我这里把 PPT 贴出来只是自用,本文章禁止转载。最后附上王道的网站:cskaoyan.com。
pdf 链接:GoogleDrive
操作系统的概念、功能
操作系统的特征
操作系统的发展与分类
操作系统的运行机制
中断和异常
系统调用
操作系统体系结构(上)
操作系统体系结构(下)
操作系统引导
虚拟机
进程的概念、组成、特征
进程的状态与转换、进程的组织
进程控制
进程通信
线程的概念与特点
线程的实现方式和多线程模型
线程的状态与转换
调度的概念、层次
进程调度的时机、切换与过程、方式
调度器和闲逛进程
调度算法的评价指标
调度算法_先来先服务、最短作业优先、最高响应比优先
调度算法_时间片轮转、优先级、多级反馈队列
...
Graduation
毕业了,很难受。
我惊讶于这份难受。在相当的一段时间里,我以为自己已经枯死,再难有感情上的波动。
大家陆陆续续的离开宿舍,奔赴各自的前程,我们还会笑嘻嘻在先走的室友留下的东西里淘金。
“哟,这还有个去年顺的大白 cos 服呢。”
“继承!”
我本是倒数第二个离开的,可是最后一位室友还是和我一起离开了,说自己一个人多待几个小时也是难受,不如一起走。
拍照,拉闸,断电。
以前我总是调侃『仰天大笑出门去,我辈岂是 XX(校名)人』,路上却无言。
今天在某人的空间里看到毕业留念的照片,心里一咯噔,才后知后觉地发现,好像错过了重要的人。
挺可爱的女孩子。交集不多,大一的时候接触过几次,后来逐渐沦为点赞之交。似乎在某节人满为患专业课上,她坐在我的右边,但除此之外没有别的相关记忆。
某次补考的考场上,监考报到她名字时,才发现她就坐在我后面(补考考场见?.jpg),竟一时分辨不出样貌。这倒也不奇怪,本来也没常照面,忘了长相也很正常。或许是我自己在心里勾勒出了一个可能陪伴我的人,我为自己强加于人的期待感到惭愧。
负荷预测笔记
并非我的笔记,以前问人要的。
生活在树上
今天早上又睡到了十点,为了不被朝阳拥抱,我特意选了一处荫凉的枝桠。
树友已经有起枝的了,抖着腿在打地下城。我不明白地下城有什么好玩的,我只是望文生义地觉得,他只要纵身一跃,就能跳到地下。但那可不是什么好主意——地下有可怖的鸟雀。
这些鸟雀虽不如外面的鸟雀那么有攻击性,却也不是好惹的:它们在读大学,等它们念完了大学,又是鸟界社会的生力军。我看着蹦蹦跳跳、鸟头攒动的赶第二节课的鸟流,如是想。
我拆开铜锣烧的包装,就着农夫山泉对付下去。这些都是昨天晚饭后去树超买的,为的是午饭前不至于饿着肚子,也不至于太饱吃不下午饭。我曾听人言,此树百货大树有一位职员,每天在林间飞跃通勤两个半小时——就像东瀛鸟洲的忍鸟那样,以致天天早上不吃东西,得了胃癌,年纪轻轻就去世了,坠到地面去,被大学鸟——大概是医学鸟捡了去,“树人虽蠢五脏俱全”,从此不知所踪。
历史学者会告诉我们,遥远的过去,人们在大地上行走。但一场变故之后,千山鸟飞绝,万径人踪灭,我们生活在了树上。倘若说更古的时候,猿猴从树上下到地面是生存的选择,那么我们再回到树上也没什么可耻的吧,都是为了生存。
鸟生们终于上完了第二节课,熙熙攘攘蹦回宿舍。这是一 ...
Fourier Stuff
前置知识方程 $z^n=1\quad (n=1,2,3,\cdots)$ 的复数根 $z$ 为 $n$ 次单位根[1]。
下面求解该方程。
已知欧拉公式[2]:
e^{i\pi}+1=0则:
(e^{i\pi})^2=(-1)^2e^{2i\pi}=1两边作 $k$ 次方:
e^{i2k\pi}=1再取 $n$ 次根,得:
\sqrt[n]{1}=e^{i2\pi \frac{k}{n}}=\cos 2\pi \frac{k}{n}+i\sin 2\pi \frac{k}{n}由三角函数的周期性易知,其根有 $n$ 个,分别是 $k$ 取 $0,1,2,\cdots ,n-1$
即,单位的 $n$ 次根有 $n$ 个:
e^{\frac{2\pi ki}{n}} \quad (k=0,1,2,\cdots ,n-1)单位的 $n$ 次根以乘法构成 $n$ 阶循环群,生成元是 $n$ 次本原单位根。$n$ 次本原单位根是 $e^{\frac{2\pi ki}{n}}$ ,其中 $k$ 和 $n$ 互质。因此由欧拉函数定义,$n$ 次本原单位根数目为欧拉函数 $\varphi (n)$ . ...
暂为今日所作
ddee85faa277927dfffd74451f004cefcf22f99ca9e2ce954e2672f132a448611badfb7609d542fd78a5520041b311865a88459368da633535a37a5b2e71df16672f5abf174ba98f4d5eede875a79853e4dc6791bc1b8ead99a1a914bc1da7cfb56b2ff93e2d31e7a10ae74d00a78afb2b1eda40bfdf682eb556516825119f9a4012888f6ee4f35a21954747fc3e421430322030a987e5452deb530bb9694fadaa40d1f9b3ea76e24c8f76b8ff7d30fb49dcaab8235080f944af41858a61551e5943b782184ca390f3d23c6468dd7d095239eca855de39e913a2d320e5212c717f1d7f66497c7b99984f5846dfe4d42c4315efc37e30e5c06 ...
Perlin Noise
柏林噪声算法常用于程序生成随机内容,在游戏、电影等领域应用广泛。
本文的目标是使用 Python 生成如下的图像,由这个图像出发可以实现很多效果[1]。
虽然柏林噪声算法有一个改进版本[2],但本文仍是基于旧原理的实现。
很多时候,我们并不是想要这样的随机:
我们需要更平滑的随机,就像本文第一张图片那样。
39-1.jpg(第一张图片)是一张灰度图,可以将其每个像素的灰度值映射为数值,用二维坐标索引,就得到一个三维的曲面(如果你愿意忽略它是离散的的话)。显然 39-1.jpg 就像是杂乱的水面,而 39-2.png 就是钉床了(虽然由于钉子非常密集躺上去应该还不至于当场去世)。
Perlin 的做法是:
在网格上生成图片,每个小格子称为“晶格”。首先,在格点上生成一个随机的梯度向量。对于晶格内的点,作由四个晶格格点到自身的向量,这些向量与对应的四个梯度向量作点积,得到格点上的四个数值,那么对于此晶格内的点,噪声值就是这四个数值的双线性插值[3]。此外,你可能需要一个 $fade$ 函数使图像更平滑。
But wait … , why it even works ?
一个可能的解释: ...
双曲线讲义
最近有在沉迷新游戏啦,是吼游verse的《斯鞑瑞幺》哦!超治愈的银河喜剧耶拜托!
最赞的 BGM 就是《喧哗》啦。(由于一些问题导致手机端无法显示播放器)
说回正题,最近在试着做初中数学的讲义,因为领域外的妹妹要中考忽然问我相关的问题。
不得不说 mathcha 真好用,还能保存为 pdf 备份。
要准备答辩了,枯 /(ㄒoㄒ)/~~
Minecraft with Python
使用 Python 游玩我的世界。
参考资料来源:各种网络资料和《零基础学 Minecraft 编程》,人民邮电出版社。
开始环境配置教程:https://www.bilibili.com/video/BV1FG4y1X7SQ
注意在安装 java -jar BuildTools.jar 的时候会打印一大大大坨信息,整个过程大约6分钟,需要梯子。出现如下信息则表示成功:
启动服务器:
12cd D:\mcserverjava -Xms1024M -Xmx1024M -jar spigot-1.19.4.jar
多人游戏,服务器地址127.0.0.1。
1op username # 给权限
这个时候就可以使用作弊码了。作弊码附在文章末尾。
1234567891011121314# hellofrompy.pyfrom mcpi.minecraft import Minecraftimport mcpi.block as blockimport timeif __name__ == '__main__': time.sleep(3) print( ...