
开发
Steel1010
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码大全(code complete)学习笔记 (2)
2 用隐喻来充分理解软件开发软件隐喻更像一个探照灯,而不是一个路牌。它并不能告诉你在哪找到答案,但却能告诉你如何能找到答案。更像一个启发式的方法而非一个算法。你对软件隐喻理解的程度,决定了你对软件开发理解的程度。一般的软件隐喻有以下类型:(1)写作代码式隐喻 (软件写作) 这种隐喻认为开发方式就像写信,如果写错了,抛弃即可。对于大些的项目明显不适用。(2)原创 2009-03-22 23:34:00 · 823 阅读 · 0 评论 -
Single linked list reverse
Single linked list reversed: (1) Algorithmstruct link{ int data; struct link *next;};link reverse(link x){ if( NULL==x ) return NULL; link t=NULL; link r=NULL,原创 2010-03-26 15:47:00 · 677 阅读 · 0 评论 -
常用函数曲线及大小关系
常用函数曲线及大小关系,相信你一定用得着原创 2010-01-07 21:24:00 · 12319 阅读 · 1 评论 -
Byte alignment
VC provides # pragma pack (n) to set the variable to n-byte alignment (n must be 0 or a power of 2). If n is 0 or is omitted, alignment uses the default alignment values. There are two cases to n-by原创 2010-02-21 21:47:00 · 707 阅读 · 0 评论 -
编程珠矶学习笔记(11)--插入法排序O(n^2)
个人原创,转载请注明出处,谢谢!一、目的input: n个元素的数组;output: n个元素的有序数组;constrain:使用插入排序法,使数组有序,左小右大。二、算法原理就像排队,假设个子高的站在右侧,那么如果发现比自己左侧的人个子低,则和他换一下即可,换以后如果发现还比左侧的低,那么继续换,直到比左侧的高为止。比如有下面的4个数字(理解为身高也可): 3原创 2009-10-27 22:25:00 · 621 阅读 · 0 评论 -
编程珠矶学习笔记(12)- 快速排序法1 O(nlogn)
个人原创,转载请注明出处,谢谢!一、目的input: n个元素的数组;output: n个元素的有序数组;constrain:使用快速排序法,数组有序,左小右大,O(nlogn)。二、算法原理使用分治的思想来解决,使用递归的方法来实现,即将数组不断的剖分成小部分,然后对每一个小部分进行排序,每一个小部分的有序,最终使得整个数组有序。例如,假设现在有一个8元素的待排数组:原创 2009-11-04 22:32:00 · 941 阅读 · 0 评论 -
编程珠矶学习笔记(10)--查找最大和(扫描算法O(n))
个人原创,转载请注明出处,谢谢!一、目的input: n个元素的数组;output: 在数组中查找相邻数的最大和;constrain: 如最大和为负数,则最大和为0,即一个也不选。二、算法原理算法从数组的最左端x[0]开始,一直扫描到最右端x[n-1],记下所碰到过的最大和,初始最大和为0。实际通过一个一个的增加元素来判断哪个子数组的和最大,抛弃小的和,留下大的和,最终得到原创 2009-10-19 12:07:00 · 846 阅读 · 0 评论 -
编程珠矶学习笔记(9)--查找最大和(分治算法O(logn))
个人原创,转载请注明出处,谢谢!一、 目的input: n个元素的数组;output: 在数组中查找相邻数的最大和;constrain: 如最大和为负数,则最大和为0,即一个也不选。二、算法原理要解决x[n]的最大和问题,可递归解决两个规模近似为n/2的子问题,然后将他们的答案进行合并以得到整个问题的答案。即如下图将x[n]转化为两个子数组x[a]和x[b]:考原创 2009-10-18 18:28:00 · 961 阅读 · 0 评论 -
编程珠矶学习笔记(8)--查找最大和(二次算法O(n^2))
个人原创,转载请注明出处,谢谢!一、 目的input: n个元素的数组;output: 在数组中查找相邻数的最大和;constrain: 如最大和为负数,则最大和为0,即一个也不选。二、算法原理假设输入数组x[10]如下图,则最大和为187,即子向量x[2…6]: 另外:如果数组内各元素均为正数,则最大和为所有元素的和;如果数组内各元素均为负数,则最大和原创 2009-10-12 22:36:00 · 805 阅读 · 2 评论 -
编程珠矶学习笔记(7)--改善性能
个人原创,转载请注明出处,谢谢!一、目的使用各种方法对性能进行改善。这里只简单列出书内的一些性能优化方法和结果。更多请参考: http://blog.youkuaiyun.com/lijian818181/archive/2009/09/25/4593320.aspx二、一个优化案例的结论一个天体物理学研究方面的程序不断优化的结论(更多还请参考原著p58):原创 2009-10-11 13:51:00 · 495 阅读 · 0 评论 -
编程珠矶学习笔记(6)--测试及性能(基本的)
个人原创,转载请注明出处,谢谢!一、 目的(1) 使用简单的测试脚手架来测试函数的正确性;(2) 使用简单的时间函数来度量函数的时间。二、实现方法1. 使用断言来保证捕捉异常:int i = -999999;#define assert(v) { if ((v) == 0) printf(" binarysearch bug %d %d/n原创 2009-10-08 21:40:00 · 554 阅读 · 0 评论 -
编程珠矶学习笔记(5)--两分搜索算法(折半查找算法)
个人原创,转载请注明出处,谢谢!一、目的input: 有序序列output: 查找结果,如果为-1则未找到目标constrain: 使用两分法进行查找,使查找时间复杂度为O(logn)二、 算法原理 两分搜索算法是一种理解比较简单,但执行效率却十分高的算法。可以用循环的方式来实现,也可以用递归的方式来实现。算法原理如图: 通过不断的改变l和u的值来接近要原创 2009-10-07 19:35:00 · 711 阅读 · 0 评论 -
编程珠矶学习笔记(3)--反转旋转(手摇法实现旋转)
个人原创,转载请注明出处,谢谢!一、目的如示例:input: n = 10, rotdist = 5 (移动前5个元素到数组尾), x[] = {1,2,3,4,5,6,7,8,9,10} output: x[6,7,8,9,10,1,2,3,4,5]constrain: 使用尽可能少的额外内存可通过手揺法来实现旋转,其原理如下图:准备:两手上下平放,左手在上,右手原创 2009-09-26 22:23:00 · 1488 阅读 · 0 评论 -
编程珠矶学习笔记(4)--挤压法查找变位词
个人原创,转载请注明出处,谢谢!一、 目的如示例:input: 单词文件output: 同位词归类文件constrain: 归类所有为同位词的单词 何为同位词:单词字母相同,但字母的顺序不同: pans 和snap是同位词 pots 、stop和tops是同位词,还有这些: 二、算法原理 如果我原创 2009-09-29 11:12:00 · 1201 阅读 · 3 评论 -
[zt]代码优化学习笔记
原文:http://www.cnblogs.com/techsunny/archive/2008/03/24/1120380.html 以下对程序性能优化的相关知识做了总结。应注意的是没有放之四海皆准的方法。1.策略1.1.最重要的原则:尽量少用代码优化(1) 相对于精细的代码优化,程序架构、数据结构、算法和细节设计更重要。(2) 不成熟的代码优化会危及程序的正确性、功能性和可维护性。(3转载 2009-09-25 11:20:00 · 808 阅读 · 0 评论 -
编程珠矶学习笔记(1)--位排序
个人原创,转载请注明出处,谢谢!一、代码#include #define BITSPERWORD 32 #define SHIFT 5#define MASK 0x1F#define N 10000000 int a[1 + N/BITSPERWORD]; inline void set_bit(int i) {原创 2009-09-22 22:42:00 · 1351 阅读 · 0 评论 -
代码大全(code complete)学习笔记 (1)
1 欢迎进入软件架构的世界软件开发的主要流程为:问题定义-〉需求分析-〉规划构建-〉架构(概要设计)-〉详细设计-〉编码与调试-〉单元测试-〉集成测试-〉系统测试-〉交付或发布-〉保障维护 各个过程与软件构建的关系如下: 如上图,其中灰色区域是与软件构建相关的活动,也是要介绍的内容。软件构建主要的作用为:(1) 验证相关的基础工作已经完成原创 2009-03-22 23:30:00 · 663 阅读 · 0 评论 -
模式趣解
作者: Admin 日期: 04-10-13 10:53 点击数: 130 好东西不得不转http://www.cppblog.com/mzty/archive/2006/01/03/2372.html创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和转载 2010-04-10 10:59:00 · 640 阅读 · 0 评论