昨天晚上我们进行了第一次小组赛,做的是12年的湘潭市比赛的题,我们队只ac了两个题,做这次题的时候,感觉是挺简单的,我们就开始着手做,提交了好几次都是TLE,后面就基本一直在搞这个题,对这个题进行优化,一直到最后,我们还是没能ac。。程序的优化真的很重要啊,特别是比赛的时候,在选对算法后,还要对算法进行一定的优化,在一次一次的优化后,找到更加好的方法,这才是算法的魅力所在吧。今天早上在网上搜了一下...
分类:
数据库 时间:
2014-05-10 10:39:37
阅读次数:
520
链表中结点的分配和回收是由系统提供的标准函数malloc和free动态实现的,称之为动态链表。
如果程序支持指针,则可按照我们的一般形式实现链表, 需要时分配,不需要时回收即可.
动态链表的空间是可以动态扩展的。
typedef struct node{
EleType data;
struct node * pNext;
}Node;
有些高级语言中没有“指...
分类:
其他好文 时间:
2014-05-10 10:38:07
阅读次数:
297
这道题稍微有点意思,知道答案发现,呀,这么简单就能做啊。我一开始想的是,相遇之后用另一个指针怎么走,然后满足什么关系之后能推出来,其实不用这么麻烦。是很简单的数学关系,我画个图说一下。
S1代表的是链表进入环之前的长度,a代表当两个指针相遇时,走一步的指针在环里走的长度,S2代表的是环的周长,那么根据条件,相遇时,走两步的指针走的距离是走一步的两倍,我们得到公式:
(S1+a)*2 =...
分类:
其他好文 时间:
2014-05-10 10:29:57
阅读次数:
364
有段时间没更新了,专心刷了几天,差十几道结束,决定把第一季更完,然后按照我的理解分类再分析一遍,第二遍的时候应该会按照问题分类,应该会引用第一季的,如果想到或找到更好的解法,会更新第一季。
链表的问题就是恶心,思路大多直接,对指针的操作要非常小心。我自己常犯的错误主要有:
1. 在取val或者取next时,没有判空,造成Runtime Error。
2. 空指针和只有一个节点之类的边界情况。...
分类:
其他好文 时间:
2014-05-10 09:09:54
阅读次数:
304
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了ST...
分类:
其他好文 时间:
2014-05-07 18:11:56
阅读次数:
465
前一篇写了二叉树的先序遍历,本篇记录一下二叉树的中序遍历,主要是非递归形式的中序遍历。由于距离上篇有好几天了,所以这里把二叉树的创建和存储结构也重复的写了一遍。二叉树如下二叉树的存储方式依然是二叉链表方式,其结构如下typedef
struct _tagBinTree{ unsigned ch...
分类:
其他好文 时间:
2014-05-07 10:17:50
阅读次数:
335
首先简单介绍下distri.lua中的线程设计方案.distri.lua提供一个API函数fork用于创建新的C线程,这个C线程运行独立的lua虚拟机,为了在各线程之间通信每个线程都会创建一个channel,用于接收其它线程发送过来的消息.这个channel内部实现为单向链表,为了将channel的...
分类:
编程语言 时间:
2014-05-07 09:20:02
阅读次数:
462
nginx的slab分配器主要和共享内存(nginx自己实现的共享内存 采用mmap或者shm实现)一起使用,Nginx在解析完配置文件,把即将使用的共享内存全部以list链表的形式,对共享内存进行管理和划分。在nginx_cycle.c中
static ngx_int_t
ngx_init_zone_pool(ngx_cycle_t *cycle, ngx_shm_zone_t *zn)
{
...
分类:
其他好文 时间:
2014-05-07 08:18:53
阅读次数:
361