算法相关
zzulp
这个作者很懒,什么都没留下…
展开
-
B-树伪码
Search(T, k)//Search a B-Tree, T, for a key, k.//if found k then return pointer to node containing k//else return NULL current_node = root(T)While current_node is not NULLNOTE: A recursive转载 2009-06-25 10:41:00 · 824 阅读 · 0 评论 -
编程之美-只考加法的面试题
[问题]我们知道:1+2=3; 4+5=9; 2+3+4=9;等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢?写一个程序,对于一个32位正整数,输出它所有的连续自然数之和的算式。 在网上搜了下,找到了下面的解法,问题被转换到"连续整数的固定和",实现代码如下:#include #incl原创 2009-10-30 17:49:00 · 1927 阅读 · 1 评论 -
单向链表,找出倒数第m个
题目:单向链表,长度未知,(方便说明,假设为n个),找出倒数第m个 分析:大众知道2个,我知道4个。 [大家知道的]1,遍历一次,查出链表长度,n;再次遍历,走n-m步,停止。时间复杂度:n+(n-m); 2,两个指针:p在前面走,走m步之后,后面的指针q跟着走;当p遇到tail的时候,q停止,这时候q刚好指向m;转载 2009-11-10 17:59:00 · 1078 阅读 · 0 评论 -
排序算法的稳定性
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。为了简便下面讨论的都是不降序排列的情形,对于不升序排列的情形讨论方法和结果完全相同。其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上转载 2009-11-09 23:56:00 · 853 阅读 · 0 评论 -
n阶幻方的构造
根据构造方法的不同,幻方可以分成三类:奇数阶幻方、4M阶幻方和4M + 2阶幻方,其中M为自然数,2阶幻方不存在。 1 奇数阶幻方构造法 (1) 将1放在第一行中间一列; (2) 从2开始直到n×n止各数依次按下列规则存放:按 45°方向行走,向右上,即每一个数存放的行比前一个数的行数减1,列数加1 (3) 如果行列范围超出矩阵范围,则回绕。例如1在第1行,则2应放在最下一行,列原创 2009-11-17 18:26:00 · 6051 阅读 · 0 评论 -
无锁编程与有锁编程的性能对比与分析
最近维护的一个网络服务器遇到性能问题,于是就对原有的程序进行了较大的框架改动。改动最多的是线程工作模式与数据传递方式,最终的结果是改变锁的使用模式。经过一番改进,基本上可以做到GMb网卡全速工作处理。在性能达标之后,一度在想有没有什么办法使用更加轻量级锁,或者去掉锁的使用,为此搜索一些相关的研究成果,并做了一些实验来验证这些成果,因而就有这篇文章。希望有做类似工作的同行可以有所借鉴。如果有人也有相关的经验,欢迎和我交流。1 无锁编程概述 本节主要对文献[1]进行概括,做一些基础知识的原创 2011-03-18 19:51:00 · 18322 阅读 · 3 评论