自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨柳岸,月影鸿泉的专栏

一念三千,始于精微而跨越与天地!

  • 博客(22)
  • 资源 (8)
  • 收藏
  • 关注

原创 窗口函数中获取主程序实例句柄的三种方法

一。使用hInst全局变量,使窗口过程能访问WinMain中的实例句柄。在WinMain中,只需在建立主窗口之前设置hInst=hInstance即可 二。在窗口过程中使用(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE)函数即可获得程序的实例句柄。 三。在处理WM_CREATE消息的过程中,lParam实际上是指向CREATE

2014-05-15 18:00:27 1312

转载 图的高效数据结构表示

以下内容转自http://blog.chinaunix.net/uid-24774106-id-3505579.html其中添加了一些个人学习过程中的注释和绘图,会特别标出下述代码均在vs2010中测试通过,成功运行 任何一本讲到图算法的算法书,都会讲到图的表示方法有两种    1 邻接矩阵 ,对于N个点的图,需要N×N的矩阵表示点与点之间是否有边的存在

2014-05-15 14:29:48 1044

原创 【数据结构与算法】浅析线性递归和尾递归

转载请注明出处:http://blog.csdn.net/ns_code/article/details/11357807今天一直在研究尾递归,看了些博文,记下点笔记,供以后复习用线性递归:也即是普通递归,单向递归,线性递归函数的最后一步操作不是递归操作,而是其他的操作。当数据量很大的时候,会造成栈溢出,这是因为,在每次递归调用时,递归函数中的参数,局部变量等都要保

2014-05-15 01:51:58 611

原创 【数据结构与算法】汉诺塔算法——C语言递归实现

汉诺塔的递归实现算法,将A中的圆盘借助B圆盘完全移动到C圆盘上,每次只能移动一个圆盘,并且每次移动时大盘不能放在小盘上面递归函数的伪算法为如下:if(n == 1)   直接将A柱子上的圆盘从A移动到Celse   先将A柱子上的n-1个圆盘借助C柱子移动到B柱子上   直接将A柱子上的第n个圆盘移动到C柱子上   最后将B柱子上的n

2014-05-15 01:50:50 669

原创 【数据结构与算法】二叉树的层序遍历

转载请注明出处: http://blog.csdn.net/ns_code/article/details/13169703    前面有篇博客详细分析了二叉树三种遍历(前序、中序、后序)方式的递归与非递归实现,参见:http://blog.csdn.net/ns_code/article/details/12977901,但把二叉树的层序遍历算法给漏掉了,实际上也不能说漏掉了

2014-05-15 01:49:44 626

原创 【数据结构与算法】Huffman树&&Huffman编码(附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/19174553Huffman Tree简介    赫夫曼树(Huffman Tree),又称最优二叉树,是一类带权路径长度最短的树。假设有n个权值{w1,w2,...,wn},如果构造一棵有n个叶子节点的二叉树,而这n个叶子节点的权值是{w1,w2,...,wn}

2014-05-15 01:48:50 873

原创 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/19617187图的存储结构    本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS),因此不再对图的基本概念做过多的介绍,但是要先大致了解下图的几种常见的存储结构。    邻接矩阵    邻接矩阵既可以用来存储无向图,也可以用来存储有

2014-05-15 01:47:29 722

原创 【数据结构与算法】二叉排序树C实现(含完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/19823463二叉排序树简介     二叉排序树(Binary Sort Tree,简称BST),又称二叉查找树,是红黑树、AVL树等的基础。它或是一棵空树,或者是具有下列性质的一棵二叉树:   1、若它的左子树不空,则左子树上所有节点的值均小于它

2014-05-15 01:47:08 799

原创 【数据结构与算法】模式匹配——从BF算法到KMP算法(附完整源码)

转载请注明处处:http://blog.csdn.net/ns_code/article/details/19286279模式匹配    子串的定位操作通常称为串的模式匹配。模式匹配的应用很常见,比如在文字处理软件中经常用到的查找功能。我们用如下函数来表示对字串位置的定位:int index(const string &Tag,const string &Ptn

2014-05-15 01:46:43 847

原创 【数据结构与算法】内部排序之一:插入排序和希尔排序的N中实现(不断优化,附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20043459前言    本来想将所有的内部排序总结为一篇博文,但是随着研究的深入,还是放弃了这个念头,斟前酌后,还是觉得分开来写比较好,具体原因,看完本篇博文也就自然明了了。    本篇文章主要探讨插入排序和希尔排序,之所将二者放在一起,很明显,是因为希

2014-05-15 01:46:25 597

原创 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20065107前言    之所以把冒泡排序和选择排序放在一起,是因为二者的实现代码很相似,而且都是最基本的排序方式,非常容易理解和实现。当然,如果仅仅是为了讲述这两种排序方式,那也根本没必要写这篇博文了。和上篇博文一样,我会在冒泡排序和选择排序原始代码的基础上给出

2014-05-15 01:41:33 700

原创 【数据结构与算法】内部排序之三:堆排序(含完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20227303前言    堆排序、快速排序、归并排序(下篇会写这两种排序算法)的平均时间复杂度都为O(n*logn)。要弄清楚堆排序,就要先了解下二叉堆这种数据结构。本文不打算完全讲述二叉堆的所有操作,而是着重讲述堆排序中要用到的操作。比如我们建堆的时候可以采用堆

2014-05-15 01:39:59 452

原创 【数据结构与算法】内部排序之四:归并排序和快速排序(含完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20306991 前言       之所以把归并排序和快速排序放在一起探讨,很明显两者有一些相似之处:这两种排序算法都采用了分治的思想。下面来逐个分析其实现思想。归并排序    实现思想          归并的含义很明显就是将两个或者两个以上的

2014-05-15 01:36:06 995

原创 【数据结构与算法】内部排序之五:计数排序、基数排序和桶排序(含完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20478753前言    最后三种排序算法了,由于都不是基于比较的排序,因此这三种排序算法可以以线性时间运行。但是因为限制条件的特殊性,因此应用面没有基于元素比较的排序算法广,但是在很多特定的情况下还是蛮有用途的,而且效率极高。计数排序   

2014-05-15 01:34:39 630

原创 【数据结构与算法】内部排序总结(附各种排序算法源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20540069内部排序总结    这篇博文我们简要地总结下各种内部排序方法。    这10种排序算法中,前面7种属于建立在“比较”基础上的排序算法,通过决策树已经证明,任何基于比较进行的排序算法的时 间复杂度不可能再优于O(n*logn)。后面

2014-05-15 01:33:30 650

原创 【数据结构与算法】HashTable相关操作实现(附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/20763801前言    学过Java的人肯定对Hash这个词非常之熟悉,HashTable、HashSet、HashMap等都是对哈希表的封装或改进。这次我们来看下哈希表用C语言表示的封装实现。哈希表    哈希表又叫

2014-05-15 01:32:35 754

原创 【数据结构与算法】字典树(附完整源码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/21183495字典树简介    字典书(Trie Tree),又称单词查找树,是键树的一种,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。    字典树有3个基本性质:    1、根节点不包

2014-05-15 01:27:32 1053

原创 连载:面向对象葵花宝典:思想、技巧与实践(23) - 领域建模三字经

看起来有点不可思议,需求阶段“白纸黑字”的用例文档,经过我们一步一步的操作,逐步就得到了“图形化”的领域模型,面向对象初具雏形。领域建模的三字经方法:找名词、加属性、连关系。 我们接下来以一个样例看看领域模型具体如何建模。1.1. 找名词我们以POS机买单的用例来看看具体如何建领域模型。 首先,将用例中所有的名词挑选出来(如下用例

2014-05-15 01:14:38 644

原创 转:数据结构与算法1:马踏棋盘问题(骑士周游问题)

问题描述:在一个国际象棋的棋盘上,一个马按照它的规则如何才能从一个点出发遍历每一个位置,且每个点只访问一次。    问题分析:这是一个深搜的问题,沿着一条路前进直到遍历全部的点,那就完成了整个的过程。如果不行,就回退一步,换个方向继续前进。这可以用递归很方便地实现。注意到马在某个位置最多有8个方向可以走,因此需要对这8个方向进行试探。当然这8个方向不一定都存在,比如在边缘可能就

2014-05-15 01:10:24 1171

原创 转载:二叉查找树原理分析及查找、插入、删除、遍历实现

二叉查找树介绍二叉查找树作为一种最简单的二叉排序树,它是特殊的二叉树:对于二叉树,假设x为二叉树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] = key[x]。那么,这棵树就是二叉查找树。二叉查找树具有如下性质:1、如果节点左子树存在,那么左子树中的所有值均小于其根节点的值2、

2014-05-15 01:06:37 1180

转载 一步一步写算法(之链表重合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】    链表重合是一个好玩的问题。原题目是这样的:有两个链表,那么如何判断这两个链表是不是重合的?至于这个链表在什么时候重合的,这不重要,关键是判断这个链表究竟有没有重合。究竟有什么方法呢?    最简单的方法就是查看两者有没有共同点。那么依次判断就行了。

2014-05-15 00:59:48 493

原创 转:一步一步写算法(之通用算法的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】    前面我们写过各种各样的算法,什么排序、查找、二叉树、队列、堆栈等等。但是我们在编写这些代码的时候却都有一个缺点,不知道大家发现了没有?那就是这些算法中使用的数据结构都是简单的int数据。所以,如果排序的是int,那么用起来没有什么问题。关键就是万一是其他的数据类型,那

2014-05-15 00:57:50 475

交通灯(新)

交通灯原理图,设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯。红灯亮禁止通行,绿灯亮允许通行,黄灯亮则停止行驶(给行驶中的车辆有时间停在禁行线以外)。具体要求如下: 用红、绿、黄发光二极管作信号指示灯。 主支干道交替允许通行。主干道每次放行45秒,支干道每次放行25秒。 在每次由绿灯亮转换到红灯亮的过程中,要亮5秒钟的黄灯作为过渡。

2013-11-19

C语言趣味程序百例精解

C语言趣味程序百例精解,其中包含有很多有趣且有逻辑思维的例题,可以很好地锻炼c语言的基础

2013-11-18

深入理解计算机系统

深入理解计算机系统,是一本基础的很好的帮助理解计算机系统的好书!希望对各位有用

2013-11-18

C++中的引用

深入探讨C++中的引用,分清楚它与其他引用的区别

2013-06-06

词法分析器

词法分析器,描述的是创建一个词法分析器,输出单词种别码和单词自身值

2013-06-06

C语言难点分析整理.

C语言难点分析整理,更好的了解和掌握c语言的博深!

2013-05-12

结构体与共用体

结构体与共用体,进一步了解和认识他们的作用!

2013-05-12

80x86汇编语言程序设计教程

计算机汇编教程,即80x86汇编语言程序设计教程,有助于初学汇编语言的人学习!

2013-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除