算法与数据结构
wuwei35531
这个作者很懒,什么都没留下…
展开
-
链表的处理
在Graph Coloring中,使用双向链表 开始在windows vc平台上调试,正常后, 移植到ubuntu下,用g++编译,发现总是抛段错误,在当前目录下产生core文件(段错误,核心已转储)。若未产生, ulimit -c unlimit gdb ./main core 定位到双链表操作 [code="c++"]min->prior->next = min->next; ...原创 2012-10-25 15:54:53 · 98 阅读 · 0 评论 -
找中位数相关算法
查找第 i 大元素,除了排序外,可借助快排思想,将其划分,进而分治算法,也可堆排序 借助芯片测试,分治 [url]http://blog.csdn.net/liu1064782986/article/details/7411720[/url] [url]http://blog.csdn.net/atyuwen/article/details/1817600[/url] 当有奇数个芯...原创 2013-03-17 17:05:07 · 903 阅读 · 0 评论 -
实现一个Stack,push和pop函数,以及一个输出当前栈内最小值的min函数,要求这三个函数都是O(1)...
实现一个Stack,push和pop函数,以及一个输出当前栈内最小值的min函数,要求这三个函数都是O(1) 显然,需要时间换空间 栈 A, 辅助栈 minStack,存储最小元素,显然,从栈底到栈顶,非递增 [code="c++"]Elem getTop(minStack) { return get(minStack); } void push(eleme...原创 2013-03-23 15:35:48 · 357 阅读 · 0 评论 -
递归调用中使用全局变量和函数参数之间的差异
对树、图进行 遍历时,包括 前序、中序、后序、深度搜索、广度搜索 存在一些参数,可以用 1. 全局变量表示,递归结束后必须对该变量修改,恢复原值 2. 普通函数参数,因为递归调用函数时,实际上,从内存分布上看,每一层调用都保存了该层函数的参数,因此递归返回上层时,不会影响原参数值 1. 全局变量表示 [code="c++"]int currentSum...原创 2013-04-27 16:31:50 · 1066 阅读 · 0 评论 -
加法与乘法的溢出
算法设计中,加法、乘法当数值较大时易造成溢出,需要小心处理 可以转化为减法和除法 e.g. midIndex = (maxIndex + minIndex) / 2; 等价于 midIndex = minIndex + (maxIndex - minIndex) / 2; 测试时,找关键用例,临界值...原创 2012-12-26 19:16:19 · 461 阅读 · 0 评论