08 2014 档案

摘要:[gcc编译步骤]1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs] 3.由汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [编译器参数详解]编写Makefile时,下列编译器参数... 阅读全文
posted @ 2014-08-28 16:30 Andy Cheung 阅读(3225) 评论(1) 推荐(0)
摘要:原作者:陈皓专栏 【空谷幽兰,心如皓月】 跟我一起写 Makefile(一) 跟我一起写 Makefile(二) 跟我一起写 Makefile(三) 跟我一起写 Makefile(四) 跟我一起写 Makefile(五) 跟我一起写 Makefile(六) 跟我一起写 Makefile(七) 跟我一起写 Makefile(八) 跟我一起写 Makefile(九) 跟我一起写 ... 阅读全文
posted @ 2014-08-27 21:04 Andy Cheung 阅读(360) 评论(0) 推荐(0)
摘要:1.栈的两个应用:括号匹配的检验和表达式求值2.字符串匹配算法3.树的基本概念4.二叉树先序、中序、后序遍历的递归算法和非递归算法5.堆的插入、删除和建立操作,堆排序6.哈希表7.循环队列基本操作8.二叉排序树的查找、插入和删除9.二叉平衡树的插入和删除操作10.图的存储结构11.链表插入排序、链表... 阅读全文
posted @ 2014-08-23 16:34 Andy Cheung 阅读(2387) 评论(0) 推荐(1)
摘要:1.基本概念2.时空复杂度3.稳定性4.使用情况分析排序算法总结(C语言版)已介绍排序算法的基本思想和C语言实现,本文只介绍时空复杂度和稳定性。1.基本概念时间复杂度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法的语句执行次数称为语句频度或时间... 阅读全文
posted @ 2014-08-22 11:47 Andy Cheung 阅读(3894) 评论(0) 推荐(0)
摘要:1.链表1.1链表的存储表示//链表的存储表示typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;1.2基本操作创建链表:/* * 创建链表。 * 形参num为链... 阅读全文
posted @ 2014-08-21 19:17 Andy Cheung 阅读(6956) 评论(3) 推荐(3)
摘要:1. 图2. 图的存储结构2.1 数组表示法(邻接矩阵表示法)2.2 邻接表2.3 十字链表2.4 邻接多重表1. 图顶点:图中的数据元素。V是顶点的有穷非空集合。弧:表示从v到w的一条弧,v为弧尾,w为弧头。VR是两个顶点关系的集合。无向图:若∈VR,必有∈VR,则此图为无向图。有向图:无上述关系... 阅读全文
posted @ 2014-08-19 22:42 Andy Cheung 阅读(10341) 评论(4) 推荐(4)
摘要:1. 二叉平衡树二叉排序树查找、插入和删除操作的时间复杂度和树的深度n有关。构建树时,当先后插入的结点按关键字有序时,二叉排序树退化为单枝树,平均查找长度为(n+1)/2,查找效率比较低。提高查找效率,关键在于最大限度地降低树的深度n。因此需要在构建二叉排序树的过程中进行“平衡化”处理,使之成为二叉... 阅读全文
posted @ 2014-08-16 22:43 Andy Cheung 阅读(14415) 评论(5) 推荐(7)
摘要:1. 二叉排序树二叉排序树(Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有结点值相同的结点。二... 阅读全文
posted @ 2014-08-14 11:15 Andy Cheung 阅读(15633) 评论(0) 推荐(1)
摘要:1. 基本概念在线性表、树等数据结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系。因此,当在结构中查找记录时必须进行一系列和关键字的比较。查找记录的效率取决于比较次数。理想的情况是给定一个关键字,不需要进行比较,立刻就能确定该记录在结构中的存储位置,然后一次存取就能得到所需... 阅读全文
posted @ 2014-08-12 17:58 Andy Cheung 阅读(1320) 评论(1) 推荐(0)
摘要:1. 堆堆:n个元素序列{k1,k2,...,ki,...,kn},当且仅当满足下列关系时称之为堆:(ki = k2i,ki >= k2i+1), (i = 1,2,3,4,...,n/2)若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,则堆的含义表明,完全二叉树... 阅读全文
posted @ 2014-08-11 15:48 Andy Cheung 阅读(16132) 评论(0) 推荐(2)
摘要:先序遍历:若二叉树为空,则空操作;否则访问根节点;先序遍历左子树;先序遍历右子树。中序遍历:若二叉树为空,则空操作;否则中序遍历左子树;访问根节点;中序遍历右子树。后序遍历:若二叉树为空,则空操作;否则后序遍历左子树;后序遍历右子树;访问根节点。二叉链表:链表中的结点包含三个域:数据域和左右指针域。... 阅读全文
posted @ 2014-08-10 17:13 Andy Cheung 阅读(23545) 评论(7) 推荐(1)
摘要:1. 树根、子树、结点、孩子、双亲、兄弟、堂兄弟、祖先、子孙结点的度:结点拥有的子树数树的度:树内各结点度的最大值树的深度(高度):结点的最大层次叶子(终端结点):度为0的节点分支节点(非终端结点):度不为0的节点2. 二叉树特点:每个结点至多有两个子树,且子树有左右之分。性质1:二叉树的第i层上至... 阅读全文
posted @ 2014-08-10 15:21 Andy Cheung 阅读(744) 评论(0) 推荐(0)
摘要:在使用指向函数的指针调用函数时,可以使用两种形式:定义:int (*fun)(int a,int b);赋值:fun = fun1;调用:fun(a,b);或者(*fun)(a,b);均可。下面是测试程序:(Visual Studio 2013)#define _CRT_SECURE_NO_WARN... 阅读全文
posted @ 2014-08-09 15:37 Andy Cheung 阅读(433) 评论(0) 推荐(0)
摘要:1. 朴素的匹配算法(暴力匹配)寻找子串p在主串s中第pos个字符后的位置。分别利用计数指针i和j指示主串s和子串p中当前待比较的字符。算法的基本思想是:从主串s的第pos个字符起和模式的第一个字符比较,如果相等,继续逐个比较后续字符;否则从主串的下一个字符起,重新和模式的第一个字符比较。算法的时间... 阅读全文
posted @ 2014-08-08 21:32 Andy Cheung 阅读(1069) 评论(1) 推荐(0)
摘要:转自:http://blog.csdn.net/houjixin/article/details/8648969在C++开发过程中经常会遇到两个比较容易混淆的头文件引用#include 和 #include,两者的主要区别如下:#include是C语言的标准库,主要是对字符串进行操作的库函数,是基于... 阅读全文
posted @ 2014-08-07 16:29 Andy Cheung 阅读(351) 评论(0) 推荐(0)
摘要:/* * 循环队列基本操作。 * 少用一个元素空间,约定以“队列头指针在队列尾指针的下一个位置”作为队列满的标志。 * “队列头指针等于队列尾指针”作为队列空的标志。 */#include #include #include #define MAXQSIZE 100typedef char Elem... 阅读全文
posted @ 2014-08-07 11:32 Andy Cheung 阅读(704) 评论(0) 推荐(0)
摘要:1. 括号匹配的检验假设表达式中含有3种括号:(),[],{},其嵌套的顺序随意。检验括号是否匹配。基本思想:在算法中设置一个栈,每读入一个括号,若是右括号,则或者与栈顶匹配的左括号相互消解,或者是不合法的情况;若是左括号,则直接压入栈中。若括号匹配,在算法的开始和结束时,栈都应该是空的。代码:/*... 阅读全文
posted @ 2014-08-06 22:40 Andy Cheung 阅读(7663) 评论(0) 推荐(0)
摘要:排序算法总结(C语言版)1. 插入排序1.1 直接插入排序1.2 Shell排序2. 交换排序2.1 冒泡排序2.2 快速排序3. 选择排序3.1 直接选择排序3.2 堆排序4. 归并排序4.1 二路归并排序4.2 自然合并排序5. 分布排序5.1 基数排序1.插入排序1.1 直接插入排序... 阅读全文
posted @ 2014-08-01 22:11 Andy Cheung 阅读(3255) 评论(2) 推荐(1)