
算法设计
文章平均质量分 72
kofsky
Welcome
展开
-
问题记录:可变缓冲区问题
网络传输存在的一个问题是,当消息发送速度非常快(比如1s发送200个数据包)时,缓冲区可能会填满而导致发送队列后面的数据发送失败 因此试图通过建立可变缓冲区当数据发送速度非常快时,马上扩充缓冲区容量,使其适应数据的发送数率通过动态数组来实现一个动态循环队列的数据缓冲区 std::vector *_dataQueue;调试中发现一个问题,就是从缓冲区取出的数据次序与送入次数不一致性原创 2008-07-10 21:43:00 · 1109 阅读 · 2 评论 -
算法导论上几个简单的习题
5.1-2 用random(0,1)来实现random(a,b),并估计运行时间.这个cu上面有讨论。http://bbs2.chinaunix.net/thread-1192193-1-1.html我想了一个超级白痴的 random(a,b) = random(0,1)*(b-a)+a不晓得cu上搞得这么复杂。怪也~ 5.1-3 假设你希望以各1/2的概率输出0和1。你可以自由使用一个输原创 2008-09-09 16:11:00 · 2343 阅读 · 11 评论 -
撰写仅有一行语句的函数
函数原形已经给出:int p(int i, int N);功能:调用该函数,打印如下格式的输出,例p(1, 7);1234567654321即每行一个数字。(注意:N只打印一次)要求:函数中唯一能够调用的函数就是printf。只使用一条语句,如果你真的不能用一条语句,每增加一条语句扣1分。不准使用如下的关键字:typede转载 2008-06-26 10:31:00 · 734 阅读 · 0 评论 -
查找
查找是一个很基本的针对数据集的操作。按照数据集的数据结构可以分为如下几部分。1.数组的查找2.哈希表的查找3.树的查找4.其他:串的查找,基于索引查找 1.数组数组的基本查找策略是顺序搜索与折半查找。若数据无序,则顺序查找,挨个与目标关键字进行比较,时间复杂度为O(n);若数组有序,则可以采用折半查找,折半查找实质是在构造一棵二叉的比较树,这棵比较树左右子树深度之差最大为1;因此n个节原创 2008-09-15 15:54:00 · 1046 阅读 · 0 评论 -
突然想写个程序来算完满数
计算量太大了,一台机器肯定不行做个c/s的计算框架服务器放到一个公网ip上(现在恰好有这个资源,以后可能就没啦,哈哈)客户端可以随意了服务器进行任务分配,将计算任务分片安装了客户机的机器启动后,自动运行程序,并尝试连接服务器若连接上服务器,服务器则自动将任务片段发送给该客户端客户端接收任务后离线,在空余时间完成计算,计算的中间结果保存在本地计算完成后,重新连接服务器原创 2008-06-29 23:50:00 · 1868 阅读 · 1 评论 -
图像处理中的傅立叶变换(闲扯版)
傅立叶变换在图像处理中有非常非常的作用。因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法,比如离散余弦变换,gabor与小波在图像处理中也有重要的分量。印象中,傅立叶变换在图像处理以下几个话题都有重要作用:1.图像增强与图像去噪绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声; 边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;2.图像分割之边原创 2008-09-20 15:28:00 · 9521 阅读 · 4 评论 -
讨论记录之排序
<span lang="EN-US" style="font-size:16.0pt;font-family:"Times New Roman"">Participants<span style="font-size:16.0pt;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman""转载 2008-09-22 15:59:00 · 1624 阅读 · 0 评论 -
生成函数与z变换?会不会有些相似?
单边z变换定义为 F(z) = f(0)*z^0+f(1)*z^(-1)+f(2)*z^(-2)+...+f(k)*z^(-k)+...生成函数定义为 F(z) = f(0)*z^0+f(1)*z^(1) +f(2)*z^(2) +...+f(k)*z^(k)+....感觉有些相似。一个是z的正数次幂,一个是z的负数次幂。研究生成函数的时候一般都假设其收敛。z变换有个收敛域,当级数收敛时原创 2008-09-30 21:08:00 · 1553 阅读 · 0 评论 -
讨论记录之哈希表与二叉树
Participants: ZY,LF, HZP, CPPDate: 08-9-237:20 PMRecorder: LF, CPP <span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">参考转载 2008-10-04 15:07:00 · 5975 阅读 · 0 评论 -
讨论记录之网络协议
这个小结,很难写啊~~~网络的东西太多了~~主要是细节很多~~而且,协议也很多,感觉也没有必要去了解这些细节~~似乎找不到重点~~~也没好的办法~~~copy了一大堆资料,整理了几个问题~~~~希望可以勾勒出网络的框架~~有的是概要性质的,也有些是细节方面的,选择性的瞄一眼吧~~~貌似有的写的挺详细,有的就很简略~~~最后一看,有点像大杂烩了,嘿嘿嘿,能看完算你狠 <p class原创 2008-10-06 13:25:00 · 2915 阅读 · 3 评论 -
PV操作
进程间的制约进程1、进程2共享打印机缓冲区(公有资源),显然它们应互斥地向缓冲区写数据——间接制约进程1、进程2共享它们之间的缓冲区(私有资源),显然应同步地使用缓冲区——直接制约产生制约的原因进程并发执行——>资源共享资源有限——>资源竞争制约的分类1.间接制约(由共享和竞争公共资源引起的制约)一组在异步环境下的并发进程,由于不允许并发进程交叉使用共享公有资源,从而限制各进程的执行速度的过程称为原创 2008-09-07 12:58:00 · 2589 阅读 · 0 评论 -
非递归遍历二叉树
1.先序遍历从递归说起void preOrder(TNode* root){ if (root != NULL) { Visit(root); preOrder(root->left); preOrder(root->right); }}递归算法非常的简单。先访问跟节点,然后访问左节点,原创 2008-09-05 16:17:00 · 51232 阅读 · 30 评论 -
记几个面试题
编写一个函数,找到字符串中首个非重复字符,例如,"total"中的首个非重复字符为"o"。考虑效率。打印一个字符串中字符的所有可能顺序。比如字符串"abc",就应该打印"abc","acb","bac","bca","cab","cba"。顺序可任意。实现一个函数,打印一个字符串中字符的所有可能组合。这些组合的长度从1到字符串的长度。不用递归实现树的先序遍历。给定两个矩形,每个由左原创 2008-07-21 22:56:00 · 695 阅读 · 0 评论 -
精致的C Code
/* strlen: return length of s */ int strlen(char s[]) { int i; while (s[i] != /0) ++i; return i; } /* strlen: return length of stri原创 2008-08-24 09:38:00 · 893 阅读 · 0 评论 -
链表的几个思考题
链表若干1.怎么判断链表中是否有环? (附:怎么快速检测出一个巨大的链表中的死链?)2.给你一个单向循环链表,怎么找出这个链表循环部分的第一个节点?3.链表逆序?4.一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点? 5.给定一个链表的头指针,在一次遍历中,找出这个链表中的中间节点并返回。6.查找链表中倒数第k个节点(只允许遍历链表一次)原创 2008-08-25 21:54:00 · 2181 阅读 · 0 评论 -
传说是百度的面试题
一、选择题:15分 共10题 1. 任何一个基于“比较”的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为____。 A.10 B.11 C.21 D.36 2. 关系模型有三类完整性约束,定义外键实现的是 完整性.转载 2008-08-25 22:14:00 · 1125 阅读 · 1 评论 -
字符串匹配算法
字符串匹配定义:文本是一个长度为n的数组T[1…n], 模式是以个长度mP和T的元素都是有限字母表∑中的字符1.字符串朴素匹配也就是蛮力匹配,每次移动一个步长,然后匹配,时间复杂度O((n-m+1)m)2.Rabin-Karp算法Rabin-Karp算法的思想是将模式串P表达为一个值,这样每次进行串匹配的时候,只需要比较这个值就可以了,而不需要对m个字符串进行m次比较。核心思想是用 一个值原创 2008-08-28 16:20:00 · 7042 阅读 · 0 评论 -
tcpip协议 之三
1.IP(IPV4)为什么要分片?如何控制分片?分片在何处?为什么?分片在何处重组?分片的数据包时越大越好还是越小越好?为什么?分片原因:物理网络都存在最大的传输单元限制,也就是MTU限制,IP报文较大时,无法将一个IP数据包封装在一个物理帧中。因此需要将IP数据拆分成多个报文,多次发送出去。以太网的MTU一般为1500个字节(去掉物理网络的帧头帧尾,实际传输数据无法达到1500)。IP数据最大可原创 2008-09-02 20:48:00 · 1319 阅读 · 0 评论 -
蚂蚁爬橡皮筋问题 之二
昨天想的是蚂蚁爬行的绝对距离,晚上睡觉的时候突然想到,可以用蚂蚁爬行相对橡皮筋的比例来计算。比如说,蚂蚁爬行到了距离终点x的距离,那么只需要再爬行x/l(l为橡皮筋长度)比例的橡皮筋,那么就必定可以到达终点。按照这个比例的想法,可以比较容易的确定蚂蚁爬行橡皮筋比例的上界与下界。假设橡皮筋初始长度为l,蚂蚁爬行速度为v1,橡皮筋膨胀速度为v2将蚂蚁爬行与橡皮筋膨胀两个过程分开情形1:假设蚂蚁先爬行,原创 2008-09-02 09:57:00 · 3412 阅读 · 2 评论 -
[转载]关于快排的优化
快速排序算法是一种基于分治技术的重要的排序算法,自从它被发明以来,就受到了研究人员的广泛注意。多年以来,人们对这个基本算法进行了大量的改良。我搜集并查阅了一些相关的资料,在下文中对这些改进做出一些介绍。一、基本的快速排序算法快速排序算法是由C.A.R. Hoare在1961年发明的一种内排序算法,其大致思想如下[5]:首先,在要排序的序列a中选取一个中轴值,而后将a分区成为两个部分,左边的部分b中转载 2008-09-02 16:25:00 · 1106 阅读 · 0 评论 -
蚂蚁爬橡皮筋问题 之一
一条可以均匀拉伸无限拉伸的橡皮筋,初始长度为1米,一个累不死的蚂蚁,从橡皮筋的一端爬到另一端,蚂蚁爬行速度为1厘米每秒,橡皮筋拉伸的速度为10厘米每秒!问:蚂蚁可以爬到橡皮的另一端吗?如果可以要用多久的时间! 给人的第一感觉是,蚂蚁不会到达终点,因为它每秒只能爬行1cm,而橡皮筋的伸缩为10cm/s,蚂蚁速度完全赶不上橡皮筋膨胀速度,随着时间消逝,蚂蚁只会离终点越来越远;但再仔细一想,橡皮原创 2008-09-01 22:25:00 · 15473 阅读 · 7 评论 -
AdaBoost相关的Matlab代码
很久没上优快云了,偶尔上来一瞅,发现有些小哥哥们求AdaBoost的代码。真不好意思,一直没看到。发了吧: http://download.youkuaiyun.com/detail/kofsky/5555011包括:1、图片预处理;2、特性提取:颜色、灰度共生矩阵、灰度差分、Harr-Like、等多个特征提取算法;3、特性选择:从特征向量中选取原创 2013-01-03 16:23:12 · 20434 阅读 · 23 评论