数据结构_线性表应用_多项式的计算
数据结构_线性表的应用-多项式的计算 前言:此类笔记仅用于个人复习,内容主要在于记录和体现个人理解,详细还请结合bite课件、录播、板书和代码。 [toc] 一元多项式(polynomial)的加法数学表示方法 一元多项式通常按幂升序排列,在数学上表示为: pn(x) =p0 + p1x + p2x^2^ + p3x^3^ + p4x^4^ + p5x^5^ +…. + pnx^n^ 计算机内实现 在计算机内实现的话,可以使用线性表来存储,每个结点内存储两个成员:data数据、next指针,data数据包括单项式的系数和次数 且是按照次数的升序来进行存储的 《《此处应有图片,参考课本图2-18 数据的存放方法 如果不论次数是否为0都将数据存储进结点,那么有可能会造成空间的大量浪费,比如1 + x^100^ 如果只存储次数不为0的单项式,不会造成空间的浪费,但是考虑到两个多项式相加,次数相同的多项式需要合并在一起,这种存储方式可能需要花费一些时间来寻找两个多项式里的相同次数的单项式 数据结构的选择 不用多说必须使用动态内存,静态内存会造成空间不够或者空间浪费的情况 ...
数据结构_树、二叉树、森林的转换
[toc] 树 转 二叉树 加线。在所有兄弟结点之间加一条连线 抹线。对树中的每个结点,只保留与第一个孩子之间连线,删除与其他孩子的连线 整理。适当旋转一下,使之结构分明 森林 转 二叉树 把每棵树转换成二叉树 从第一棵二叉树开始,把后一棵二叉树作为前一棵二叉树根结点的右子树 二叉树 转 树就是树 转 二叉树 的逆过程 作为根结点的每个结点,与左孩子的右孩子以及这个右孩子的右孩子、右孩子的右孩子……建立连线 删除原来所有父结点与右孩子的连线 整理 图:见 树 转 二叉树 的dcba顺序 二叉树 转 森林 删除原来所有父结点与右孩子结点的连线,得到分离的二叉树 将分离的每棵二叉树转化为树
数据结构_线性表应用_稀疏矩阵
数据结构_线性表应用 _稀疏矩阵[toc] 什么是稀疏矩阵 如果一个矩阵中,0的数量远大于非0的数量(0超过一半以上),这个矩阵就是稀疏矩阵 由于全部都是重复的0,这种无用的重复值的存储会占据很多空间,造成浪费 如何简化系数矩阵的表示 只需要存储非零的数据以及它在矩阵中的位置就可以 比如一个二维矩阵,就可以用一个三元组进行表示,(行,列,数据) 12345struct triple{ int row,col; int data;} 然后以三元组为基本元素,用顺序表或者链表就可以表示出稀疏矩阵了 十字链表表示法 由于用顺序表或者一般的链表,在表示稀疏矩阵的时候,不便于进行计算的操作 这里采用十字链表来表示 十字链表包括 数据域(data)、同列的下一个结点(down)、同行的下一个结点(right) 用来表示稀疏矩阵的时候,data就是三元组 如果同列/行中没有了下一个(非零)结点,那down/right就指向NULL 画个图表示一下 结束That’s all, thanks for reading!💐
butterfly修改白天模式下页脚图片亮暗程度
打开文件themes/butterfly/source/css/_layout/footer.styl 在大约第7行开始 在“background-color”这一行中可以调整小数值的大小,来控制页脚图片颜色深度,小数值越大,颜色越深 修改前: 修改后:
开启页面模糊效果下修改深色模式下页头页脚亮度
开启页面模糊效果下修改深色模式下页头页脚亮度如果魔改了主页面,开启了模糊效果,那么在修改深色模式下主页封面和页脚就不能只靠修改/themes/sourcs/css/_mode/darkmode.styl的信息来实现了 因为在darkmode.styl中,页头页脚和背景,同属于background,也就是说修改的时候这三者是一起修改的,但是由于魔改模糊效果之后,对于背景的设置(准确来说是页头页脚的设置)会覆盖掉darkmode.styl中的效果,所以在darkmode.styl中修改background的时候,只能影响到深色模式下背景图片的深度,而无法影响页头页脚 如何修改主页和文章页面的页头页脚的深度: 在魔改页面模糊效果之后往往在主题配置文件themes/butterfly/_config.yml的inject的head处会有引用,我们找到这处引用,看到引用的文件,我的是/css/custom.css,我们打开这个文件即可 在themes/butterfly/source ...
菜单栏页面内的顶部图片展示
菜单栏页面内的顶部图片展示在source中有中每个页面的配置文件夹,如tags、categories、music等: 打开一个文件夹,比如tags,都会有index.md配置文件: 里面的top_img对应的就是页面的顶部图片: 有些页面是有子页面的,比如tags、category等就有子页面 以tags为例,tags有各种标签,打开一个进去就会进入到相关的文章 在主题配置文件_config.yml中的设置中可以更改子页面的标签: 115行是tags默认的每个子页面的顶部图片,也可以分别调控每个tag的顶部图片: 例如头像、主页面顶部图片、时间轴(archive)顶部图片等的配置也在主题配置文件_config.yml中,只要在里面能找到相关配置,就可以进行修改 像是music、about等没有子页面的标签,直接就在对应的文件夹下的inedx.md文件里进行顶部图片的配置即可 不用在主题配置文件_config.yml里进行调配(这里面也没有对应的选项)
Linux_常用指令&权限管理
前言一切皆文件文件的分类 普通文件,文件属性为[-] 目录文件,属性为[d],文件夹(目录)也是一种文件,是内容为文件的文件,是能用 # cd指令进入的 块设备文件,属性为[b],表示为装置文件里面的可供储存的接口设备(可随机存取装置),比如硬盘、光驱等。例如一号硬盘的代码是 /dev/hda1等文件 字符设备文件,属性为[c],表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)、屏幕等 套接字文件,属性为[s],这类文件通常用在网络数据连接,可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型 管道文件,属性为[p],FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写 链接文件,属性为[l],类似于Windows里的快捷方式和macOS的替身 文件 = 文件属性 + 文件内容 当我们在电脑上创建了一个空白文档的时候,查看一下文件的详细信息,会发现这 ...
解决butterfly在深色模式下页头页脚封面过暗
本方法适用于未进行页面魔改的,如果进行了页面魔改,请跳转到此处 在/themes/butterfly/source/css/_mode/darkmode.styl 调整第48行括号里的小数点后的数值,默认是.9,数值越大越暗 before: after: 相关问题链接:解决黑色模式下文章预览封面及内部图片过暗
宏实现#pragma once&#ifndef
为了避免同一个头文件被包含(include)多次,C/C++中有两种宏实现的方式:一种是#pragma once方式 一种是#ifndef的方式 有些编译器只支持其中的一种。 在能够支持这两种方式的编译器是,两者并没有太大的区别,但是两者仍然有一些细微的区别。 #pragma once用法 #ifndef, #define, #endif 理解
电脑正确坐姿:健康才是是第一生产力
🧑🏻💻 电脑正确坐姿_健康才是是第一生产力!! 以下所有都只是建议,要根据自己情况来就行 挺直腰背。腰背可以靠在靠背上,放松,让靠背承力放松肩部肌肉,不要耸肩,颈肩背不要前倾,不要用肩膀承力避免含胸驼背!! 建议购买人体工学椅或升降桌,调整高度到自己舒服的位置 调整键盘位置:,大臂放松,自然下垂于身体两侧,键盘不要离身体太远,使大臂与小臂呈大约90~120度(键盘太远会导致前倾);键盘高度最好位于肚脐高度附近,小臂自然舒适放在桌面上,使不会耸肩,不会使肩膀、大臂前倾,还能使视线能自然看到双手和键盘【根据自身舒适情况调整保证视线平视显示器而不低头;与显示器保持合适距离,一般建议在1.5~2倍显示器高度之间,这样才能使观感舒适(比如27寸显示器高度为35~37cm,建议眼睛距离显示器52.5~70cm之间以达到舒适的观感如果显示器高度不够,可以购买增高支架或者桌面置物架来增高 达到观感、腰背、肩膀、手臂、腰部都能十分舒适的平衡点总之,核心就是舒服:肩膀舒服,脖子舒服,腰部舒服,眼睛舒服,使用键鼠方便。购买建议: 人体工学椅 显示器支架臂 关于为什么要把键盘放在桌面上而不是键盘 ...
关于Linux
Linux是一种开源的操作系统什么是操作系统计算机本质是许多硬件组成的一个整体 设备驱动直接控制计算机的硬件,用户通过应用软件使用计算机 应用程序会调用多种设备驱动,驱动程序提供给应用程序接口,供应用程序调用接口来使用硬件 一个计算机上会有很多硬件,所以会有很多设备驱动,每个硬件对应的设备驱动也不一样;每个应用程序都会与很多设备驱动对接,还会经常有多个应用占用同一个硬件的情况,如何进行资源管理和分配是对于设计者来说是一件很麻烦的事情。 于是就有了操作系统,操作系统是用来管理软件和硬件的对接,并将硬件驱动程序的接口抽象化,行成一套简单的接口给上层的应用程序使用。 另外,设备驱动是嵌入到操作系统里的,上面讲的只是为了体现这几者的关系。 世界三大操作系统:Windows,macOS,Linux Windows是世界上市场份额占比最大的终端操作系统;macOS是基于Unix内核的操作系统;Linux是开源的操作系统,被广泛用于服务器、嵌入式,并且智能手机上的android操作系统正是基于Linux开发的子系统。 为什么是开源开源是Linus大神的非常强烈的信念,当时在接触MINIX的时 ...
MinGw配置(Windows电脑)
安装MinGW相比在 Linux 平台上安装 GCC 编译环境,在 Windows 平台上安装 MinGW 是比较简单的,只需经历以下几个过程。 打开 MinGW 官网(点击即可进入官网),下载 MinGW 安装包。 下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,可以看到如下的对话框: 直接点击“Install”,进入下面的对话框,自定义安装位置,然后选择continue 进入安装 MinGW 配置器的界面。安装完成之后,得到一个名为 “MinGW Installer Manager” 的软件,借助它,可以随时根据需要修改 GCC 编译器的配置。点击“continue”,会自动弹出配置界面,如下所示: 为使 GCC 同时支持编译 C 语言和 C++,需勾选图中标注的 2 项。我们知道,GCC 还支持其它编程语言,读者可借助此配置器,随时实际需要安装自己需要的编译环境。勾选完成后,在菜单栏中选择Installation -> Apply Changes,弹出如下对话框: 选择“Apply”。然后耐心等待,直至安装成功 ...
NotePad++配置
准备工作安装MinGW并添加到环境变量: 点此查看步骤(建议右键选择在新窗口中打开) 创建一个cpp文件并写一段测试代码 点击顶部菜单栏的“运行”或者直接按F5 输入一下宏定义命令 1cmd /k pushd "$(CURRENT_DIRECTORY)" && g++ -o "$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" && "$(NAME_PART)".exe & PAUSE & EXIT 点击运行即可 建议选择“保存”按键,将宏定义保存到快捷键,比如ctrl + alt + n(跟vscode的coderunner插件一样的快捷键),下次运行直接快捷键即可 cmd /k:打开 cmd 控制台,运行完程序让其停留而不自动关闭。 pushd "$(CURRENT_DIRECTORY)":将工作路径更换到源文件所在的路径,例如’pushd E:\kkk’相当于 cmd 中先e:再cd kkk,这条 ...






