回溯算法

回溯算法(backtrack algorithm)实际上就是深度优先搜索(DFS), 它首先将下一个节点添加进去,然后进行下一步运算,如果到后面发现不满足条件就转回来,将之前添加的节点去除重新添加其他的节点,然后进行运算,直到最后满足条件或是将所有可能都枚举完成。由于回溯算法需要枚举出多种可能很有可能会导致超时,所以在使用回溯算法的时候通常会进行一些优化,也就是剪枝操作。

June 13, 2022, 11:57 a.m.

图论笔记

学习《introduction to algorithm》图论部分所做的笔记,包括里面算法的C++代码实现。

June 12, 2022, 9:22 a.m.

大数算法

一般的程序设计语言都只能保存有限大小的数字类型,如果遇到超过所能表示的最大值就会发生溢出导致计算错误,对于过大的数字一般使用字符串表示,对于字符串表示的数字进行四则运算则称为大数算法。大数算法不算很难但是综合性较高,在刷题的时候经常遇到,听说在面试的时候也经常被问到。大数算法的核心就是模拟,从最低位开始一位一位的操作并且将进位与借位保存下来,加入下一轮操作。

June 11, 2022, 2:37 p.m.

算法复杂度的表示方法

算法复杂度的几种表示方法笔记

June 6, 2022, 5:15 p.m.

二分查找总结与实践

刷完Leetcode二分查找专题的总结

May 19, 2022, 2:51 p.m.

Linux环境变量

Linux里面变量是以`key=value1:value2...`的形式所存储的,它用来存储一些关于系统或者应用软件的配置信息,你也可以用它来存储密码防止不小心将密码上传到Github。在Linux中变量分为shell变量和环境变量,shell变量只在当前的shell实例中有效在其他地方无法访问,环境变量在全局有效并会被shell所继承。

April 21, 2022, 5:21 p.m.

长短句摘抄

相对于工整的诗,我更喜欢顿挫的词

April 20, 2022, 12:28 p.m.

位操作

日常使用和刷题所积累下来的一些关于位操作经验技巧

April 19, 2022, 10:54 a.m.

浮点数的比较

在学习浮点数(float)的时候很多书上面都会以0.1+0.2 ≠ 0.3为例来说明不要直接用`==`来比较两个浮点数是否相等因为很容易出现一些意想不到的问题,那么为什么会出现这种现象呢?浮点数应该如何比较才不会出现错误呢?这里将以C++语言为例,来进行分析并解决这些问题。

March 22, 2022, 8:30 p.m.

记一次Windows重装系统

之前为了图个新鲜加入了Windows 11的preview insider,现在系统隔一个星期就得更新一次每次更新得好久,并且电脑的风扇一直转个不停实在受不了。现在想要退出还退不出去真就变成了微软的小白鼠了,趁着假期还没有结束干脆把系统重装一下,并且随便把一些必要的软件整理一下,方便以后查阅。

Feb. 16, 2022, 7:57 p.m.