<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pwpal的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pwpal</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pwpal]]></copyright><item><title><![CDATA[数据挖掘之关联分析的基本概念]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279346</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279346</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:49 +0800</pubDate><description><![CDATA[6.关联分析
6.1.Problem Definition
　　关联分析（Association Analysis）是指从大量的数据集中，搜索出有强关联的规则（Rule），但是这个计算过程通常计算成本很高。建立关联规则的两个重要判据是：Support以及Confidence。Support简单地讲，就是指在数据集中，包含规则中所有Item的条目越多，Support越大，就越能够排除偶然因素的影]]></description><category></category></item><item><title><![CDATA[【Linux】GNU C库 accept函数的逐层下调的研究]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279345</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279345</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:47 +0800</pubDate><description><![CDATA[在我们写的socket程序中，一般都会使用网络套接字API，比如send()、accept()、receive()等函数，那么这些函数在Linux操作系统中是如何实现的呢？我们将通过分析代码对其进行深入的研究。本文中所使用的Glibc库版本为2.0.111，Linux内核版本为Linux 1.2.13。
1.用户层代码
         在程序中我们使用了accept()函数，这个函数的实现是]]></description><category></category></item><item><title><![CDATA[【每天进步一点】2012.04.12]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279344</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279344</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:44 +0800</pubDate><description><![CDATA[上午        上午刚到实验室的时候，先写完了一个程序，在USACO上一次就pass，虽然比较水，但是还是很开心。然后又打电话跟女朋友沟通了一些感情上的问题，说完之后，感觉心情明显好得多了。要不然，可能今天一整天就会用写程序去打发它了。        之后阅读了>的single-source shortest paths章节中的两个算法：Bellman-Ford算法与Dijkstra算法。其中]]></description><category></category></item><item><title><![CDATA[【Windows内核原理与实现】读书笔记（六）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279343</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279343</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:42 +0800</pubDate><description><![CDATA[Windows内核中执行体层负责各种与管理和策略相关的功能，而内核层（或微内核）实现了操作系统的核心机制。  内核层的进程和线程对象        内核层中线程和进程中的数据结构分别是KPROCESS和KTHREAD。其中KPROCESS的定义为：  typedef struct _KPROCESS {
	//这两个头部很少被使用    DISPATCHER_HEADER Header;
	/]]></description><category></category></item><item><title><![CDATA[【Qt学习】（二）第一个Qt程序]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279342</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279342</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:39 +0800</pubDate><description><![CDATA[新建工程
      我们按照上一节所说的办法，新建一个工程，工程名称命名为：First，即我们的第一个Qt应用程序。在弹出的“Qt GUI Project Wizard”中，我们直接下一步，在最后一步的时候，我们在Base Class一栏中，选择QWidget（基础窗口部件）：



      最后点击Finish，VS就为我们建立了新的工程，在Windows自带的解决方案资源管理器]]></description><category></category></item><item><title><![CDATA[【QT学习】（一）配置Qt+VS2008环境]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279341</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279341</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:37 +0800</pubDate><description><![CDATA[Qt是Nokia公司所开发的跨平台应用程序和UI开发框架，我们可以使用它很方便地开发出我们所需要的应用程序。最新的Qt已经是4.8.0版本了，本文以后将用VS2008+Qt来进行所有的应用程序开发。首先我们将介绍如何配置环境。
      首先安装VS2008，最好安装完成之后打上SP1补丁，再安装上我们常用的VC助手（它可以给我们的编程带来很大的方便），之后可以从Nokia的官网上下载我们所需]]></description><category></category></item><item><title><![CDATA[【Windows内核原理与实现】读书笔记（四）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279339</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279339</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:32 +0800</pubDate><description><![CDATA[注册表和配置管理器
Windows操作系统提供了被称为“注册表”的中心存储设施作为系统的配置和管理中心，应用程序和内核通过访问注册表来读写各种设置。Windows提供了一些API供应用程序访问注册表，这些API函数在接到注册表访问请求之后，当它们转发给内核的系统服务。在内核中，执行体包含一个成为“配置管理器”的组件，它是注册表的真正实现。
注册表是一组成为储巢（hive）的文件构成的，每个储巢]]></description><category></category></item><item><title><![CDATA[【Windows内核原理与实现】读书笔记（三）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279338</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279338</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:30 +0800</pubDate><description><![CDATA[Windows内核中对象管理  Windows对象管理器的基本设计意图是：     为执行体的数据结构提供一种统一又可扩展的定义和控制机制。    提供统一的安全访问机制。    在无需修改已有系统代码的情况下，加入新的对象类型。    提供一组标准的API来对对象执行各种操作。    提供一种命名机制，与文件系统的命名机制集成在一起。   每一个对象都由两部分构成：对象头和对象体，所有对象的对象]]></description><category></category></item><item><title><![CDATA[【USACO】两道简单的ACM试题]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279337</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279337</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:27 +0800</pubDate><description><![CDATA[SuperPrime Rib
题目（简述）：
找出某一长度的超级素数。所谓的超级素数，例如7331：其中7331是素数，733是素数，73是素数，7是素数。即每次从该数中去掉最后一位数后，依然是素数的素数，被称为超级素数(superprime)。
 
分析：
判断一个数是不是超级素数，我们需要判断n次，n为这个数的位数。为了使程序更快，我们应该首先判断最高位是不是素数，然后判断最高两位是]]></description><category></category></item><item><title><![CDATA[【Windows内核原理与实现】读书笔记（二）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279336</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279336</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:25 +0800</pubDate><description><![CDATA[内容：43—51页
处理器模式
　　在Intelx86处理器上，段描述符有一个2位长度的特权级：0表示最高特权级，3表示最低特权级。Windows只使用0和3两种特权级。特权级0表示CPU处于内核模式，3表示用户模式。处理器有许多指令只能够在特权级0的模式下使用，例如I/O指令，操纵内部寄存器（如GDT、IDT、MSR）的指令等。在Windows中，当处理器位于用户模式下，处理器只能访问当前进]]></description><category></category></item><item><title><![CDATA[【Windows内核原理与实现】读书笔记（一）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279335</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279335</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:22 +0800</pubDate><description><![CDATA[内容：18—42页
 
　　操作系统本身属于软件的范畴，但它与底层硬件打交道，为上层应用软件或应用程序提供了一层抽象，专门负责硬件资源的管理与分配。应用软件不直接使用硬件，而是通过操作系统提供的功能来实现各种应用任务。
 
　　LPC：进程间通信
 
　　现代操作系统的基本结构：

应用环境-----------系统环境----------硬件设备
               ]]></description><category></category></item><item><title><![CDATA[【翻译】深入解析Windows操作系统（第五版）-第一章]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279334</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279334</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:20 +0800</pubDate><description><![CDATA[第一章
概念与工具
         在这个章节，我们将介绍有关微软windows操作系统的概念和词汇，比如Windows API、进程、线程、虚拟内存、内核模式和用户模式、对象、句柄、安全以及注册表，它们将贯穿于整本书。我们同样将介绍一些能够帮助我们“遨游”Windows内核世界的工具，如内核调试器、可靠性与性能监视器以及从Windows Sysinternals（www.microsoft]]></description><category></category></item><item><title><![CDATA[【经典数据结构算法】（4）二叉树求和为定值的所有路径]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279333</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279333</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:17 +0800</pubDate><description><![CDATA[1 /* 2  题目：输入一个整数和一颗二叉树。 3     从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 4     打印出与输入整数相等的所有路径。 5     例如 输入整数22和如下二元树 6       10 7       / \ 8      5   12 9     / \10    4   711     则打印出两条路径：10，12和12，5，712  分]]></description><category></category></item><item><title><![CDATA[【WindowsDDK】内核字符串操作蓝屏的一个解决办法]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279332</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279332</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:14 +0800</pubDate><description><![CDATA[前一段时间参加了学校的网络安全竞赛。其中有一道题目是“拦截注册表”，使用SSDT HOOK ZwSetKeyValue函数。在自己的ZwSetKeyValue函数中，需要对传递进来的注册表路径与设定好的注册表路径进行匹配（ANSII 比较），如果一样，则被拦截。否则，则放行。
　　虽然在Windows内核中并不推荐使用C语言的字符串操作的库函数，但又没有其他好的办法的时候仍然需要使用。我在程序中]]></description><category></category></item><item><title><![CDATA[【杂】心神不宁，胡思乱想]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279331</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279331</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:12 +0800</pubDate><description><![CDATA[还是如此的把持不定，别人对自己好一些，就觉得有那么些可能。前天晚上的那话，已经是第二个人那样说了。只是现在的情形又不比以前。以前可以大大咧咧地去做，毫无忌惮地去迎合，偶尔狠一下心还能做出一些自己从来不敢做的事情。失败了又如何？但是现在，面对的却是我在交大为数不多的可做为朋友的人，在我眼里是接近于美好的存在。加上以前的挫败自己更加小心翼翼，不想因为一次冒失而失去所有甚至连见面都感到尴尬。
　　后天]]></description><category></category></item><item><title><![CDATA[【经典数据结构算法】（3）最大子数组和]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279330</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279330</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:09 +0800</pubDate><description><![CDATA[1 /************************************************************************/ 2 /*  3 题目: 4     输入一个整型数组，数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组，每一个子数组都有一个和。 5     求所有子数组的和的最大值。要求时间复杂度为O(n)。 6     例如： 7       ]]></description><category></category></item><item><title><![CDATA[【经典数据结构算法】（2）设计包含min的栈]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279328</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279328</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:07 +0800</pubDate><description><![CDATA[1 /*  2  *    题目：  3  *    设计包含min的栈  4  *    定义栈的数据结构，要求添加一个min函数，能够得到栈的最小元素。  5  *    要求函数min、push以及pop的时间复杂度都是O(1)  6  */  7   8 /*  9  *    分析： 10  *    自己曾经用了一天时间，也没有想出，后来看了别人的分析才知道比较好的解答方法。 11  ]]></description><category></category></item><item><title><![CDATA[【经典数据结构算法】（1）二叉查找树与双向链表之间的转换]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279327</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279327</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:04 +0800</pubDate><description><![CDATA[题目参看csdn上的一个很经典的帖子，http://topic.youkuaiyun.com/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html?60918。但代码都是自己使用C语言写的，思路基本上都是自己想出的，如果参考了帖子上别人的思想，则会注明。

  1 /*  2  *    将二元查找树转变为排序的双向链表  3  *    题目：输]]></description><category></category></item><item><title><![CDATA[【Windows编程】基于USB设备的开机锁]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279326</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279326</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:02 +0800</pubDate><description><![CDATA[*代码参考了《黑客防线2011精华奉献本上册》的文章《U盘打造开机锁》。
原理
 　　U盘是一种即插即用的可移动设备（PnP），它具有VID、PID以及产品序列号等可以标识其身份。引用一下文章来浅要介绍一下VID与PID的相关内容：

　　不同的U盘具有不同的序列号，因此我们可以通过识别U盘的序列号来判断该计算机上是否插有该U盘，如果没有则会强制关机，如果有U盘的话，则可以进行操作。这就是]]></description><category></category></item><item><title><![CDATA[【数据结构复习】（2）线性表（一）]]></title><link>https://blog.youkuaiyun.com/pwpal/article/details/8279325</link><guid>https://blog.youkuaiyun.com/pwpal/article/details/8279325</guid><author>pwpal</author><pubDate>Mon, 10 Dec 2012 18:05:00 +0800</pubDate><description><![CDATA[线性表的定义
　　线性表是最简单的数据结构，一个线性表是由n个数据元素的有限序列。具有下列特点：
　　　　（1）存在唯一一个被称为“第一个”的数据元素；
　　　　（2）存在唯一一个被称为“最后一个”的数据元素；
　　　　（3）除了第一个之外，集合中的每一个数据元素均只有一个前驱；
　　　　（4）除最后一个之外，集合中的每一个数据元素均只有一个后继。
线性表的实现
　　下面在Visua]]></description><category></category></item></channel></rss>