- 博客(51)
- 资源 (107)
- 收藏
- 关注
原创 暴雪公司关于字符串匹配的hash算法
暴雪公司有个经典的字符串的hash公式 先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做? 有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但...也只能如此了。
2012-07-11 14:54:51 13564 6
原创 无向图的实现(邻接表) 图的遍历
关于邻接表请参考图的基本数据结构与算法。用邻接表实现了一个无向图,在实现时,包含了添加和删除顶点,添加和删除边,size方法(顶点个数),isEmpty方法,广度和深度优先迭代器1,成员变量,构造方法,数组扩展private VNode[] VNodes; //将顶点放在数组中 private int nodeCount; //顶点
2012-07-31 16:08:16 2317
原创 图的基本数据结构和算法
图里面的东西太多,先写一个概要。在后面的文章中将继续逐个探讨和实现。1,一些概念顶点边(无向图) 或 弧(有向图)完全图,子图,连通图路径,简单路径(顶点不重复)生成树(无向图),关键路径,拓扑排序2,存储结构非常重要!!!2种存储方式,邻接矩阵和邻接表目前我写的都是用邻接表写的,但后来发现大家还是用邻接矩阵比较多,后来问了下baidu的阿海,他说一般都是用
2012-07-31 15:59:30 1353
转载 几个图论和复杂网络的程序库 —— BGL,QuickGraph,igraph和NetworkX
作复杂网络研究离不开对各种实际或模拟网络的统计、计算、绘图等工作。对于一般性的工作,我们可以用Pajek、Netdraw和Ucinet等软件完成。但对一些特殊应用(比如自己开发了一个新模型),现有的软件不能提供相应的建模或计算功能,这时就必须要通过编程的办法来解决问题了。在这篇文章中,向大家介绍我使用过的4个面向图论及复杂网络分析的程序库,它们可以(分别或同时)用C、C++、C#和Pyth
2012-07-26 13:52:01 2333
原创 OpenGL文章参考
http://www.doc88.com/p-119616765236.htmlhttp://wenku.baidu.com/view/92686ded172ded630b1cb6b3.html###
2012-07-20 17:07:06 679
原创 OpenGL入门学习
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。1、与C语言紧密结合。OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。2、强大的可移植性。微软的Direct3D虽然也是十分优
2012-07-20 15:52:05 5515 2
转载 vc绘图--单文档应用实例
文档/视图结构开发实例 下面在单文档应用程序框架的基础上,逐步开发一个典型的文档/视图结构的绘图程序,通过程序的具体开发,说明有关视图对象和文档对象的具体开发过程和方法。 一、实例说明 本实例在单文档应用程序框架的基础上,进行开发,最终实现一个简单的屏幕绘图程序。首先从最基本的视图绘图处理开始,逐渐加入文档的处理、数据的序列化、实现滚动窗
2012-07-20 11:09:56 1881
转载 VC 绘图,使用双缓冲技术实现
*******************************************************************例子******************************************************************* ********************所有的GDI绘图函数使用的都是逻辑坐标(逻辑范围)************
2012-07-19 10:09:31 4640
转载 DirectUI 简介
http://blog.csdn.net/shanzhiziDirectUI DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧
2012-07-19 08:30:19 1517
原创 VC单文档编程的基础参考
http://wenku.baidu.com/view/9a6c2d1452d380eb62946d09.htmlhttp://wenku.baidu.com/view/9dfd54610b1c59eef8c7b4d6.htmlhttp://wenku.baidu.com/view/eb21e5160b4e767f5acfce68.html
2012-07-19 06:51:08 863
原创 特殊MAC地址---官方保留
下面是官方保留的特殊MAC地址,收藏参考:http://blog.csdn.net/shanzhiziIEEE Std 802.1D and IEEE Std 802.1Q Reserved AddressesGroup MAC address valueOrganizationusing the valueStandard using th
2012-07-16 10:44:17 20119
转载 IP地址与网段的划分
IP和子网掩码我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0.0 到191.255.255.255 C类IP段 192.0.0.0 到223.255.255.255 XP默认分配的子网掩码每段只有255或0 A类的默认子网掩码 255.0
2012-07-14 14:28:49 1832
转载 一种类似和谐系统的字符串匹配算法
实现一个挺高级的字符匹配算法:给一串很长字符串,要求找到符合要求的字符串,例如目的串:1231******3***2 ,12*****3 这些都要找出来其实就是类似一些和谐系统。。。。。这题的真正意思就是,给你一个目标串,如“123”,只要一个字符串里面同时包含1、2和3,那么这个字符串就匹配了。系统越和谐,说明错杀的可能行也就越大。加入目标串的长度为m,模式串的长度为n,我们
2012-07-11 14:11:28 1756
原创 Linux线程同步之互斥锁
1.申请一个互斥锁pthread_mutex_t mutex; //申请一个互斥锁你可以声明多个互斥量。在声明该变量后,你需要调用pthread_mutex_init()来创建该变量。pthread_mutex_init的格式如下:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexat
2012-07-10 15:06:38 829
转载 linux多线程之pthread_cancel结束线程
摘要:这篇文章主要从一个 Linux 下一个 pthread_cancel 函数引起的多线程死锁小例子出发来说明 Linux 系统对 POSIX 线程取消点的实现方式,以及如何避免因此产生的线程死锁。目录:1. 一个 pthread_cancel 引起的线程死锁小例子2. 取消点(Cancellation Point)3. 取消类型(Cancellation Type)4.
2012-07-10 14:14:43 2929
原创 linux下线程编程的注意到和推荐做法
来自:http://blog.csdn.net/shanzhizi几个误区及注意点: 误区1: 分离线程不能被cancel.这是将pthread_join与pthread_cancel搞混了。thread分离可以在创建时设定,也可以用pthread_detach()在创建后设定。被设定成分离线程后,表明它在退出thread时会自动回收资源。所以不需要pthread_join.
2012-07-10 14:09:11 1332
原创 Linux下线程详解
转载请注明出处:http://blog.csdn.net/shanzhizi线程与进程为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它
2012-07-10 14:02:51 4957
原创 C#语言入门经典推荐
C#入门经典 第3版 网上有下的,不过这本书看起来很无味,但学习后有很大帮助,需要坚持。如果是已经基本入门(大致了解了什么是面向对象,封装,继承,多态)推荐阅读 《你必须知道的.net》作者王涛,微软MVP,这本书是国内少有的经典,有助于提高,可以了解C#的机制原理如果还想再提高,可以读《数据结构(c#版)》,这本书对于逻辑思维的锻炼很强,如果你追求卓越,可以阅读以
2012-07-10 13:16:24 1735
原创 windows下的多线程死锁的彻底解决办法
上篇文章Windows下解决TerminateThread终止线程导致死锁问题中,曾推断方法2会带来隐患,2.1只能减少死锁,不能彻底根除死锁。前几天的几次测试中,确实再次出现死锁,这证明2.1的推断不假。 为了彻底解决死锁问题,必须仔细梳理一下了。程序:A线程——主线程B线程——管理线程C、D、E...线程——工作线程A
2012-07-10 11:20:51 5860
原创 Windows下解决TerminateThread终止线程导致死锁问题
前面提到,调用TerminateThread终止线程曾导致栈变量回收出现问题,进而导致死锁。为了解决这个问题,只能等待各个子线程主动退出,由此导致资源访问的互斥问题。为了解决这个问题,我建立了一个参考模型:食堂进餐。由于食堂老板(应用程序主线程)很忙,所以安排了一个管理员(管理线程)来管理食堂。食堂每天中午12点到12点半开放。起初,来食堂吃饭的人不多,而且附近也没有其他食
2012-07-10 11:12:57 6508
原创 vc中调用TerminateThread终止线程所导致的死锁问题
程序中调用TerminateThread强制终止子线程,结果导致程序死锁。子线程和主线程都使用了一个临界区变量。主线程创建子线程时,会调用临界区,从而对临界区加锁。子线程运行过程中也会对临界区加锁。这原本是不会导致任何问题的。为了便于管理临界区,我定义了一个自动锁的类。CAutoLock自动锁,调用构造函数时,加锁,调用析构函数时,解锁。子线程中,就定义了自动锁的对象。——这个自动
2012-07-10 10:36:38 5329
原创 30本关于asp.net相关的经典书籍推荐
一.入门1.《HTML与CSS入门经典(第7版) 》HTML入门 点评:html语言的入门,由于html极其简单所以同类其他书也可代替,本书并非经典,本书摆在这里纯属占位!你可以用其他书代替。2.《C#入门经典(第3版)》C#入门点评:经典中的经典,个人认为是30本书里最重要的,虽然其他讲C#的好书也很多但大多1.0版的,很多在书店已经绝版,被《程序员》等机构评
2012-07-10 08:45:39 33127 2
转载 xml文件解析--libxml2库函数解释
libxml(一) 摘要 Libxml是一个有免费许可的用于处理XML、可以轻松跨越多个平台的C语言库。这个指南提供它的基本函数的例子。绪论 Libxml是一个实现读、创建及操纵XML数据功能的C语言库。这个指南提供例子代码并给出它基本功能的解释。在这个项目的主页上有Libxml及更多关于它可用的资料。包含
2012-07-08 16:59:12 3319
转载 在xml里增加节点时添加回车(libxml2)
上一个关于libxml2的一篇文章中F. 添加属性例程代码 ,添加的keyword结点后面没有回车,跟后面的结点挤在一行了,不是很好看。例如,有以下的xml例子文件 1xml version="1.0"?> 2BODY> 3 filesystem> 4 filesystemKeyData> 5 filesystemName>Ext3filesy
2012-07-08 16:53:55 4680
原创 使用libxml2实现简单合并两个不同的xml文件
读取两个不同的xml文件,然后从一个xml文件上获取一个节点,让它脱离原来的xml文件,接着将它驳接到另外一个xml文件上去。 可能会遇到的问题:驳接之后,如果对刚驳接进去的节点执行脱离+删除操作的话,会出现莫名的内存出错信息。然而未驳接过的节点直接删除是没问题的。就大概知道为什么会出错了。大概原因是xml文件的节点存储跟xmlDoc有关,如字典缓冲等,就如libxml(htt
2012-07-08 16:37:48 3874
转载 在Linux是使用libxml2---从安装到使用
一、下载和安装LIBXML2【方法一】Libxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换等功能。Libxml2的下载地址是http://xmlsoft.org/完全版的库是开源的,并且带有例子程式和说明文件。由于我是在linux下用C语言进行研发的,所以我下载的是libxml2-2.6.20.tar.gz
2012-07-08 16:15:17 62031 4
转载 Linux服务器监控方案参考
随着Linux应用日益广泛,绝大部分的网络服务器都使用Linux操作系统。为了全面掌握网络服务器的运行状况和趋势,需要对服务器进行全面的监控。利用Linux发行版搭建一个网络服务器可能对于许多人都是一件很容易的事情,但网络服务器正式上线后,服务器数据流动、连接数、网络流量、系统负荷等各方面都会增加,安全问题也随之而来,再考虑到日志、数据库的重要性,我想无论是哪一位系统管理员,都应该迫不及待
2012-07-08 16:02:22 2312
原创 XML文件的解析--非常详细的libxml库函数解释说明并附带实例
libxml(一) 摘要 Libxml是个有免费许可的用于处理XML、能轻松跨越多个平台的C语言库。这个指南提供他的基本函数的例子。绪论 Libxml是个实现读、创建及操纵XML数据功能的C语言库。这个指南提供例子代码并给出他基本功能的解释。在这个项目的主页上有Libxml及更多关于他可用的资料。包含有完整的API文件。这个指南并不能替代这些完整的文件,不过
2012-07-05 14:29:15 6477
原创 libxml2如何解析xml格式的字符串
libxml2xmlReadMemoryxmlParseMemory 网上的大部分关于xml的文章都是处理xml文件的,就没直接处理xml字符串的说明。下面是用libxml2解析xml格式的字符串的函数顺序:1. xmlParseMemory,字符串转为XML文档2. xmlDocGetRootElement,获取XML文档根节点3. x
2012-07-05 13:58:48 7333 2
转载 xml本质讨论
这里的XML不仅仅指XML脚本语言,还包括XML的一系列技术,包括DTD,XSLT,XML SCHEMA,XPATH,DOM,SAX等等)XML的本质是什么?这个问题对于很多XML的初学者来说都不容易回答。因为XML涉及的方面太多,有人是为了写出更漂亮的网页才从HTML进一步学到XML;有人是为了学JAVA才来了解XML;有人是从数据库到XML;有人是从UML到XML;当然还有一些人是从SOA
2012-07-05 11:23:59 1123
转载 LIBXML2库使用指南
C++的XML编程经验――LIBXML2库使用指南写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没
2012-07-05 11:18:46 2291
转载 12款很棒的浏览器兼容性测试工具推荐
对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具。Spoon Browser Sandbox点击你需要测试的浏览器环境,安装插件就可以进行测试了。帮助你测试网页在Safari、Chrome、Firefox和Opera浏览器中是否正常,IE以前也有的,网站上
2012-07-04 21:45:47 690
原创 推荐25个提高网站可用性和转化率的工具
网站建设的核心关键是“如何发现潜在客户并有效的转化为合作客户”,这里提到有效的转化也就是说找到的客户不一定会选用我们的产品或者服务,成为了我们的客户的转化才是有效的转化,那么在竞争如此激烈的网络时代,我们该怎么去挖掘潜在客户并提高我们网站的转化率呢?关键之一就是提高网站的可用性。 对于网站来说,可用性是指用户能否有效地找到所需的信息或完成他的任务,效率如何以及是否让人有愉快满意的感受。如
2012-07-04 21:40:17 1705
原创 测试网站速度的8款免费工具推荐
网站的加载速度是决定网站成败的重要因素,值得站长特别关注。原因很简单,没有人愿意为了打开一个网页而等老半天,换句话说,如果你的网站打开速度很慢,将流失大量的访客,甚至出现多米诺效应的不良影响,因此了解自己网站加载速度非常重要。下面向大家推荐8款非常有用的测试网站速度的免费工具,让你更加全面的了解自己的网站性能。PageSpeed Insights首先介绍的这款测试工具出自goo
2012-07-04 21:36:13 1032
转载 推荐8个在线调试代码的网站---优秀开发工具
对于 Web 开发人员来说,有个快速测试代码的地方是非常方便的。在这篇文章,我们收集了8个非常有用的网站,帮助 Web 开发人员在线调试代码,其中有些站点还可以在线分享和备用代码,这能够帮助你非常方便的和其它的开发人员协作。jsfiddleJsFiddle 是最常用的在线 Web 代码调试工具,可以在线编写HTML、CSS 和 JavaScript 代码,而且还可以分享和嵌入到博客
2012-07-04 21:29:54 1276
原创 linux系统中如何查看日志 (常用命令)
cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UU
2012-07-04 16:36:31 2887
原创 一篇dbus移植的点点滴滴
3个月了,终于把这个问题搞定了,前后学习加动手可能花了1个半月在这个系统搭建上面。我怀着复杂的心情写这篇文章,对很多懂这方面的专家我无话可说,对自己我更不知道该爱还是该恨。 6月中的时候我来到新的公司,接到的第一个任务就是交叉编译dbus,并在目标机上跑起来。我工作快3年了,一直搞的嵌入式开发,说实话在FSK很失败,以前开发环境都是搭好了,我们只是做一些应用程序的开发而已,我自认为最有
2012-07-03 17:28:09 8126 2
原创 一个不错的arm入门建议
1、抓住51开发ARM 这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑? 他们不愿意说有他们自己的理由,没有人强求,靠自己好了。 我自己个人的观点:5
2012-07-03 17:24:59 1840
转载 dbus的hello world
来自:http://blog.csdn.net/chenyufei1013/article/details/6573411 dbus的是一个低延迟,低开销,高可用性的IPC机制。通过dbus的daemon,可以实现进程间通信和函数调用。Windows下,dbus的开发库可以去这里(http://code.google.com/p/dbus-windows-installer/downloa
2012-07-03 14:16:10 1148 1
转载 选择system bus还是session bus?
不同的系统在使用daemon dbus时,有两个选择,可以选择system bus,简单些;也可以使用session bus; 手机不象PC那样有多用户,手机一般就单用户,所以手机系统就一个session, 所以,用system bus和session bus来讲区别不大。 如何用session bus: test@test-desktop
2012-07-03 11:35:05 2860
Java Web系统开发
2014-11-04
java核心技术第1卷
2014-11-03
ASN.1 Communication between Heterogeneous Systems
2013-09-16
linux串口编程从驱动到应用
2013-07-23
IGMP协议rfc1112 2236 3376
2013-03-29
一个MFC的界面库,包括大多数常用控件
2013-03-28
LINUX设备驱动程序(第3版中文版)
2013-02-19
深入理解Linux内核中文第三版(高清有目录完整)
2012-12-27
installshield制作安装包详解
2012-08-25
VC绘图参考类和实例
2012-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人