WSL2美化
WSL2美化本文简要记录基于Windows11对WSL的终端进行美化的主要步骤。
环境:Ubuntu 20.04,Windows Terminal(WT)
主要工具和插件:zsh,oh my zsh, povwerlevel10k(powerlevel9k也可以),autozsh-autosuggestions , zsh-syntax-highlig
下图是我的美化结果。
对Windows terminal的外观进行美化在微软应用商店搜索Windows terminal即可下载最新版本,如果不想用Windows Terminal,也可以下载另外一个跨平台终端——Tabby Terminal,点击下载),配置方案也类似,但亲测效果不如WT。
修改默认配置打开Windows Terminal,点击上方栏中“v”按钮,选择侧边栏中的“setting.json”文件并打开,后文中对WT的配置均对该文件进行修改(可以用VScode打开)。
例如,若要规定默认打开的界面是WSL2/WSL的界面,即可在actions一栏进行修改:
"defaultProfile": "{07b52e3e-de ...
DataStruct基础知识
2021数据结构复习
考试范围数据结构 算法时间复杂度空间复杂度分析
线性表
顺序表示
链式表示
线性链表
循环链表
双向链表
一元多项式(实验内容)
栈
数值转换,括号匹配,行编辑程序,迷宫求解,表达式求值
队列
定义
链队列
循环队列
串
定长顺序存储
堆分配存储
串的块链存储
数组
顺序表示
特殊存储:特殊矩阵,稀疏矩阵
广义表
定义和存储结构
*广义表的递归算法
求广义表深度
复制广义表
建立广义表的存储结构
树和二叉树
二叉树
定义,性质,存储结构
遍历二叉树
线索二叉树
树和森林
树的存储结构
树和二叉树之间的转换
树和森林的遍历
Huffman树相关问题
图
定义和术语
存储结构
数组表示法
邻接表
十字链表
邻接多重表
图的遍历
DFS
BFS
图的连通性问题
无向图连通分量和生成树
最小生成树
最短路径问题
从某一点到其他各个顶点的最短距离
每一对顶点之间的最短路径
查找
静态查找表
顺序表查找
有序表查找
索引顺序表查找
动态查找
二叉排序树和 *平衡二叉树
B-树和B+树
哈希表
构造方法 ...
ML算法:特征抽取
特征抽取实验目的本次实验的实验目的是对一数据集进行分类,因为数据集中存在着噪声数据,需要对数据进行特征抽取,并使用线性回归,决策树,神经网络,SVM以及XGBoost分别实现对模型的预测并进行评估。
实验原理特征抽取和特征选择对实验的训练数据集进行观察可得:对于每一条样本,有与之相关的120个feature(个别feature可能是na),但是对于训练有效的特征不足20个,如果对原数据集进行训练,可能会导致过拟合,训练过慢,效果较差等结果,因此要对数据进行特征抽取,选取对训练有益的特征
本次实验中,特征抽取使用了如下两种方法:
基于决策树抽取本部分借助sklearn中的DecisionTreeClassifier进行处理,因为每个特征具有对应的权重,对于分类结果帮助较大的feature的权重大,为了筛选出有用的信息,可以选择决策树中权重大的点,处理思路为:
将数据集划分为训练集和测试集,得到训练集对应的决策树,在测试集上测试准确率
如果测试集上的准确率大于25.5%(表明此次训练的结果较为有效),记录下此时所有feature对应的权重
重复上述过程,直到收集到的权重数大于100,将各 ...
图论期末复习
图论复习未完成——不想写了
图的基本概念
阶:图G中顶点的个数$\nu (G)=|V(G)|$(简记为$\nu,V$)
$\epsilon (G)=|E(G)|$(简记为$\epsilon ,E$)
无限图:$\nu(G)+\epsilon (G)=+\infty$,否则成为有限图
关联/相邻/邻顶:$\psi (e)=\{u,v\}$
重边/环
简单图:无环无重边
完全图 二分图 完全二分图
零图 星图
度数$deg(\nu)=d_1(\nu)+2\times l(\nu)$
最大/最小度数$\delta (G)=min_{\nu \in V(G)},\Delta (G)=max_{\nu\in V(G)}$
无向图$\sum_{\nu\in V(G)}{deg(\nu)=2\epsilon(G)}$
给定图G,G中度数为奇数的顶点个数为偶数
真子图,生成子图(V(H)=V(G)),顶点导出子图,边导出子图
补图,边图:边图的边对应原图的顶点,顶点对应原图的边
并,交
积:$G\times H=(V’,E’)$,边集合分为三类:
两个顶点在的两个分量在原图中均相邻
有一个分量 ...
图论补充内容
图论补充内容图论的基本知识汇总已以PDF形式上传至科大个人主页链接,此部分补充内容主要记录图论在实际算法问题方面的知识学习,部分内容来源于网络。
计算复杂性问题P问题、NP问题、不可判定问题P问题:能够在多项式时间内可用算法求解的问题。举例:找到Euler回路NP问题:非确定型多项式时间(nondeterministic polynomial-time)问题,指不确定是否存在多项式时间的求解算法,但可以在多项式时间内验证一个猜测解的正确性的问题。举例:找Hamilton回路(实际上是NPC问题,尚且未知有限性算法)。不可判定问题(undecidable problem):”不可能“解出的问题。举例:让C编译器找出所有的语法错误和无限循环。
与NP相关的问题有P,NP,NP Hard ,NPC问题,其中NP Hard 与NPC问题的具体描述为:
NP hard问题:Non-deterministic Polynomial hard problem(NPH)问题,如果所有NP问题可在多项式时间内转化(归约,意思是解决了后者也就相应的解决了前者)成某个问题,则该问题称为NP难问题。这里规约 ...
HUFFMAM Tree
Huffman 编码解压缩关于Huffman编码的知识,在上个学期数据结构已经学过,作为较为复杂的一次实验耗费了不少时间,可说实话,上个学期在数据结构投入的经历确实不算大,最终的成绩也相当不理想,但这个学期还得重新学数据结构(信计数据结构不能互认就离谱orz),同样类型的实验,不同的心境 ,不同的要求,只求要一个好一点点的分数啦
大致实验要求基于Huffman编码来实现压缩器和编码器,使其可以对任意文件进行解压缩操作.
实现方法:命令行执行/GUI界面(还不会…)/运行程序交互界面
本实验的测试数据:文件包括:.txt .png .wav .mp4 .zip
模拟与数字电路期中复习
模拟与数字电路[TOC]
2022.1.15 模拟与数字电路期末考试2021.11.11期中考试主要内容:
数字逻辑概论:
数值转换
二进制数的算术运算
逻辑代数&HDL基础
反演规则
对偶规则
最大项/最小项
表达式化简
直接化简
卡诺图
逻辑函数表示方法之间的转换
真值表
表达式
逻辑图
波形图
逻辑门电路
组合逻辑电路/PLD✨
锁存器和触发器✨
时序逻辑电路(仅包含同步时序电路)✨
信号——数字部分;周期性;占空比:高电平占周期的百分比
进制进制:Binary Octal Hexadecimal(0x)二进制转换:“误差不大于$2^{-n}$” <=> “精确到小数点第n位”
第n位“四舍五入”即可
二进制的算术运算:补码=原码取反+1;补码表示范围$-2^{n-1}~2^{n-1}-1$
补码转原码:从右往左找到第一个‘1’,将这个1之前的取反,该数字和之后的保持原值即可。
(X+Y)_补=(X)_补+(Y)_补
(X-Y)_补=(X)_补-\overline{(Y)_补}+1溢出:运算结果超出补码的表示范围 ...
线性筛
线性筛的理解和应用最近在准备相关算法竞赛,正好班里有写博客的活动,就在此记录下自己菜不成声学习的过程。>v<
为算出小于等于n的素数的个数,较自然也是最暴力的的方法便是对每个小于n的正整数进行判定,这样的方法显然达到最优的复杂度,暴力硬解的结果无疑是最终喜提“Time Limit Exceeded”。
为提高算法效率,就要引入“筛”的思想——主要思想是:我们选出一个数n时无论n是素数还是合数,2n,3n,..都是合数,我们无需对这类数进行是否为素数的判断。
Eratosthenes 筛法 (埃拉托斯特尼筛法,简称埃氏筛)埃氏筛算法的主要思想是:如果我们从小到大考虑每个数,然后同时把当前这个数的所有(比自己大的)倍数记为合数,那么运行结束的时候没有被标记的数就是素数了。具体算法如下:
int Eratosthenes(int n) {
int p = 0;
for (int i = 0; i <= n; ++i) is_prime[i] = 1;
is_prime[0] = is_prime[1] = 0;
for (int i = 2; i <= ...