今天会介绍另外一种反转单链表的方法,对于单链表反转这一类的算法,最重要的思想就是用临时变量来记住需要记住的节点。一个不够,那就用两个,或者用三个临时变量。 这次还是以图表来表现算法的过程,不同于上一篇,这次的头节点使用链表中的第一个节点。 该方法的思想就是遍历每个节点,将其插入到第一个节点之后。 如 ...
分类:
其他好文 时间:
2017-06-11 15:43:21
阅读次数:
197
一个有趣的协程库,用了类似共享栈技术,支持百万数量协程,而且是full-stack,每个协程都有自己的栈空间,不会因为切换而失去临时变量。 ...
分类:
其他好文 时间:
2017-06-09 23:42:32
阅读次数:
291
for循环遍历整个列表 注意点: 编写for循环的时候,对于用于存储列表中每个值的临时变量,可以指定任何名称,最好是选择有意义的; 注意点: 编写for循环的时候,对于用于存储列表中每个值的临时变量,可以指定任何名称,最好是选择有意义的; python根据缩进来判断代码行与前一个代码行的关系,同一个 ...
分类:
编程语言 时间:
2017-06-03 17:19:30
阅读次数:
208
前言 这篇文章总结了七种办法来交换a和b的变量值 var a = 123; var b = 456; 交换变量值方案一 最最最简单的办法就是使用一个临时变量了,不过使用临时变量的方法实在是太low了 var t; t = a; a = b; b = t; 首先把a的值存储到临时变量中,然后b赋值给a ...
分类:
编程语言 时间:
2017-05-20 14:58:31
阅读次数:
128
一、静态全局变量 理解static关键字之前首先回顾一下C/C++程序的在内存中的分配情况。从低地址到高地址依次分为:代码区、全局数据区、堆区、栈区。函数之外的全局变量和静态变量(包括全局变量和静态变量)都存储在全局数据区,堆区有程序员自己通过malloc,new申请内存,栈区存放函数内部的临时变量 ...
分类:
编程语言 时间:
2017-05-07 01:06:31
阅读次数:
244
(一)通项公式 (二)递归 递归是最慢的会发生重复计算,时间复杂度成指数级。 (三)循环 利用临时变量来保存中间的计算过程,能够加快运算。 (四)矩阵乘法+空间换时间(减少乘法,取模运算) 数列的递推公式为:f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2)(n>=3) 用矩阵表示为: ...
分类:
其他好文 时间:
2017-04-27 10:26:49
阅读次数:
183
意图 - 使得同一个类中的所有函数都可以获得这份信息,能够为这个类编写更清晰的代码 示例 ...
分类:
其他好文 时间:
2017-04-24 23:20:04
阅读次数:
195
意图 临时变量可以帮助你将表达式分解为比较容易管理的形式 在较长的算法中,可以运用临时变量来解释每一步运算的意义 临时变量可以帮助你将表达式分解为比较容易管理的形式 在较长的算法中,可以运用临时变量来解释每一步运算的意义 示例 ...
分类:
其他好文 时间:
2017-04-24 23:03:36
阅读次数:
173
意图 - 有一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构手法 示例 ...
分类:
其他好文 时间:
2017-04-24 22:58:09
阅读次数:
164
意图 如果临时变量承担多个责任,它就应该被替换(分解)为多个临时变量,每个变量只承担一个责任 如果临时变量承担多个责任,它就应该被替换(分解)为多个临时变量,每个变量只承担一个责任 示例 ...
分类:
其他好文 时间:
2017-04-24 22:56:49
阅读次数:
109