放假反省
54e3726371269f5f4d16eecc3c6bcb4294d1ceff3847bbb1c1d7111be0949bb9f104514ddc5434542afeee4f4852693891615e7a4e810e7a0c99ee305a051e97e2bfb026ce43aa1ad064f5a1d980d72e4e05ae2f8bd35f761bbf68f5e49ae0f6cd615672be48511a35bcab13e8f30836959297a0d79fb610988f66becb0269f1006cce64282c49e5778a527a633e375ccf90969df7969808a24c7620d7ad987324e9a730be5bb24e1a717f879d91451b7ff0f257497c8044452e834bd089eea1c53bd15beb0c1015daa435a43afd230756e29743f1518115998c70e7556cc5089e35992458fef1dc5e398936ed53c0fafdb3949c33d7f597b ...
夏令营面试
54e3726371269f5f4d16eecc3c6bcb42d185cacc6501b297ebb531def94b648a782469698b7eee9c4be4e8b63bc00fb0dd092588a7bc62532298e4ad870aae4b1fa7bde180b9f2fec2c70e58a56d8b0a8361919c35db03bdd4a4c5e3525db718ca00839ae692b722fa90c1ef8748526a3e2ffad3fec764b2854c4660dbf35007c7d7e292a9e403fca3c4b7fbcb69d27493f53844f753f94714bed5cdab07febc71150733369d3a5a3b16562185f93c3359f47ac5c7ef21164b00aafc520a16e42b2d648219f7757e9fb22716cf42b6f6739262c084c98ca974aabc84f30c25d2fdc0659ac5579776ec90c6ac8d8b43ad93c27eb2936f84b4b ...
PGP实现
请转至http://t.csdnimg.cn/gLlHS !
计网学习笔记
传输层拥塞控制
在某段时间,若对网络中某一资源的需要超过了该资源所能提供的可用部分,网络性能就要变坏。这种情况叫做拥塞(congestion)。
在计算机网络中的链路容量(即带宽)、交换节点中的缓存和处理机等,都是网络的资源。
若出现拥塞而不进行控制,整个网络的吞吐量将随负荷的增大而下降。
TCP的四种拥塞控制算法:慢开始(slow start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)、快恢复(fast recovery)。
慢开始、拥塞避免
发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,并且动态变化。
拥塞窗口cwnd的维护原则:只要网络没有出现拥塞,拥塞窗口就在增大一些;但只要网络出现拥塞,拥塞窗口就减少一些。
判断出现网络拥塞的依据:没有按时收到应当到达的确认报文(即发生重传)。
发送方将拥塞窗口作为发送窗口,即swnd = cwnd。
维护一个慢开始门限ssthresh的状态变量:
当cwnd < ssthresh时,使用慢开始算法,每收到一个报文段的确认cwnd加1; ...
Git学习笔记
Git分支-分支简介(2024-5-24)几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程–常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。有人把Git的分支模型称为它的“必杀技特性”,也正因为这一特性,使得Git从众多版本控制系统中脱颖而出。为何Git的分支模型如此出众呢?Git处理分支的方式可谓是难以执行的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。与许多其他版本控制系统不同,Git鼓励在工作流程中频繁地使用分支与合并,哪怕一天内进行许多次。理解和精通这一特性,你便会意识到Git是如此的强大而又独特,并且从此真正改变你的开发方式。
分支简介为了真正理解Git处理分支的方式,我们需要回顾以下Git是如何保存数据的。Git保存的不是文件的变化或者差异,而是一系列不同时刻的快照。在进行提交操作时,Git会保存一个提交对象(commit object)。知道了Git保存数据的方式,我们可以很自然的想到–该提交对象会 ...
GNU Make学习笔记
Makefile介绍make命令执行时,需要一个Makefile文件,以告诉make命令需要怎么样的去编译和链接程序。
首先,我们用一个示例来说明Makefile的书写规则,以便给大家一个感性认识。这个示例来源于gnu 的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:
如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接。
如果这个工程的某几个c文件被修改,那么我们只编译被修改的c文件,并链接目标程序。
如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的c文件,并链接目标程序。
只要我们的Makefile写得够好,所有的这一切,我们只用一个make命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自动编译所需要的文件和链接目标程序。
Makefile的规则在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则。
1234target ... : prerequisites . ...
WORD学习笔记
S01入门(2024.04.10)1、操作名词: 选项卡,功能组,启动器,快捷工具栏,状态栏(视图状态),折叠(功能,页眉页脚)。
2、操作习惯:1、保存和命名,随时CTRL+ s;用时间来命名;
2、建立标准编辑环境:显示编辑标记,标尺,导航窗格;
3、鼠标与键盘手势 (shift连续选择,ctrl跳跃选择,alt矩形选择;快速跳到开头或结尾)。
4、快捷键CTRL+C复制;CTRL+V粘贴;CTRL+Z撤销;CTRL+Y前进;按住CTRL不连续选择;按住SHIFT连续选择;按住ALT矩形框选;单击ALT进入快捷键窗格模式(表现为选项卡出现格子);CTRL+B加粗;CTRL+I倾斜;CTRL+[/]缩小、放大选中字体;CTRL+(FN)+HOME/END置顶/到底;CRTL+A全选;CRTL+E/L/R 居中,左对齐,右对齐 CTRL+H 查找和替换 CTRL+(鼠标滚轮)缩放界面。
S02 排版实操讲解(204.04.11)一、段落格式1.换行符:SHIFT+ENTER(换行不换段落)
2.与格式刷:复制字体格式 ...
希尔排序、快速排序、合并排序
希尔排序希尔(shell)排序是插入排序的一种。也称缩小增量排序,是直接插入排序的一种更高效的改进版本。希尔排序是非稳定排序。希尔排序是按照记录下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量减少,每组包含的关键词增多,当增量减少至1时,所有元素被分为1组,算法结束。我们分割待排序记录的目的是减少待排序记录的个数,并使整个序列向基本有序发展。而如上面这样分完组后,就各自排序的方法达不到我们的要求。因此,我们需要采取跳跃分割的策略:将相距某个“增量”的记录组成一个子序列,这样才能保证在子序列内分别进行直接插入排序后得到的结果是基本有序而不是局部有序。
1234567891011121314template <typename E>void inssort(E A[],int n,int incr){ for(int i = incr;i < n;i += incr){ for(int j = i;(j > incr) && (A[j] < A[j-incr]);j -= incr) swap( ...
三种O(n^2)的排序算法
排序算法的稳定性:所有相等的数经过某种排序方法后,仍能保持它们在排序前的相对次序,我们称这种排序算法是稳定的。反之,就是非稳定算法。内排序:在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的顺序,称为内排序。外排序:在排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的相对顺序,称为外排序。
1、插入排序分三个步骤:
在在A[1..i-1]中查找A[i]的插入位置,A[1..j].key <= A[i].key < A[j+1..i-1].key;
将A[j+1..i-1]中的所有记录均后移一个位置;
将A[i]插入(复制)到A[j+1]的位置上。123456template<typename E,typename Comp>void inssort(E A[],int n){ for(int i = 1;i <= n;i ++) for(int j = i;(j>0) && (Comp::prior(A[j],A[j-1]);j --))//如果A[j]>A[j-1],交换 ...
我是谁,我是一个什么样的人
有人为了家族兴旺而活,他觉得自己的人生很有价值,很幸福;也有人无所羁绊,只为了自由而活,他也觉得自己很幸福。有人奔波忙碌,但是精神饱满,斗志昂扬;也有人平平淡淡,也知足常乐,过的安详。我们总想探讨哪种人才是人生的真谛,这些到底是对是错?但其实大多时候,不过是基于你的精神世界,哪种是你真实想要的罢了。人生的悲剧不在于你选了哪种,而在于你所选的,不是你真心认可的。例如:周围的人,都跟你说,考个编,过个安稳日子才是最香的。这话对不对?对于那些真心认可这种生活的人就对,而对于那些没有主见,不知道自己想要什么的人未必就对。所以,一切都回到了起点,先搞清楚“我是谁?我是一个什么样的人”的问题,这很重要。